Spark-连续的管道分隔符被读取为一个



我有一个文件,里面有空行的列,比如:

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

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

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

我发现了以下相关链接,但没有发现任何关于火花的内容。https://kb.iu.edu/d/bcjf

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

确保使用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|
+---+---+----+----+----+------+------+----+----+----+----+

似乎没有缺少列顺序!

最新更新