1. 概述
1.1 版本
FineDataLink 版本 | 功能變動 |
---|---|
4.2.5.1 | - |
1.2 應用場景
Snowflake 是海外 top 級的雲數倉,許多外企的母公司已經選型了 Snowflake,在國內的分公司構建數倉,或做報表時,期望能夠對接 Snowflake 做資料開發。
1.3 功能說明
FineDataLink 支援連結 Snowflake,進行定時任務讀寫、管道任務寫入、實時任務寫入、資料服務讀取。
本文介紹如何連結 Snowflake 。
2. 使用限制
Snowflake 裏 BINARY 和 VARBINARY 欄位類型可以儲存二進制資料,最大為 8MB,超出 8MB 大小的二進制資料,寫入資料時會報錯。
3. 配置資料連結
3.1 前提條件
詳情請參見:前提條件
3.2 版本和驅動
驅動包下載 | 驅動 |
---|---|
使用者可自行下載驅動 | net.snowflake.client.jdbc.SnowflakeDriver |
3.3 收集連結資訊
在連結資料庫之前,請收集以下資訊:
資料庫主機、倉庫名稱。
資料庫的帳號和密碼。
需要連結的資料庫模式。
3.4 具體連結步驟
需注意:
配置資料連結時,驅動需要切換為「自訂」,換為本文 3.2 節的驅動。
1)在管理系統>資料連結>資料連結管理下,建立資料連結,如下圖所示:
2)輸入相關的資料庫連結資訊,如下圖所示:
配置項 | 說明 |
---|---|
驅動 | 選擇 3.2 節在驅動管理上傳的驅動 |
資料庫名稱 | 資料庫名 |
主機 | 賬戶識別符號 填寫格式:<account_identifier>.snowflakecomputing.com 填寫範例:
參考文檔:賬戶識別符號 |Snowflake 文檔 |
帳號 | 帳號 下圖中的user ![]() |
密碼 | 密碼 |
編碼 | 編碼 |
模式 | 連結資料庫後以讀取模式 |
倉庫名稱 | warehouse是Snowflake的專屬設計,是Snowflake中用於執行查詢和處理資料的計算資源集合; Warehouse(虛擬倉庫)與Database(資料庫)之間的關係並不是簡單的包含關係; 一個Warehouse可以支援多個Database的查詢和處理任務,而一個Database則可以根據需要聯動到多個Warehouse以執行不同的查詢任務。 |
3)點選測試連結,測試連結成功後即可儲存資料連結,如下圖所示:
4. 資料源特性說明
4.1 通用限制
Snowflake 有多種表類型(表、檢視表),支援對所有類型的表進行讀取,當前僅支援對普通表進行寫入,不支援其它類型表的寫入。
類型 | 讀取 | 寫入 |
---|---|---|
普通表(Standard tables) | 支援 | 支援 |
混合表(Hybrid tables) | 支援 | 不支援 |
動態表(Dynamic table) | 支援 | 不支援 |
事件表(Event table) | 支援 | 不支援 |
外部表(External table) | 支援 | 不支援 |
Apache Iceberg表(Apache Iceberg table) | 支援 | 不支援 |
檢視表(View) | 支援 | 不支援 |
物化檢視表(Materialized view) | 支援 | 不支援 |
4.2 資料開發-定時任務
資料來源
不支援儲存程式。
資料去向
在寫入普通表時,由於普通表的特性,不支援「主鍵相同,記錄為髒資料」。
提供兩種裝載方式:普通裝載、COPY 裝載,預設為 COPY 裝載,如下圖所示:
寫入方式為基於標識欄位增刪改時,COPY 裝載暫不支援。
4.3 資料管道和實時任務
資料去向
不支援無主鍵同步。
裝載方式:提供兩種:普通裝載、COPY 裝載,預設為 COPY 裝載;管道任務寫入時,全量階段可以支援 COPY 裝載,增量階段僅支援 JDBC 方式。