雪花数据库中的摄取错误
Ingestion error within snowflake database
所以我正在设置一些程序,这些程序将利用 Snowflake 的暂存和管道功能将数据从 AWS S3 存储桶提取到一些表中。
我相信我已经按照他们的文档正确设置了程序。但是在测试摄取代码时我遇到了这个问题。
示例 CSV 数据:
"id","uuid","companyfolder_id","name","billingAccount","createdBy","status","createdAt","destroyAt","statusChangedBy","statusChangedAt","statusChangedReason","description","tags"
"5","8c35346","0","lmyumeng","lmyumeng","email@email.com","active","1558041027","0","","0","","",""
SQL:
USE WAREHOUSE SANTABA;
copy into SANTABA.TESTINGEST
from @etlStage/
错误:
Numeric value '"5"' is not recognized File 'snowpipetestcsv.csv', line 2, character 1 Row 1, column "TESTINGEST"["ID":1]
在这种情况下,值 5 是 CSV 第一行中的正确 ID 值。我不确定为什么它不承认这个价值?这里的列数据类型是整数。
我没有意识到 snowflake 要求您在其文件格式化程序中为 CSV 中的引号定义一个分隔符。这在他们的文档中不是很清楚,但这就是诀窍。
FIELD_OPTIONALLY_ENCLOSED_BY = '2';
如果您刚开始使用 Snowflake,这是一个非常好的 link 可以看看。 https://docs.snowflake.net/manuals/user-guide/getting-started-tutorial.html
所以我正在设置一些程序,这些程序将利用 Snowflake 的暂存和管道功能将数据从 AWS S3 存储桶提取到一些表中。
我相信我已经按照他们的文档正确设置了程序。但是在测试摄取代码时我遇到了这个问题。
示例 CSV 数据:
"id","uuid","companyfolder_id","name","billingAccount","createdBy","status","createdAt","destroyAt","statusChangedBy","statusChangedAt","statusChangedReason","description","tags"
"5","8c35346","0","lmyumeng","lmyumeng","email@email.com","active","1558041027","0","","0","","",""
SQL:
USE WAREHOUSE SANTABA;
copy into SANTABA.TESTINGEST
from @etlStage/
错误:
Numeric value '"5"' is not recognized File 'snowpipetestcsv.csv', line 2, character 1 Row 1, column "TESTINGEST"["ID":1]
在这种情况下,值 5 是 CSV 第一行中的正确 ID 值。我不确定为什么它不承认这个价值?这里的列数据类型是整数。
我没有意识到 snowflake 要求您在其文件格式化程序中为 CSV 中的引号定义一个分隔符。这在他们的文档中不是很清楚,但这就是诀窍。
FIELD_OPTIONALLY_ENCLOSED_BY = '2';
如果您刚开始使用 Snowflake,这是一个非常好的 link 可以看看。 https://docs.snowflake.net/manuals/user-guide/getting-started-tutorial.html