Snowflake - 從檔案載入資料



在資料庫中,建立了模式,它們是表的邏輯分組。表包含列。表和列是資料庫中低級別的且最重要的物件。現在,表和列最重要的功能是儲存資料。

在本章中,我們將討論如何在 Snowflake 中將資料儲存到表和列中。

Snowflake 為使用者提供了兩種方法,可以使用使用者介面和 SQL 查詢將資料儲存到表和相應的列中。

使用 Snowflake 的 UI 將資料載入到表和列中

在本節中,我們將討論使用 CSV、JSON、XML、Avro、ORC、Parquet 等檔案將資料載入到表及其相應列中應遵循的步驟。

此方法僅限於載入最多 50 MB 的少量資料。

以任何格式建立一個示例檔案。在建立檔案時,請確保檔案中的列數與表中的列數匹配,否則在載入資料時操作將失敗。

在 TEST_DB.TEST_SCHEMA.TEST_TABLE 中,有三個列:ID、NAME 和 ADDRESS。

以下示例資料是在“data.csv”中建立的:

ID NAME ADDRESS
1 aa abcd
2 ab abcd
3 aa abcd
4 ab abcd
5 aa abcd
6 ab abcd
7 aa abcd
8 ab abcd
9 aa abcd

現在,點選頂部功能區中存在的資料庫圖示。點選您要上傳資料的表名。它顯示列數和定義。

以下螢幕截圖顯示了載入資料功能:

Load Data Functionality

重新驗證與列相關的示例檔案。點選列名頂部的載入表按鈕。它會彈出載入資料對話方塊。在第一個螢幕上,選擇資料倉庫名稱,然後點選下一步按鈕。

Load Data Pop Up

在下一個螢幕上,透過點選選擇檔案從本地計算機選擇一個檔案。檔案上傳後,您可以看到檔名,如以下螢幕截圖所示。點選下一步按鈕。

Select Files

現在透過點選+ 號建立檔案格式,如以下螢幕截圖所示:

File Format

它會彈出建立檔案格式對話方塊。輸入以下詳細資訊:

  • 名稱 - 檔案格式的名稱。

  • 模式名稱 - 建立的檔案格式只能在給定的模式中使用。

  • 格式型別 - 檔案格式的名稱。

  • 列分隔符 - 如果 CSV 檔案已分隔,請提供檔案分隔符。

  • 行分隔符 - 如何識別新行。

  • 要跳過的標題行 - 如果提供了標題,則為 1,否則為 0。

其他內容可以保持原樣。輸入詳細資訊後,點選完成按鈕。

以下螢幕截圖顯示了上述詳細資訊:

File Format Details

從下拉列表中選擇檔案格式,然後點選載入,如以下螢幕截圖所示:

Click Load

載入結果後,您將獲得摘要,如下所示。點選確定按鈕。

Click OK

要檢視資料,請執行查詢“SELECT * from TEST_TABLE”。在左側面板中,使用者還可以看到資料庫、模式和表詳細資訊。

Run the Query

使用 SQL 將資料載入到表和列中

要從本地檔案載入資料,您可以執行以下步驟:

使用 SnowSQL(Snowflake 提供的外掛)將檔案上傳到 Snowflake 的階段。要執行此操作,請轉到幫助並點選下載,如下所示:

Go to Help and click Download

點選 CLI 客戶端 (snowsql),然後點選Snowflake 儲存庫,如以下螢幕截圖所示:

Click CLI Client

使用者可以移動到 bootstrap → 1.2 → windows_x86_64 → 點選下載最新版本。

以下螢幕截圖顯示了上述步驟:

Snowflake Repository

現在,安裝下載的外掛。安裝後,在您的系統中開啟 CMD。執行以下命令以檢查連線:

snowsql -a <account_name> -u <username>

它會提示輸入密碼。輸入您的 Snowflake 密碼並按 ENTER。您將看到成功的連線。現在使用命令列:

<username>#<warehouse_name>@<db_name>.<schema_name>

現在使用以下命令將檔案上傳到 Snowflake 的階段:

PUT file://C:/Users/*******/Documents/data.csv @csvstage;

不要忘記在末尾加上“分號”,否則它將永遠執行。

檔案上傳後,使用者可以在工作表中執行以下命令:

COPY INTO "TEST_DB"."TEST_SCHEMA_1"."TEST_TABLE" FROM @/csvstage ON_ERROR = 'ABORT_STATEMENT' PURGE = TRUE

資料將載入到表中。

廣告