Talend 10 GB输入和查找内存不足错误

时间:2017-03-01 15:42:51

标签: out-of-memory lookup talend

我是Talend的新手并尝试将一个简单的流程从现有的ETL迁移到Talend ETL。这个过程本身就是

输入文件 - > tMap(少量字符串操作和查找) - >写入输出

查找文件有3列(长,1个字符串,2个字符串)。长期价值是关键。输入和查找文件的大小(每个大约10GB)。服务器规格是16核(2.9GHz)64GB RAM 8GB交换运行linux。

我使用30g,45g,50g的Xmx / Xms值执行作业但每次都失败,达到GC开销限制或超出堆空间。尝试使用“存储临时数据”为“真”并将tMap中缓冲区大小的值更改为更大的数字。这也没有帮助。

任何人都会在Talend中遇到大尺寸查找的问题吗?

由于

4 个答案:

答案 0 :(得分:1)

与@Th_talend一样,请尝试过滤列。

您也可以尝试这样做(如果可以的话):

  • 将您的文件存储在临时表中,并在一个输入中直接使用SQL进行连接,以便使用SGBD而不是talend(tmap)。

答案 1 :(得分:0)

使用tcolumnfilter从查找中仅将所需列放入tMap。

您是否提供了临时存储数据

答案 2 :(得分:0)

您可以将查找文件拆分为可管理的块(可能是500M),然后为每个块执行多个阶段的连接。这肯定是有效的,你不需要自定义代码既不是外部工具,但可能性能不佳。

答案 3 :(得分:0)

不要使用30g,45g,50g用于xms和xmx

尝试下面的组合

xms XMS

4GB 8GB

5GM 10GB

8GM 16GB

你不拥有Hadoop吗?