Sql “由于”引起的部分荷载;数据中的雪花问题

Sql “由于”引起的部分荷载;数据中的雪花问题,sql,snowflake-cloud-data-platform,Sql,Snowflake Cloud Data Platform,我还没有找到任何东西来描述我遇到的这个问题,尽管我相信很多人都遇到过这个问题。这可能很简单,只需在加载数据之前在Python中强制进行预处理即可 我正在尝试将数据从S3加载到雪花表中。我看到的错误包括: 无法识别数值“” 无法识别时间戳“” 在表定义中,这些列被设置为默认NULL,因此如果这里有NULL值,它应该能够处理它们。我用Python打开了这些文件来检查这些列,并且确信其中一些行(雪花中抛出错误的确切数字)是NaN的 有没有办法在Snowflake中更正此问题?很可能您需要在COPY

我还没有找到任何东西来描述我遇到的这个问题,尽管我相信很多人都遇到过这个问题。这可能很简单,只需在加载数据之前在Python中强制进行预处理即可

我正在尝试将数据从S3加载到雪花表中。我看到的错误包括:

  • 无法识别数值“”
  • 无法识别时间戳“”
在表定义中,这些列被设置为默认NULL,因此如果这里有NULL值,它应该能够处理它们。我用Python打开了这些文件来检查这些列,并且确信其中一些行(雪花中抛出错误的确切数字)是NaN的


有没有办法在Snowflake中更正此问题?

很可能您需要在COPY INTO语句中添加一些内容,以使其正确执行。在格式选项中尝试此参数:

NULL_IF = ('NaN')

如果您有不止一个NaN值(如“NULL”的实际字符串),那么您可以将这些值添加到上面()中的列表中。

如果您在将数据加载到表中(从任何源)时遇到问题,并且遇到与上述问题类似的问题,如果错误告诉您,
*数据类型*''无法识别
,则您需要遵循以下说明:

  • 通过“数据库”选项卡进入您正在使用的文件格式
  • 选择
    文件\u格式
    ,然后单击工具栏中的编辑
  • 单击出现的左下角窗口上的
    showsql
    ,复制语句
  • 将该语句粘贴到工作表中,并按如下所示更改
    NULL\u
  • NULL\u IF=('\\N','')

默认情况下,Snowflake似乎无法识别完全为空的值,因此您需要将其添加为一个选项

迈克:我很欣赏这个答案的指导。我应该推迟一点,因为我最终找到了解决方案,我将添加它作为这个线程的答案。简而言之,文件格式配置中需要进行
NULL\u IF
更改。