Hadoop tmp目录变得很大



我的问题是我有一个 5 节点的 Hadoop 集群,集群上的文件需要 350 GB。我正在运行一个 Pig 脚本,该脚本连接三个不同的文件并连接它们。作业每次运行不到 30 分钟即可完成所有地图任务,然后 6 小时完成归约任务,所有这些归约任务在最佳情况下最后都会失败。在最坏的情况下,我的hadoop卡住了,这是由于名称节点进入安全模式,因为它没有足够的空间(超出配额)。

由占用大厅可用空间(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';

知道吗??

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

加入在任何地方都是一个昂贵的运营商。您可以通过在 Pig 中使用复制、倾斜、合并连接来优化连接。浏览一次这些联接文档,然后根据您的文件大小和要求进行应用。

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

最新更新