【发布时间】:2018-01-18 05:43:07
【问题描述】:
以下是我的 csv 文件中的内容:
A1,B1,C1
A2,B2,C2,D1
A3,B3,C3,D2,E1
A4,B4,C4,D3
A5,B5,C5,,E2
所以,有 5 列,但第一行只有 3 个值。
我使用以下命令阅读它:
val csvDF : DataFrame = spark.read
.option("header", "false")
.option("delimiter", ",")
.option("inferSchema", "false")
.csv("file.csv")
以下是我使用 csvDF.show() 得到的结果
+---+---+---+
|_c0|_c1|_c2|
+---+---+---+
| A1| B1| C1|
| A2| B2| C2|
| A3| B3| C3|
| A4| B4| C4|
| A5| B5| C5|
+---+---+---+
如何读取所有列中的所有数据?
【问题讨论】:
-
是否可以将所有 5 列添加到每一行?就像第 1 行而不是 A1,B1,C1 一样,它是 A1,B1,C1,,
-
这只是一种解决方法,如果 csv 由其他人管理,则将无法使用。
-
手动指定架构
-
如果我们不知道schema,csv中的内容事先不知道怎么办。
-
csv中的所有内容都可以指定为StringType
标签: apache-spark apache-spark-sql apache-spark-2.0 spark-csv