【问题标题】:Couldn't load data into snowflake无法将数据加载到雪花中
【发布时间】:2020-10-07 10:47:54
【问题描述】:

我正在尝试将 csv 数据文件加载到雪花中。但它显示了这个错误

“数值'0xA1T0xA920xB4'无法识别文件'@TRY/ui1592405587937/New Microsoft Excel Worksheet.csv',第2行,字符1第1行,列“TRY”[“DEC”:1]“

我的 csv 文件包含这些数据

Dec            name

80.12345678    Kavi
80.67543213    Ravi

但是当我尝试通过插入语句手动加载 insert into table values(80.12345678,'Kavi'); 然后我的数据被插入。

【问题讨论】:

    标签: csv loading snowflake-cloud-data-platform snowflake-schema


    【解决方案1】:

    您有一个值“0xA1T0xA920xB4”被插入到表的数值中。这不是一个有效的数字。您的插入语句正在工作,因为您在第一列中使用的是数字值。我建议在您的 ON_ERROR 命令中添加 CONTINUE,看看可以加载多少记录,哪些不能加载。

    【讨论】:

    • 你能分享一下你的说法吗?
    • 您可能需要根据您的数据查看文件格式选项。您的数字字段是否被引号包围并作为字符串出现?你的分隔符是什么,它们是指定的吗?加载此数据时是否跳过标题(列名)?
    【解决方案2】:

    如果使用 unicode 解码,非数字值 0xA1T0xA920xB4 的计算结果为 ¡T©2´,这不符合您对文件中 2 行数据的描述。

    如果您使用过 Microsoft Excel 的 CSV 导出功能,请通过在 Windows CMD 提示符下通过 type 或在 Linux/macOS 终端上通过 cat 打印其内容来确保您的书面文件是正确的,并仔细检查是否有实际数据字段周围没有额外的字符。

    直接查看时,您的文件必须如下所示(假设使用逗号分隔符):

    > type 'New Microsoft Excel Worksheet.csv'
    Dec,name
    80.12345678,Kavi
    80.67543213,Ravi
    

    如果看起来不同,请尝试再次导出为 CSV 格式,选择使用 UTF-8 样式编码的正确格式选项。

    【讨论】:

      【解决方案3】:

      您可能想要清理 csv 文件。似乎有一些特殊字符雪花无法解析/加载。

      在 notepad++ 中打开您的文件并查找该特殊字符并将其删除。 notepad++中有一个按钮,就在所有菜单栏(文件,编辑..等)的下方,当您将鼠标悬停在该按钮上时,它会显示“显示所有字符”,如果您单击它,它将显示所有嵌入的字符在文件中,如换行符等。

      这个十六进制代码:'0xA1T0xA920xB4' 看起来像这样:© ´ 由于您的第一列是十进制,因此雪花会抛出此错误,因为它看到一个非数字字符。

      我认为这是错误。

      谢谢

      【讨论】:

        猜你喜欢
        • 2020-09-27
        • 1970-01-01
        • 1970-01-01
        • 2021-07-18
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2021-04-12
        • 2022-01-15
        相关资源
        最近更新 更多