我无法找到任何描述我所遇到的问题的信息,尽管我确信很多人都遇到了此问题。就像在加载数据之前在Python中强制进行预处理一样简单。
我正在尝试将数据从S3加载到Snowflake表中。我看到以下错误:
在表定义中,这些列设置为DEFAULT NULL,因此,如果此处有NULL值,则应该能够处理它们。我用Python打开了文件以检查这些列,并确保其中的某些行(在Snowflake中抛出错误的确切数字)是NaN。
在Snowflake中有没有办法对此进行纠正?
答案 0 :(得分:1)
您需要在COPY INTO语句中添加一些内容才能使其正确执行。在格式选项中尝试以下参数:
NULL_IF = ('NaN')
如果您不仅具有NaN值(例如'NULL'的实际字符串),还可以将其添加到上述()中的列表中。
答案 1 :(得分:0)
如果您在从任何源将数据加载到表中时遇到问题,并且遇到与上述问题类似的问题,从而错误告诉您*datatype* '' is not recognized
,那么您将需要遵循以下说明:
FILE_FORMAT
FILE_FORMAT
,然后在工具栏中单击“编辑” Show SQL
,复制语句NULL_IF
语句NULL_IF = ('\\N','');
默认情况下,雪花似乎无法识别完全为空的值,因此您需要将其添加为选项!