由于navicate上有一行数据,导入文件失败greenplum

Posted

技术标签:

【中文标题】由于navicate上有一行数据,导入文件失败greenplum【英文标题】:Import file failed to greenplum because of one line of data on navicate 【发布时间】:2021-03-20 08:48:54 【问题描述】:
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”

【问题讨论】:

【参考方案1】:

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 会更快。

【讨论】:

非常感谢!!!这个命令非常有用,解决了我的问题,我的文件有超过四百万行,我试试gpload实现文件加载

以上是关于由于navicate上有一行数据,导入文件失败greenplum的主要内容,如果未能解决你的问题,请参考以下文章

[转]oracle导入提示“IMP-00010:不是有效的导出文件,头部验证失败”的解决方案

数据库 navicate导入与导出

通俗易懂!navicate如何导入MySQL数据库的.sql文件?

通俗易懂!navicate如何导入MySQL数据库的.sql文件?

用navicate for mysql 备份的数据还原的时候怎么少了好多表

oracle导入时提示IMP-00010:不是有效的导出文件,头部验证失败