因此,我正在设置许多过程,这些过程将利用 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/
错误:
无法识别数值"5" 文件 'snowpipetestcsv.csv',第 2 行,字符 1 第 1 行,列"TESTINGEST"["ID":1]
在这种情况下,值 5 正确地是 CSV 第一行的 ID 值。我不确定为什么它不会承认价值?此处的列数据类型为整数。
我没有意识到雪花要求您在其文件格式程序中为CSV中的引号定义一个分隔符。这在他们的文档中不是很清楚,但这就是诀窍。
FIELD_OPTIONALLY_ENCLOSED_BY = ' 42';
如果你刚刚开始使用Snowflake,这是一个非常好的链接。 https://docs.snowflake.net/manuals/user-guide/getting-started-tutorial.html