我在一个.csv文件中有列名,并希望将这些列名作为列标题分配给scala中的Data Frame。由于它是通用脚本,我不想在脚本中硬编码,而是从csv文件中传递值。
你可以做到:
val columns = spark.read.option("header","true").csv("path_to_csv").schema.fieldNames
val df: DataFrame = ???
df.toDF(columns:_*).write.format("orc").save("your_orc_dir")
在pyspark:中
columns = spark.read.option("header","true").csv("path_to_csv").columns
df.toDF(columns).write.format("orc").save("your_orc_dir")
但是将数据模式与数据分开存储是个坏主意