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

【问题讨论】:

    标签: greenplum


    【解决方案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实现文件加载
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2022-12-03
    • 1970-01-01
    • 2020-05-20
    • 1970-01-01
    • 2019-11-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多