【问题标题】:how to assign column names available in csv file as header to orc file如何将csv文件中可用的列名作为标题分配给orc文件
【发布时间】:2020-07-27 10:45:35
【问题描述】:

我在一个 .csv 文件中有列名,并希望将它们作为列标题分配给 scala 中的数据框。由于它是通用脚本,我不想在脚本中硬编码,而是从 csv 文件中传递值。

【问题讨论】:

  • 我的 csv 文件有 fname、lname、phone 的记录,数据框中的数据是 john smith 1234567 justin bieber 797800 stokes kassis 87697080 我想将 csv 文件中可用的标头分配给这个数据框数据

标签: scala csv dataframe header


【解决方案1】:

你可以做到的:

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")

但是将数据模式与数据分开存储是个坏主意

【讨论】:

  • 如何在python中做同样的事情?
猜你喜欢
  • 2019-05-04
  • 1970-01-01
  • 2019-06-26
  • 2021-04-09
  • 2014-01-29
  • 1970-01-01
  • 1970-01-01
  • 2019-07-01
  • 2022-12-22
相关资源
最近更新 更多