Как объединить файлы CSV в Hadoop? - PullRequest
0 голосов
/ 06 декабря 2018

Я новичок в среде Hadoop и хотел бы объединить 4 CSV-файла в один файл.

Все 4 CSV-файла имеют одинаковые заголовки и порядок также одинаков.

Ответы [ 2 ]

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

попробуйте использовать утилиту getmerge для объединения файлов csv, например, у вас есть пара EMP_FILE1.csv EMP_FILE2.csv EMP_FILE3.csv размещены в некотором месте в hdfs.Вы можете объединить все эти файлы и можете поместить файл слияния в каком-то новом месте.

hadoop fs -getmerge / hdfsfilelocation / EMP_FILE * /newhdfsfilelocation/MERGED_EMP_FILE.csv

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

Я не думаю, что Свинья STORE предлагает такую ​​функцию.

Вы можете использовать функцию Spark coalesce(1), однако для этого нет особых оснований, поскольку почти все инструменты обработки Hadoop предпочитают читать каталоги, а не файлы.

В идеале, в любом случае, вы не должны хранить сырые файлы CSV в Hadoop очень долго, а скорее конвертировать их в ORC или Parquet в виде столбчатых данных.Особенно если вы уже читаете CSV - не выводите CSV снова.


Если идея состоит в том, чтобы создать один CSV для последующей загрузки, то я бы предложил использовать Hive + Beeline, чтобы сделать это

Это сохранит результат в файле в локальная файловая система .

beeline -u 'jdbc:hive2://[databaseaddress]' --outputformat=csv2 -f yourSQlFile.sql > theFileWhereToStoreTheData.csv 
...