微调PIG以进行本地执行

时间:2010-12-16 12:25:22

标签: hadoop mapreduce apache-pig

我正在使用PIG拉丁语进行日志处理,因为它在数据不足以担心设置整个hadoop集群的问题中表现力强。我在本地模式下运行PIG但我认为它没有使用它可用的所有内核(目前只有16个),监视CPU显示最多200%的CPU使用率。

是否有任何针对本地执行微调PIG的教程或建议?我确信所有的映射器都可以通过一些简单的调整来使用所有可用的内核。 (在我的脚本中,我已经将default_parallel参数设置为20)

最好的问候。

1 个答案:

答案 0 :(得分:5)

Pig's documentation清楚地表明本地操作旨在运行单线程,为某些函数采用不同的代码路径,否则这些函数将使用分布式排序。因此,优化Pig的本地模式似乎是对所提出问题的错误解决方案。

您是否考虑过运行本地“伪分布式”群集而不是投资完整群集设置?您可以关注Hadoop's instructions for pseudo-distributed operation,,然后点击猪localhost。这将产生预期的结果,代价是两步启动和拆卸。

您需要增加默认映射器和缩减器的数量,以使用计算机上可用的所有核心。幸运的是,这是相当充分的文件记录(诚然,在cluster setup documentation);只需在mapred.tasktracker.map.tasks.maximum的本地副本中定义mapred.tasktracker.reduce.tasks.maximum$HADOOP_HOME/conf/mapred-site.xml