Spark: разделение пробела / разбора плюс строки в кавычках - PullRequest
0 голосов
/ 14 мая 2018

У меня есть записи, подобные приведенным ниже.

Разделенные пробелами / разделенные:

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 |
    -------------------------------------------------------------------------------------------------

Если решение, подобное этому, уже существует, укажите это.Любая помощь будет высоко ценится!

1 Ответ

0 голосов
/ 15 мая 2018

Стандартный 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...|
+----------+----+----+-------------+--------------------+
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...