blu*_*lds 2 csv scala apache-spark apache-zeppelin
我有一个数据源,它存储为大量的 gzipped csv 文件。此源的标头信息是一个单独的文件。
我想将这些数据加载到 spark 中进行操作 - 有没有一种简单的方法可以让 spark 找出模式/加载标题?字面上有数百列,并且它们可能会在运行之间发生变化,强烈建议不要手动执行此操作
这可以在 spark 中轻松完成:如果您的头文件是:headers.csv 并且它只包含头文件,那么只需首先加载此文件并将头文件设置为 true :
val headerCSV = spark.read.format("CSV").option("header","true").load("/home/shivansh/Desktop/header.csv")
Run Code Online (Sandbox Code Playgroud)
然后以数组的形式取出列:
val columns = headerCSV.columns
Run Code Online (Sandbox Code Playgroud)
然后读取另一个没有头信息的文件,并将这个文件作为头传递:
spark.read.format("CSV").load("/home/shivansh/Desktop/fileWithoutHeader.csv").toDF(columns:_*)
Run Code Online (Sandbox Code Playgroud)
这将导致具有组合值的 DF!
| 归档时间: |
|
| 查看次数: |
1109 次 |
| 最近记录: |