我有如下记录。
空格分隔/分隔:
2015-07-22 5555 9999 "abc bbc 777" "FFF/5.0 (NTFS NT 6.1)"
2015-07-16 1111 7777 "7873 b34 bt57" "77/99 (TT; 420; ty:39.0) aa/11.0"
我想知道是否有任何直接的方法来分割/分离字段4和5,如果它们是双引号 使用sc.textfile和spark.read.format()?
预期产出:
-------------------------------------------------------------------------------------------------
Date |Value1 |Value2 |Value3 |Value3 |
-------------------------------------------------------------------------------------------------
2015-07-22 |5555 |9999 |abc bbc 777 |FFF/5.0 (NTFS NT 6.1)
2015-07-16 |1111 |7777 |7873 b34 bt57 |77/99 (TT; 420; ty:39.0) aa/11.0 |
-------------------------------------------------------------------------------------------------
如果已经有类似的解决方案,请指出。任何帮助将不胜感激!!
答案 0 :(得分:2)
标准csv阅读器将能够正确读取此格式
scala> spark.read.option("delimiter", " ").csv(pathToFile).show
+----------+----+----+-------------+--------------------+
| _c0| _c1| _c2| _c3| _c4|
+----------+----+----+-------------+--------------------+
|2015-07-22|5555|9999| abc bbc 777|FFF/5.0 (NTFS NT ...|
|2015-07-16|1111|7777|7873 b34 bt57|77/99 (TT; 420; t...|
+----------+----+----+-------------+--------------------+