我正在处理一个大小为400 mb的数据,这个脚本有5个不同的部分和5个存储命令,如果我一次只切换一个存储命令来评论所有其他的命令,pig脚本的工作非常出色。但是如果所有5个store命令都打开,job browser(hue)就不会停留在特定的阶段,然后它就会继续重新尝试一个没有进展的作业。没有错误,日志也没有错误和警告。我认识到这个问题可能是由于环境问题造成的,因为脚本在使用-m属性时也有一次运行良好,但另一次失败了。
iq0todco1#
此错误是由yarn使用的资源分配策略造成的。当磁盘已满时,它会导致节点变得不正常,从而减少内存。目前,yarn调度器(fair scheduler)只是将总的可用内存平均分配给所有可用的作业,并且没有检查死锁,这在我的例子中确实发生过。解决方案是通过Yarn改变排程,采用产能排程。
fumotvh32#
如果每个存储数据都依赖于上一个存储,则可以在每个存储之后使用exec命令。这将确保在下一组命令/store之前完全执行store命令。
A = ... STORE A; exec; B = FOREACH A GENERATE ...
2条答案
按热度按时间iq0todco1#
此错误是由yarn使用的资源分配策略造成的。当磁盘已满时,它会导致节点变得不正常,从而减少内存。目前,yarn调度器(fair scheduler)只是将总的可用内存平均分配给所有可用的作业,并且没有检查死锁,这在我的例子中确实发生过。解决方案是通过Yarn改变排程,采用产能排程。
fumotvh32#
如果每个存储数据都依赖于上一个存储,则可以在每个存储之后使用exec命令。这将确保在下一组命令/store之前完全执行store命令。