我是猪的新手。
我在pig中编写了一个小脚本,其中我首先从两个不同的表中加载数据,然后右外连接两个表,后来我还有两个不同的st数据表的下一个连接。它工作正常但我想看 执行的步骤,就像在哪个步骤加载我的数据,我可以记录时间 需要加载数据加入的后续步骤详细信息,例如多长时间 考虑加入这些记录。
基本上我想知道我的猪脚本的哪一部分需要更长的时间来运行 这样我就可以进一步优化我的猪脚本。
无论如何,我们可以在脚本中打印并找到已经开始执行的步骤。
通过jobtracker详细信息链接我无法获得太多信息,只能看到mapper正在运行& reducer正在运行,但是运行脚本部分的idealy mapper无法找到它。
例如,对于hive作业运行,我们可以在jobtracker详细信息链接中看到当前正在执行的步骤。
任何信息都会非常有用。
提前致谢。
答案 0 :(得分:1)
我建议您查看以下内容:
另一方面,执行脚本后,您可以看到有关每个别名执行时间的详细统计信息(请参阅:作业统计信息(以秒为单位的时间))。
答案 1 :(得分:1)
查看EXPLAIN
operator。这不会为您的代码执行时提供实时统计信息,但它应该为您提供有关脚本生成的MapReduce计划的足够信息,以便您能够将MR作业与脚本中的步骤进行匹配。 / p>
此外,在脚本运行时,您可以检查Hadoop作业的配置。查看变量“pig.alias”和“pig.job.feature”。它们分别告诉您哪个别名(表/关系)涉及该作业以及正在使用哪些Pig操作(例如,JOIN
步骤的HASH_JOIN,ORDER BY
的SAMPLER或ORDER BY步骤,等等)。此信息也可在完成后输出到控制台的作业统计信息中使用。