火花连续的管道定界符被视为一个

问题描述 投票:0回答:1

我有一个带有空行的列,例如:

1|2|abc||||random|12|||

1|2||||random|12|||151|

在将delimeter选项设置为|的情况下以火花读取,连续的管道将被读取为| |。并且数据正在向左移动,或者在某些情况下我的插入失败。

我找到了以下相关链接,但与spark无关。https://kb.iu.edu/d/bcjf

如何在Spark中正确读取这样的文件?

file apache-spark delimiter
1个回答
0
投票

确保您正在使用csv格式读取文件,并将定界符选项指定为"|"

Example:

spark.read.option("delimiter","|").format("csv").load("t.txt").show()
+---+---+----+----+----+------+------+----+----+----+----+
|_c0|_c1| _c2| _c3| _c4|   _c5|   _c6| _c7| _c8| _c9|_c10|
+---+---+----+----+----+------+------+----+----+----+----+
|  1|  2| abc|null|null|  null|random|  12|null|null|null|
|  1|  2|null|null|null|random|    12|null|null| 151|null|
+---+---+----+----+----+------+------+----+----+----+----+

似乎没有缺少列的顺序!

© www.soinside.com 2019 - 2024. All rights reserved.