pig程序只是无缘无故地停留在一个阶段

zte4gxcn  于 2021-05-29  发布在  Hadoop
关注(0)|答案(2)|浏览(392)

我正在处理一个大小为400 mb的数据,这个脚本有5个不同的部分和5个存储命令,如果我一次只切换一个存储命令来评论所有其他的命令,pig脚本的工作非常出色。但是如果所有5个store命令都打开,job browser(hue)就不会停留在特定的阶段,然后它就会继续重新尝试一个没有进展的作业。没有错误,日志也没有错误和警告。
我认识到这个问题可能是由于环境问题造成的,因为脚本在使用-m属性时也有一次运行良好,但另一次失败了。

iq0todco

iq0todco1#

此错误是由yarn使用的资源分配策略造成的。当磁盘已满时,它会导致节点变得不正常,从而减少内存。目前,yarn调度器(fair scheduler)只是将总的可用内存平均分配给所有可用的作业,并且没有检查死锁,这在我的例子中确实发生过。解决方案是通过Yarn改变排程,采用产能排程。

fumotvh3

fumotvh32#

如果每个存储数据都依赖于上一个存储,则可以在每个存储之后使用exec命令。这将确保在下一组命令/store之前完全执行store命令。

A = ...
STORE A;
exec;
B = FOREACH A GENERATE ...

相关问题