导入文件到greenplum失败,因为navicate上有一行数据

问题描述

When importing a file into Greenplum,one lines fails,and the whole file is not imported successfully.Is there a way can skip the wrong line and import other data into Greenplum successfully?
Here are my sql execution and error messages:

使用分隔符','从'/gp_wkspace/outputs/base_tables/error_data_test.csv'复制cjh_test;

错误:整数的无效输入语法:“FE00F760B39BD3756BCFF30000000600” 上下文:复制 cjh_test,第 81 行,local_city 列:“FE00F760B39BD3756BCFF30000000600”

解决方法

Greenplum 对 COPY 命令进行了扩展,可让您记录错误并设置一定数量的错误,这些错误不会停止加载。以下是 COPY 命令文档中的示例:

COPY sales FROM '/home/usr1/sql/sales_data' LOG ERRORS 
   SEGMENT REJECT LIMIT 10 ROWS;

这告诉 COPY 可以在不停止加载的情况下忽略 10 个坏行。拒绝限制可以是行数或加载文件的百分比。您可以使用以下命令检查 psql 中的完整语法:\h copy

如果您正在将一个非常大的文件加载到 Greenplum,我建议您查看 gpload 或 gpfdist(它们也支持段拒绝限制语法)。 COPY 是单线程通过主服务器,其中 gpload/gpfdist 将数据并行加载到所有段。对于较小的加载文件,COPY 会更快,而对于加载文件中的数百万行,COPY 会更快。

相关问答

Selenium Web驱动程序和Java。元素在(x,y)点处不可单击。其...
Python-如何使用点“。” 访问字典成员?
Java 字符串是不可变的。到底是什么意思?
Java中的“ final”关键字如何工作?(我仍然可以修改对象。...
“loop:”在Java代码中。这是什么,为什么要编译?
java.lang.ClassNotFoundException:sun.jdbc.odbc.JdbcOdbc...