【问题标题】:Read different csv file in Spark在 Spark 中读取不同的 csv 文件
【发布时间】: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")

标签: apache-spark apache-spark-sql


【解决方案1】:

您只需要通过指定 header 选项为 true 来告诉 spark 您正在读取的 csv 文件中有标题。

您可以在以下文件夹中读取您的 csv 文件:

val df = spark.read.format("csv").option("inferschema","true").option("header","true").load("<location>")

你可以看到如下输出:

【讨论】:

    猜你喜欢
    • 2016-01-03
    • 2020-11-12
    • 2021-03-30
    • 2021-10-11
    • 2019-02-08
    • 1970-01-01
    • 2021-10-16
    • 2023-03-26
    • 1970-01-01
    相关资源
    最近更新 更多