我使用AvroStorage来存储 pig 的结果集。有什么方法可以将数据存储到一个指定的avro文件中?例如OutputFileGen1? Pig将数据存储到名为OutpuFileGen1的目录中,其结构如下所示:
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
谢谢
最佳答案
Pig输出目录中的零件数取决于您的工作要执行多少个并行任务。在这里,您只有一个文件:part-m-00000。
http://pig.apache.org/docs/r0.8.1/cookbook.html#Use+the+Parallel+Features
但是也许您只是想要一个文件,所以如果要获取此文件,我建议使用hadoop fs -getmerge <src dir> <target dir>
命令在本地文件系统中获取文件,以便使用其中包含的数据。