hadoop tmp目录变得非常庞大

n3h0vuf2  于 2021-06-04  发布在  Hadoop
关注(0)|答案(1)|浏览(550)

我的问题是,我有一个5节点hadoop集群,集群上的文件需要350gb。我正在运行一个pig脚本,它连接三个不同的文件并连接它们。作业每次运行不到30分钟完成所有map任务,然后6小时完成reduce任务,这些reduce任务最后都以失败告终。在最坏的情况下,我的hadoop被卡住了,原因是namenode进入了安全模式,因为它没有足够的空间(超过了配额)。
tmp目录占用大厅可用空间(7tb!!)导致的问题。我的脚本如下所示:

info_file = LOAD '$info' as (name, size, type,generation,streamId);
chunks_file = LOAD '$chunk' as (fp, size);
relation_file = LOAD '$relation' as (fp, filename);

chunks_relation = JOIN chunks_file BY fp, relation_file BY fp;
 chunks_files= JOIN chunks_relation BY $3, info_file BY $0;

result = FOREACH chunks_files  GENERATE  $0,$1,$3,$5,$6,$7,$8;
STORE  result INTO '$out';

有什么想法吗??

lc8prwob

lc8prwob1#

你的剧本看起来不错。您要加入的文件的大小是多少?
join在任何地方都是一个昂贵的运营商。您可以通过在pig中使用replicated、skew、merge join来优化连接。浏览这些连接文档一次,并根据您的文件大小和要求进行应用。
https://bluewatersql.wordpress.com/category/pig/

相关问题