
- Snowflake 教程
- Snowflake - 首頁
- Snowflake - 簡介
- Snowflake - 資料架構
- Snowflake - 功能架構
- Snowflake - 如何訪問
- Snowflake - 版本
- Snowflake - 定價模型
- Snowflake - 物件
- Snowflake - 表和檢視型別
- Snowflake - 登入
- Snowflake - 倉庫
- Snowflake - 資料庫
- Snowflake - 模式
- Snowflake - 表和列
- Snowflake - 從檔案載入資料
- Snowflake - 有用查詢示例
- Snowflake - 監控使用情況和儲存
- Snowflake - 快取
- 將資料從 Snowflake 解除安裝到本地
- 外部資料載入(從 AWS S3)
- 外部資料解除安裝(到 AWS S3)
- Snowflake 資源
- Snowflake - 快速指南
- Snowflake - 有用資源
- Snowflake - 討論
Snowflake - 外部資料解除安裝
Snowflake 也支援客戶端的雲端儲存。這意味著客戶端可以從 Snowflake 中匯出其雲中的資料。目前,Snowflake 支援 3 個雲 - AWS S3、Microsoft Azure 和 Google Cloud Platform 位置。這些被稱為外部階段。但是,Snowflake 提供了 Snowflake 託管的階段,這些階段被稱為內部階段。
外部階段是客戶端端位置,而內部階段是在使用者使用其本地系統目錄時使用的。
要將資料解除安裝到外部雲,需要進行以下設定:
Snowflake 中現有的資料庫和模式,從該資料庫和模式中將資料解除安裝到 AWS S3。
指向 AWS S3 儲存桶的外部階段設定。
檔案格式定義載入到 AWS S3 中的檔案的結構。
在本章中,我們將討論如何設定這些要求以及如何將資料從表解除安裝到 S3。
我們已經建立了一個名為 TEST_DB 的資料庫、名為 TEST_SCHEMA_1 的模式和名為 TEST_TABLE 的表。如果這些不可用,請按照前面章節中的說明建立這些表。
可以透過 Snowflake 的使用者介面以及使用 SQL 來設定外部階段。
使用 UI
要建立外部階段,請按照以下說明操作:
登入 Snowflake。單擊頂部功能區中顯示的資料庫。在資料庫檢視中,單擊名為 TEST_DB 的資料庫名稱。接下來,單擊階段選項卡,然後單擊頂部顯示的建立按鈕,如下面的螢幕截圖所示:

它將彈出建立階段對話方塊,在列表中選擇 amazon|s3,然後單擊下一步,如下所示:

它將進入下一個螢幕,使用者應在其中輸入以下詳細資訊:
名稱 - 這是使用者定義的外部階段名稱。相同的名稱將用於將資料從階段複製到表。
模式名稱 - 選擇包含要載入資料的表的模式名稱。
URL - 提供來自 Amazon 的 S3 url。它基於儲存桶名稱和金鑰是唯一的。
AWS 金鑰 ID - 請輸入您的 AWS 金鑰 ID。
AWS 金鑰 - 輸入您的金鑰以透過您的 AWS 連線。
加密主金鑰 - 如果有,請提供加密金鑰。
提供詳細資訊後,單擊完成按鈕。以下螢幕截圖描述了上述步驟:

使用者可以在“檢視”面板中看到新建立的外部階段。
使用 SQL
使用 SQL 建立外部階段非常容易。只需執行以下查詢,提供所有詳細資訊(例如名稱、AWS 金鑰、密碼、主金鑰),它將建立該階段。
CREATE STAGE "TEST_DB"."TEST_SCHEMA_1".Ext_S3_stage URL = 's3://***/***** CREDENTIALS = (AWS_KEY_ID = '*********' AWS_SECRET_KEY = '********') ENCRYPTION = (MASTER_KEY = '******');
檔案格式定義上傳到 S3 的檔案的結構。如果檔案結構與表結構不匹配,則載入將失敗。
使用 UI
要建立檔案格式,請按照以下說明操作。
登入 Snowflake 並單擊頂部功能區中顯示的資料庫。在資料庫檢視中,單擊資料庫名稱 TEST_DB。
接下來,單擊檔案格式選項卡,然後單擊頂部顯示的建立按鈕。它將彈出建立檔案格式對話方塊。輸入以下詳細資訊:
名稱 - 檔案格式的名稱。
模式名稱 - 建立的檔案格式只能在給定的模式中使用。
格式型別 - 檔案格式的名稱。
列分隔符 - 如果 csv 檔案已分隔,請提供檔案分隔符。
行分隔符 - 如何識別新行。
要跳過的標題行 - 如果提供了標題,則為 1,否則為 0。
其他內容可以保持原樣。輸入這些詳細資訊後,單擊完成按鈕。
以下螢幕截圖顯示了上述詳細資訊:

使用者將能夠在“檢視”面板中看到建立的檔案格式。
使用 SQL
使用 SQL 建立檔案格式非常容易。只需執行以下查詢,並提供如下所示的所有必要詳細資訊。
CREATE FILE FORMAT "TEST_DB"."TEST_SCHEMA_1".ext_csv TYPE = 'CSV' COMPRESSION = 'AUTO' FIELD_DELIMITER = ',' RECORD_DELIMITER = '\n' SKIP_HEADER = 0 FIELD_OPTIONALLY_ENCLOSED_BY = 'NONE' TRIM_SPACE = FALSE ERROR_ON_COLUMN_COUNT_MISMATCH = TRUE ESCAPE = 'NONE' ESCAPE_UNENCLOSED_FIELD = '\134' DATE_FORMAT = 'AUTO' TIMESTAMP_FORMAT = 'AUTO' NULL_IF = ('\\N');
將資料解除安裝到 S3
在本章中,我們討論了設定所有必需的引數,例如階段、檔案格式、資料庫,以將資料解除安裝到 S3。
現在,要解除安裝資料,請執行以下查詢:
語法
COPY INTO @<database_name>.<schema_name>.<external_stage_name> FROM (SELECT * FROM <table_name>) FILE_FORMAT=(FORMAT_NAME=<database_name>.<schema_name>.<file_format_name>);
示例
COPY INTO @test_db.test_schema_1.EXT_Stage FROM (SELECT * FROM TEST_TABLE) FILE_FORMAT=(FORMAT_NAME=test_db.test_schema_1.CSV);