我可以 auto-load csv headers 来自 Zeppelin 上的 scala spark window 的单独文件吗?
Can I auto-load csv headers from a separate file for a scala spark window on Zeppelin?
我有一个存储为大量 gzip 压缩 csv 文件的数据源。此来源的 header 信息是一个单独的文件。
我想将此数据加载到 spark 中进行操作 - 是否有一种简单的方法可以让 spark 计算出 schema/load 和 headers?字面上有数百列,它们可能会在运行之间发生变化,强烈希望不要手动执行此操作
这可以在 spark 中轻松完成:
如果您的头文件是:headers.csv 并且它只包含头文件,那么只需首先加载此文件并将头文件设置为 true :
val headerCSV = spark.read.format("CSV").option("header","true").load("/home/shivansh/Desktop/header.csv")
然后将Columns以Array的形式取出来:
val columns = headerCSV.columns
然后读取另一个没有头信息的文件,将这个文件作为头传递:
spark.read.format("CSV").load("/home/shivansh/Desktop/fileWithoutHeader.csv").toDF(columns:_*)
这将导致 DF 具有组合值!
我有一个存储为大量 gzip 压缩 csv 文件的数据源。此来源的 header 信息是一个单独的文件。
我想将此数据加载到 spark 中进行操作 - 是否有一种简单的方法可以让 spark 计算出 schema/load 和 headers?字面上有数百列,它们可能会在运行之间发生变化,强烈希望不要手动执行此操作
这可以在 spark 中轻松完成: 如果您的头文件是:headers.csv 并且它只包含头文件,那么只需首先加载此文件并将头文件设置为 true :
val headerCSV = spark.read.format("CSV").option("header","true").load("/home/shivansh/Desktop/header.csv")
然后将Columns以Array的形式取出来:
val columns = headerCSV.columns
然后读取另一个没有头信息的文件,将这个文件作为头传递:
spark.read.format("CSV").load("/home/shivansh/Desktop/fileWithoutHeader.csv").toDF(columns:_*)
这将导致 DF 具有组合值!