Hadoop tmp目录变得庞大

时间:2015-01-29 17:18:12

标签: hadoop hdfs quota tmp exceed

我的问题是我有一个5节点的Hadoop集群,集群上的文件需要350 GB。我正在运行一个Pig脚本,它连接三个不同的文件并加入它们。 每次运行最少30分钟完成所有地图任务,然后6小时完成减少任务,所有这些减少任务在最佳情况下最终失败。在最糟糕的情况下,我的hadop卡住,由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';

任何想法?

1 个答案:

答案 0 :(得分:0)

你的脚本看起来很好。您要加入的文件大小是多少?

加入是一个代价高昂的运营商。您可以使用复制,倾斜,合并连接Pig来优化连接。仔细阅读这些联接文档,然后根据文件大小和要求进行应用。

https://bluewatersql.wordpress.com/category/Pig/