2011-03-11 58 views
1

我有这个文件包含Hadoop中的数据列表。我已经构建了一个简单的Pig脚本,它通过ID号来分析文件,依此类推...使用Hadoop Pig生成多个输出

我正在寻找的最后一步是这样的:我想创建(存储)每个唯一ID号的文件。所以这应该取决于一个小组步骤...但是,我不明白这是否可能(可能有一个自定义商店模块?)。

有什么想法?

感谢

丹尼尔

回答

0

为得到你需要将数据分配给一个变量输出(文件或任何东西),那它如何与STORE工作。如果身份证是有限的和有限的,你可以FILTER他们一个接一个然后STORE他们。 (我总是这样做,约20-25的行动类型)。

但是,如果你需要得到每个唯一的id文件不好,然后制作2个文件。 1,其中整个数据按ID分组,1只有唯一的ID。然后尝试生成1(或更多,如果你有太多)猪脚本FILTER BY该ID。但这是一个不好的解决方案。假设你会在猪脚本中分组10个ID,你将拥有(唯一ID号/ 10)猪脚本来运行。

请注意,Hdfs不善于处理太多的小文件。

编辑: 更好的解决方案是将GROUP和SORT通过唯一ID发送到一个大文件。然后,由于它的排序,你可以很容易地将内容与第三方脚本分开。

2

虽然记住什么是说脆弱,MultiStorage,在PiggyBank,似乎是你在找什么。