【发布时间】:2016-12-31 02:45:37
【问题描述】:
我在 GPDB 中有一个非常大的数据集,我需要从中提取近 350 万条记录。我将它用于平面文件,然后用于加载到不同的表。我使用 Talend,并使用 tgreenpluminput 组件从表中选择 * 并将其提供给 tfileoutputdelimited。但是,由于文件量很大,我在 Talend 服务器上执行它时内存不足。
我缺乏超级用户的权限,无法执行 \copy 以将其输出到 csv 文件。我认为像 do while 或行数有限的 tloop 这样的东西可能对我有用。但是我的表没有任何 row_id 或 uid 来区分行。
请帮助我提出解决此问题的建议。欣赏任何想法。谢谢!
【问题讨论】:
-
GPDB有“可写外部表”导出表数据link。这样 gpdb 段将并行导出数据(更多段,更多工作人员来导出数据)。不清楚您要在哪里加载数据(gpdb?或 hdfs?)。不建议使用 \copy,因为所有数据都将通过主服务器。
-
我想使用 gpload 组件加载。但是有没有办法循环有限的行并将输出聚合到 csv 然后用于 gpload?
标签: jvm export-to-csv talend greenplum