Обработка полунегомогенных структурированных файлов с помощью Spark (CSV, Parquet) - PullRequest
0 голосов
/ 27 июня 2018

У меня есть несколько неоднородных структурированных файлов, хранящихся в кластере Hadoop. Файлы содержат строку заголовка, но не все файлы содержат одинаковые столбцы.

file1.csv:

a,b,c
1,2,1

file2.csv:

a,b,d
2,2,2

Что мне нужно сделать, так это найти все данные в столбце a или столбце c и обработать их дальше (возможно, Spark SQL). Так что я ожидаю что-то вроде:

a,b,c,d
1,2,1,,
2,2,,2

Просто делаю

spark.read.format("csv").option("header", "true").load(CSV_PATH)

пропустит все столбцы, отсутствующие в «первом» прочитанном файле.

Как я могу это сделать? Является ли преобразование в Parquet и его набор данных более подходящим?

1 Ответ

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

Прочитайте два файла отдельно и создайте два кадра данных. Затем выполните внутреннее соединение между этими двумя ключами соединения w.r.t как a, b

...