我正在尝试将数据从 csv 文件导入 gpdb 表,但 COPY 命令失败并显示“没有此类文件或目录”错误消息 - 尽管我尝试读取的文件确实存在。
设想
我们正在尝试使用来自名为 SQL server 的源的 Talend 工具将数据写入名为“pivotal greenplum 数据库”的目标系统。
其中,数据流组件称为 tGreenplumBulkExec 抛出
错误:
tGreenplumBulkExec_1|org.postgresql.util.PSQLException:ERROR:
could not open file "/path/to/file.csv" for reading: No such file or directory|1
Talend 数据流:
从 SQL 服务器读取 --> 写入 hdfs --> tmap--> tGreenplumOutputBulk--> tGreenplumBulkExec
详细的堆栈跟踪
Exception in component tGreenplumBulkExec_1
org.postgresql.util.PSQLException: ERROR: could not open file/path/to/file.csv for reading: No such file or directory
at org.postgresql.core.v3.QueryExecutorImpl.receiveErrorResponse(QueryExecutorImpl.java:1592)
at org.postgresql.core.v3.QueryExecutorImpl.processResults(QueryExecutorImpl.java:1327)
at org.postgresql.core.v3.QueryExecutorImpl.execute(QueryExecutorImpl.java:192)
at org.postgresql.jdbc2.AbstractJdbc2Statement.execute(AbstractJdbc2Statement.java:451)
at org.postgresql.jdbc2.AbstractJdbc2Statement.executeWithFlags(AbstractJdbc2Statement.java:336)
at org.postgresql.jdbc2.AbstractJdbc2Statement.execute(AbstractJdbc2Statement.java:328)
at bigdata.jobname_0_1.jobname.tGreenplumBulkExec_1Process(jobname.java:10080)
at bigdata.jobname_0_1.jobname.tJDBCInput_1Process(jobname.java:9783)
at bigdata.jobname_0_1.jobname.runJobInTOS(jobname.java:11692)
at bigdata.jobname_0_1.jobname.main(jobname.java:11431)
2017-02-04 13:29:39|eAM8VI|eAM8VI|eAM8VI|BIGDATA|jobname|Default|6|Java Exception|tGreenplumBulkExec_1|org.postgresql.util.PSQLException:ERROR: could not open file "/path/to/file.csv" for reading: No such file or directory|1
[statistics] disconnected
Job jobname ended at 13:29 04/02/2017. [exit code=1]
我们尝试了:
Path permission of Input file already checked.
Double checked the file path in talend component setting.
任何帮助将不胜感激?