2016-01-19 3 views
0

Я использую AvroStorage для хранения набора результатов от свиньи. Есть ли способ, каким образом я могу хранить данные в одном указанном файле avro ... например OutputFileGen1? Свинья хранения данных в каталог с именем OutpuFileGen1 со структурой, как указано ниже:AvroStorage - определение выходного файла

ls -al OutputFileGen1/ 
total 20 
drwxr-xr-x 2 root root 4096 2016-01-18 14:35 . 
drwxr-xr-x 6 root root 4096 2016-01-19 10:27 .. 
-rw-r--r-- 1 root root 4083 2016-01-18 14:35 part-m-00000.avro 
-rw-r--r-- 1 root root 40 2016-01-18 14:35 .part-m-00000.avro.crc 
-rw-r--r-- 1 root root 0 2016-01-18 14:35 _SUCCESS 
-rw-r--r-- 1 root root 8 2016-01-18 14:35 ._SUCCESS.crc 

Спасибо

ответ

1

Количество части в выходном каталоге свинки зависит от того, сколько параллельных задач ваша работа делает. Здесь у вас есть только один файл: part-m-00000.

http://pig.apache.org/docs/r0.8.1/cookbook.html#Use+the+Parallel+Features

Но, может быть, вы хотите один файл в целях, так что если вы хотите получить этот файл я предлагаю использовать команду hadoop fs -getmerge <src dir> <target dir>, чтобы получить файл в локальной файловой системе для того, чтобы использовать данные это содержит.

+0

Могу ли я выполнить -getmerge , так что целевой каталог, основанный на требованиях, будет hdfs или локальной FS? – heap

+0

Я не думаю, что вы можете объединить несколько файлов в один на локальной системе без HDFS FS ;-( – heap

+0

Хорошо, работает и с местными FS. – heap

Смежные вопросы