我是Talend的新手并尝试将一个简单的流程从现有的ETL迁移到Talend ETL。这个过程本身就是
输入文件 - > tMap(少量字符串操作和查找) - >写入输出
查找文件有3列(长,1个字符串,2个字符串)。长期价值是关键。输入和查找文件的大小(每个大约10GB)。服务器规格是16核(2.9GHz)64GB RAM 8GB交换运行linux。
我使用30g,45g,50g的Xmx / Xms值执行作业但每次都失败,达到GC开销限制或超出堆空间。尝试使用“存储临时数据”为“真”并将tMap中缓冲区大小的值更改为更大的数字。这也没有帮助。
任何人都会在Talend中遇到大尺寸查找的问题吗?
由于
答案 0 :(得分:1)
与@Th_talend一样,请尝试过滤列。
您也可以尝试这样做(如果可以的话):
答案 1 :(得分:0)
使用tcolumnfilter从查找中仅将所需列放入tMap。
您是否提供了临时存储数据
答案 2 :(得分:0)
您可以将查找文件拆分为可管理的块(可能是500M),然后为每个块执行多个阶段的连接。这肯定是有效的,你不需要自定义代码既不是外部工具,但可能性能不佳。
答案 3 :(得分:0)
不要使用30g,45g,50g用于xms和xmx
尝试下面的组合
xms XMS
4GB 8GB
5GM 10GB
8GM 16GB
你不拥有Hadoop吗?