Как перегруппировать несколько файлов в один? - PullRequest
0 голосов
/ 12 декабря 2018

Я новичок в Spark, и мне нужно перегруппировать все данные, хранящиеся в нескольких файлах, в один.

Примечание : я уже использовал Talend, и моя цель - сделатьто же самое, но с Spark (scala).

Пример :

Файл 1:

id | attr1.1 | attr1.2 | attr1.3
1  |   aaa   |   aab   |   aac
2  |   aad   |   aae   |   aaf

Файл 2:

id | attr2.1 | attr2.2 | attr2.3
1  |   lll   |   llm   |   lln
2  |   llo   |   llp   |   llq

Файл 3:

id | attr3.1 | attr3.2 | attr3.3
1  |   sss   |   sst   |   ssu
2  |   ssv   |   ssw   |   ssx

Желаемый результат:

id |attr1.1|attr1.2|attr1.3|attr2.1|attr2.2|attr2.3|attr3.1|attr3.2|attr3.3
1  |  aaa  |  aab  |  aac  |  lll  |  llm  |  lln  |  sss  |  sst  |  ssu
2  |  aad  |  aae  |  aaf  |  llo  |  llp  |  llq  |  ssv  |  ssw  |  ssx

У меня есть 9 файлов о заказах, клиентах, товарах ... И нескольких сотнях тысяч строк, поэтому я должен использовать Spark.К счастью, данные могут быть связаны с идентификаторами.

Формат файла .csv.

Конечная цель : Конечная цель - сделать некоторые визуализации из файла, созданного Spark.

Вопрос : Итак, не могли бы вы дать мне несколько подсказок для выполнения этой задачи, пожалуйста?Я видел несколько способов с RDD или DataFrame, но я полностью потерян ...

Спасибо

1 Ответ

0 голосов
/ 12 декабря 2018

вы ничего не указали в исходных форматах файлов, поэтому, предполагая, что они есть в фреймах данных f1, f2 ... вы можете создать унифицированный фрейм данных, присоединив их val unified=f1.join(f2,f1("id")===f2("id")).join(f3, f1("id")===f3("id"))....

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...