Если вы работаете в кластере Hortonworks и хотите объединить несколько файлов, представленных в папке HDFS, в один файл, вы можете запустить jad 'hadoop-streaming-2.7.1.2.3.2.0-2950.jar', который запускает один редуктори получите объединенный файл в выходной каталог HDFS.
$ hadoop jar /usr/hdp/2.3.2.0-2950/hadoop-mapreduce/hadoop-streaming-2.7.1.2.3.2.0-2950.jar \
-Dmapred.reduce.tasks=1 \
-input "/hdfs/input/dir" \
-output "/hdfs/output/dir" \
-mapper cat \
-reducer cat
Вы можете загрузить эту банку с Получить банку потоковой передачи hadoop
Если вы пишете искровые задания и хотите получить объединенный файл, чтобы избежать нескольких созданий RDD иузкие места в производительности используют этот кусок кода перед преобразованием вашего RDD
sc.textFile("hdfs://...../part*).coalesce(1).saveAsTextFile("hdfs://...../filename)
Это объединит все файлы деталей в один и сохранит их снова в папку hdfs