在 Spark 中读取不同的 csv 文件
Posted
技术标签:
【中文标题】在 Spark 中读取不同的 csv 文件【英文标题】:Read different csv file in Spark 【发布时间】:2021-02-12 04:26:01 【问题描述】:我在同一个存储位置目录中有 2 个 csv 文件。
第一个 csv 文件:
id name age
1 Hi 20
2 Hello 21
第二个 csv 文件:
id name age country
3 hi1 20 India
当我通过 spark 阅读时
spark.read.format("csv").option("inferschema","true").load("<location>")
我可以看到所有数据,对于 id 1 和 2,国家/地区为 NULL,但我得到了两个标题。
电流输出:
_c0 | _c1 | _c2 | _c3 | _c4
id |name |country| age | lastname
3 |dfg |US | 45 | HI
4 |ghj |US1 | 33 | Hello
id | name |country|age | null
1 |asd | India |21 | null
2 |sdf |Australia|20 | null
如何在spark中获取以所有列为标题的数据框和对应的数据。
预期输出:
id |name |country| age | lastname
3 |dfg |US | 45 | HI
4 |ghj |US1 | 33 | Hello
1 |asd | India |21 | null
2 |sdf |Australia|20 | null
【问题讨论】:
有点不清楚你的目标是什么。您能否添加当前和预期的输出? 更新了查询 添加header的option等于true like .option("header","true") 【参考方案1】:您只需要通过指定 header 选项为 true 来告诉 spark 您正在读取的 csv 文件中有标题。
您可以在以下文件夹中读取您的 csv 文件:
val df = spark.read.format("csv").option("inferschema","true").option("header","true").load("<location>")
你可以看到如下输出:
【讨论】:
以上是关于在 Spark 中读取不同的 csv 文件的主要内容,如果未能解决你的问题,请参考以下文章
在 Spark 中从具有不同标头的 CSV 文件形成 DataFrame