为什么elephantbird Pig JsonLoader只处理我文件的一部分?

时间:2011-04-28 20:33:16

标签: hadoop apache-pig amazon-emr

我在Amazon的Elastic Map-Reduce上使用Pig进行批量分析。我的输入文件在S3上,包含每行一个JSON字典表示的事件。我使用elephantbird JsonLoader库来解析输入文件。到目前为止一切都很好。

我遇到了在交互式Pig会话中处理存储在本地文件系统或hdfs上的大文件的问题。看起来如果输入文件足够大以便分割,只有一个分割由elephantbird处理,并且处理在分割结束时停止,没有错误消息。如果我从S3输入输入(在S3输入上没有文件分割),或者我将文件转换为Pig可直接读取的格式,我就没有同样的问题。

对于一个具体的例子:一个包含833,138行的文件最多只能处理379,751行(如果我在Pig中观察完成百分比,它会顺利地达到50%,然后跳到100%)。我还尝试了一个包含400,000行的文件,处理得很好。

所以我的问题是:为什么只有一只由大象处理的分裂?我是否误解了猪在互动模式下应该如何运作,或者是否存在一些严重的错误?

1 个答案:

答案 0 :(得分:0)

Katia,如果您通过电子邮件发送Pig用户列表,您将获得更快的帮助:)。

请尝试使用Pig 0.8.1(当前版本),如果仍然出现错误,请告诉我们。值得一提的是,我已经使用EB Json加载器一年多了一百个gig文件并且处理得很好,所以也许有关于你的数据的东西。

Spike Gronim - 已经修复,本地模式现在大部分都是相同的(除了分布式缓存和偏斜连接之类的东西)到非本地模式。升级。

相关问题