CSV文件使用talend进行红移

时间:2014-12-10 13:29:04

标签: postgresql csv talend amazon-redshift

Windows 8.1 talend版本:5.6

JOb设计:

tFileinputDelimited>> tredshiftoutput

我正在从csv文件加载1 millon数据到redshift。加载5 lakshs数据后,我收到了这些错误:

组件tRedshiftOutput_1中的异常 org.postgresql.util.PSQLException:错误:/ rds / bin / padb.1.0.867 / data / exec / 58/0:无法从共享对象映射段:无法分配内存   细节:


错误:/rds/bin/padb.1.0.867/data/exec/58/0:无法从共享对象映射段:无法分配内存   代码:1015   上下文:dlopen(/rds/bin/padb.1.0.867/data/exec/58/0,RTLD_LAZY)   查询:4234372   位置:exec_plan.cpp:2213   过程:padbmaster [pid = 15630]


at org.postgresql.core.v3.QueryExecutorImpl.receiveErrorResponse(QueryExecutorImpl.java:2096)
at org.postgresql.core.v3.QueryExecutorImpl.processResults(QueryExecutorImpl.java:1829)
at org.postgresql.core.v3.QueryExecutorImpl.execute(QueryExecutorImpl.java:257)
at org.postgresql.jdbc2.AbstractJdbc2Statement.execute(AbstractJdbc2Statement.java:510)
at org.postgresql.jdbc2.AbstractJdbc2Statement.executeWithFlags(AbstractJdbc2Statement.java:386)
at org.postgresql.jdbc2.AbstractJdbc2Statement.executeUpdate(AbstractJdbc2Statement.java:332)
at project_1.red_mysqltest_0_1.red_mysqltest.tFileInputDelimited_1Process(red_mysqltest.java:1056)
at project_1.red_mysqltest_0_1.red_mysqltest.runJobInTOS(red_mysqltest.java:1802)
at project_1.red_mysqltest_0_1.red_mysqltest.main(red_mysqltest.java:1646)

[statistics]已断开连接

如何解决这些错误?

1 个答案:

答案 0 :(得分:0)

要使用COPY命令,您需要复制S3中的所有csv文件。

要在S3中复制文件,您可以使用带有以下命令的tSystem组件 -

 "aws s3 cp /home/filename.csv  s3://data/"

然后你可以使用tRedshiftRow来使用COPY命令将数据从S3复制到表。如果您没有使用S3,那么只需直接传递文件路径。

 "COPY tablename
  FROM 's3://location/filename.csv'
  credentials 
          'aws_access_key_id= enter_access_key;
           aws_secret_access_key=enter_aws_secret_access_ket' 

          CSV DELIMITER ';' IGNOREHEADER 1  BLANKSASNULL EMPTYASNULL MAXERROR 10;"

有关详细信息,请参阅此COPY