猪步执行细节

时间:2013-03-15 06:04:39

标签: apache-pig

我是猪的新手。

我在pig中编写了一个小脚本,其中我首先从两个不同的表中加载数据,然后右外连接两个表,后来我还有两个不同的st数据表的下一个连接。它工作正常但我想看 执行的步骤,就像在哪个步骤加载我的数据,我可以记录时间 需要加载数据加入的后续步骤详细信息,例如多长时间 考虑加入这些记录。

基本上我想知道我的猪脚本的哪一部分需要更长的时间来运行 这样我就可以进一步优化我的猪脚本。

无论如何,我们可以在脚本中打印并找到已经开始执行的步骤。

通过jobtracker详细信息链接我无法获得太多信息,只能看到mapper正在运行& reducer正在运行,但是运行脚本部分的idealy mapper无法找到它。

例如,对于hive作业运行,我们可以在jobtracker详细信息链接中看到当前正在执行的步骤。

任何信息都会非常有用。

提前致谢。

2 个答案:

答案 0 :(得分:1)

我建议您查看以下内容:

另一方面,执行脚本后,您可以看到有关每个别名执行时间的详细统计信息(请参阅:作业统计信息(以秒为单位的时间))。

答案 1 :(得分:1)

查看EXPLAIN operator。这不会为您的代码执行时提供实时统计信息,但它应该为您提供有关脚本生成的MapReduce计划的足够信息,以便您能够将MR作业与脚本中的步骤进行匹配。 / p>

此外,在脚本运行时,您可以检查Hadoop作业的配置。查看变量“pig.alias”和“pig.job.feature”。它们分别告诉您哪个别名(表/关系)涉及该作业以及正在使用哪些Pig操作(例如,JOIN步骤的HASH_JOIN,ORDER BY的SAMPLER或ORDER BY步骤,等等)。此信息也可在完成后输出到控制台的作业统计信息中使用。