Utf 8 gpload抛出异常,并带有;错误:编码的字节序列无效;UTF8";:0xe5b82e“;

Utf 8 gpload抛出异常,并带有;错误:编码的字节序列无效;UTF8";:0xe5b82e“;,utf-8,greenplum,Utf 8,Greenplum,当我使用gpload将一些数据转储到greenplum中时,由于一个错误而失败:“错误:编码“UTF8”的字节序列无效”:0xe5b82e 我做了一些搜索。我的greenplum是5.18.0,“show client_encoding”显示“UTF8”,当我用“file”命令检查数据文件时,它也显示:text/plain;字符集=utf-8。这让我很困惑:数据文件是utf8,客户端也是utf8,为什么它会抛出这样的错误?我没有在这个字符串中找到一些\x0或\u0000字符,这是一些帖子中同一个

当我使用gpload将一些数据转储到greenplum中时,由于一个错误而失败:“错误:编码“UTF8”的字节序列无效”:0xe5b82e

我做了一些搜索。我的greenplum是5.18.0,“show client_encoding”显示“UTF8”,当我用“file”命令检查数据文件时,它也显示:text/plain;字符集=utf-8。这让我很困惑:数据文件是utf8,客户端也是utf8,为什么它会抛出这样的错误?我没有在这个字符串中找到一些\x0或\u0000字符,这是一些帖子中同一个问题的关键问题

我发现一个链接似乎与此问题有关: 这个绿梅版本真的有问题吗

关于数据文件还有一件事,它是以“|”作为定界符的文本文件,其内容如下:

|Hibernate operation: could not insert: [net.xiaofei.apps.wbps.channel.entity.IntSoapContent]; uncategorized SQLException for SQL [insert into int_soap_content (case_id, casetype, channel, content, create_time, handle_flag, handle_time, srccaseid, subcasetype) values (?, ?, ?, ?, ?, ?, ?, ?, ?)]; SQL state [HY000]; error code [1366]; Incorrect string value: '\xF0\xA1\x8D\xB2\xE5\xB8...' for column 'content' at row 1; nested exception is java.sql.SQLException: Incorrect string value: '\xF0\xA1\x8D\xB2\xE5\xB8...' for column 'content' at row 1|20190818
感谢您的帮助

我不想为这篇文章开始一个新的帖子,所以我在这里展示了以下步骤:

  • 在greenplum数据库中创建表:`
  • 使用(appendonly=true, 压缩类型=快速LZ,方向=列),由(id)分配

    `

  • 将以下内容写入数据文件:`
  • 5661083 |休眠操作:无法插入: [net.xiaofei.apps.wbps.channel.entity.IntSoapContent];未分类 SQL的SQLException[插入到int\u soap\u内容中(case\u id,casetype, 频道、内容、创建时间、句柄标志、句柄时间、srccaseid、, 子集合类型)值(?,,,,,,,,,,,,,,,)];SQL状态[HY000]; 错误代码[1366];不正确的字符串值: 第1行“内容”列的“\xF0\xA1\x8D\xB2\xE5\xB8…”;嵌套 异常为java.sql.SQLException:字符串值不正确: 第1行“内容”列的“\xF0\xA1\x8D\xB2\xE5\xB8…”

    `

  • 按如下方式编写yaml文件:
  • 运行“gpload-f test.yaml”,它将抛出错误:

  • 首先,确保源文件的编码是什么。 第二,如果您有权访问该文件,请运行“locale”;grep-axv file.txt”。如果它返回某些内容,则表示文件包含无效的字节序列或文件已损坏。
    第三,您可以使用iconv修复/跳过无效的序列字节,或返回源代码以获得正确的编码。

    请在这里发布之前提取一个,您的问题没有这个主题。@UlrichEckhardt,很抱歉这篇不专业的文章。我在这篇文章的末尾添加了一个步骤来重现这个问题。您可以看一下吗?Thx。首先,你可以随时编辑你的问题以澄清它,这很好。现在,确保你可以按照你的说明在没有任何附加信息的情况下再现问题。按照你的步骤,我无法执行“将以下内容写入数据文件”“除了被它包含错误消息这一事实所困扰之外,在您将带有| as定界符的内容放入文本文件后,您可以将其转储到greenplum db中,而不会出现上述错误?grep-axv my file一直在运行,没有任何结果。我在不同的文件上试过,但结果都一样。你能在你的机器上运行同样的命令吗?
    VERSION: 1.0.0.1
    DATABASE: test
    USER: userXXX
    PASSWORD: passYYY
    HOST: ip1.ip2.ip3.ip4
    PORT: 3421
    GPLOAD:
        INPUT:
            - SOURCE:
                LOCAL_HOSTNAME:
                    - ip1.ip2.ip3.ip4
                PORT: 6006
                FILE:
                    - /tmp/gpdb_test/test/*
            - COLUMNS:
                   - id:  integer
                   - result:  text
            - FORMAT: text
            - DELIMITER: '|'
            - ESCAPE: OFF
            - NULL_AS: '\N'
            - ERROR_LIMIT: 0
        OUTPUT:
            - TABLE: test
            - MODE: INSERT
        PRELOAD:
            - TRUNCATE: true
        SQL:
            - BEFORE: "INSERT INTO gpload_audit VALUES(nextval('gpload_audit_seq'), 'start', 'insert', 'test', current_timestamp)"
            - AFTER: "INSERT INTO gpload_audit VALUES(nextval('gpload_audit_seq'), 'end', 'insert', 'test', current_timestamp)"
    
    2019-08-20 10:27:14|INFO|gpload session started 2019-08-20 10:27:14
    2019-08-20 10:27:14|INFO|setting schema 'public' for table 'test'
    2019-08-20 10:27:19|INFO|started gpfdist -p 6006 -P 6007 -f "/home/work/gpdb_test/test/*" -t 30
    2019-08-20 10:27:20|ERROR|ERROR:  invalid byte sequence for encoding "UTF8": 0xe5b82e  (seg9 slice1 10.136.173.8:33001 pid=339845)
    DETAIL:  External table ext_gpload_05bdc0fe_c2f2_11e9_bb6b_246e9677a1f0, line 1 of  gpfdist://10.136.157.44:6006//home/work/gpdb_test/test/*:  "5661083|Hibernate operation: could not insert:  [net.xiaofei.apps.wbps.channel.entity.IntSoapContent]..."       encountered while running INSERT INTO public."test" ("id","result") SELECT "id","result" FROM ext_gpload_05bdc0fe_c2f2_11e9_bb6b_246e9677a1f0
    
    2019-08-20 10:27:20|INFO|rows Inserted          = 0
    2019-08-20 10:27:20|INFO|rows Updated           = 0
    2019-08-20 10:27:20|INFO|data formatting errors = 0
    2019-08-20 10:27:20|INFO|gpload failed