【问题标题】:How to push a big file data in talend?如何在talend中推送大文件数据?
【发布时间】:2015-05-14 11:58:05
【问题描述】:

我创建了一个表,其中有一个 7.5 GB 大小的文本输入文件,有 6500 万条记录,现在我想将这些数据推送到 Amazon RedShift 表中。

但在处理了 560 万条记录后,它不再移动。

可能是什么问题?由于作业已经运行了 3 个小时,因此 tFileOutputDelimited 是否有任何限制。

下面是我创建的将数据推送到 Redshift 表的作业。

tFileInputDelimited(.text)---tMap--->tFilOutputDelimited(csv)

|

|

tS3Put(copy output file to S3) ------> tRedShiftRow(createTempTable)--> tRedShiftRow(COPY to Temp)

【问题讨论】:

  • 您知道作业卡住的部分吗?它是在等待创建平面文件 (csv) 还是您的平面文件已创建?如果是,那么文件是否已上传到 S3? ..看看你的工作在哪一点被卡住会很有趣..因为红移复制到临时表命令会很快并且不应该卡住..

标签: talend


【解决方案1】:

限制来自Tmap组件,它不是处理大量数据的好选择,对于您的情况,您必须启用“存储临时数据”选项以克服Tmap的内存消耗限制。 它在Talend Help Center 中有很好的描述。

【讨论】:

  • 我不认为 tMap 会导致问题,因为按照上述设计没有加入/查找。当我们使用连接两个或多个表并且数据很大时,tMap 变得昂贵,那么我们最终将使用存储临时数据。
【解决方案2】:

看起来,tFilOutputDelimited(csv) 正在造成问题。在一定数量的数据之后,任何文件都无法处理。不确定想。尝试找到一种仅加载父输入文件的一部分并将其提交到 redshift 的方法。重复该过程,直到您的父输入文件被完全处理。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2020-06-19
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多