[英]Snowflake Database : Loading JSON file from external stage with VALIDATION_MODE in COPY INTO statement
[英]Can we COPY External JSON File into Snowflake?
您需要創建文件格式並提及文件類型和其他規范,如下所示:創建或替換文件格式 myjsonformat type = 'JSON' strip_outer_array = true;
然后嘗試加載它會工作的文件。
當我為 Snowflake 使用外部數據時,我喜歡創建鏈接到 BlobStorage 的階段(在這種情況下),這很容易,您可以做任何事情都非常簡單和透明,就像它是本地數據一樣。
像這樣創建鏈接到 blobstorage 的階段:
CREATE OR REPLACE STAGE "<DATABASE>"."<SCHEMA>"."<STAGE_NAME>"
URL='azure://demostorage178.blob.core.windows.net/democontainer'
CREDENTIALS=(AZURE_SAS_TOKEN='***********************************************')
FILE_FORMAT = (TYPE = JSON);
之后,您可以像這樣列出來自雪花的 blobstorage 中的內容:
list @"<DATABASE>"."<SCHEMA>"."<STAGE_NAME>";
或者像這樣:
use database "<DATABASE>";
use schema "<SCHEMA>";
SELECT * FROM @"STAGE_NAME"/sales.json;
如果您需要創建表,請使用以下命令:
create or replace table "<DATABASE>"."<SCHEMA>"."<TABLE>" (src VARIANT);
您可以像這樣復制您的數據(對於單個文件):
copy into "<DATABASE>"."<SCHEMA>"."<TABLE>" from @"<STAGE_NAME>"/sales.json;
最后,將它用於您在階段中獲得的所有新數據。 注意:您不需要刪除以前的數據,它會忽略它並僅加載新數據。
copy into "<DATABASE>"."<SCHEMA>"."<TABLE>" from @"STAGE_NAME";
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.