Spark Scala: Как прочитать файл с фиксированной длиной записи - PullRequest
0 голосов
/ 05 июня 2018

У меня простой вопрос.

«Как читать файлы с фиксированной длиной записи?» У меня есть 2 поля в имени записи и состоянии.

Данные файла-

Джон Огайо
VictorNEWYORK
Рон КАЛИФОРНИЯ

Формат файла-

Имя Строка (6);

State String (10);

Я просто хочу прочитать его и создать DataFrame из этого файла.Просто для более подробной информации, например, о «фиксированной длине записи» - если вы видите, что «OHIO» имеет длину 4 символа, в файле он заполнен 6 конечными пробелами «OHIO»

Длина записи здесь равна 16.

Спасибо, Сид

1 Ответ

0 голосов
/ 05 июня 2018

Прочитайте ваш входной файл:

val rdd = sc.textFile('your_file_path')

Затем используйте подстроку для разделения полей и затем преобразуйте RDD в Dataframe, используя toDF ().

val df = rdd.map(l => (l.substring(0, 6).trim(), l.substring(6, 16).trim()))
  .toDF("Name","State")

df.show(false)

Результат:

+------+----------+
|Name  |State     |
+------+----------+
|John  |OHIO      |
|Victor|NEWYORK   |
|Ron   |CALIFORNIA|
+------+----------+   
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...