Snowflake
您可以使用 Snowflake 作為資料管道或複寫任務中的目標資料平台。在資料管道中,可以在目標平台執行各種 ELT 操作,包括儲存資料、轉換資料、建立資料超市和註冊資料。另一方面,複寫任務涉及將資料直接從來源系統複寫至具有基本轉換功能但不支援 ELT 操作的目標系統。
設定 Snowflake 作為目標涉及:
設定連線屬性
若要設定連接器,進行下列事項:
-
在連線中,按一下建立連線。
-
選取 Snowflake 目標連接器,然後提供下列設定:
資料移動閘道
資料閘道
只有在無法從 Qlik Cloud 存取目標資料庫且只能使用私人連結存取時 (例如若將在虛擬私人雲端中),才需要 資料移動閘道。在此情況下,選取您要用來存取目標資料庫的 資料移動閘道。
根據您的使用情況,這會是為了從資料來源移動資料而部署的相同或不同 資料移動閘道。
如需關於 資料移動閘道 使用案例的資訊,請參閱 何時需要 資料移動閘道? 和 常見使用案例。
若目標資料庫可從 Qlik Cloud 直接存取,請選取無。
連線屬性
-
伺服器:用於存取 Snowflake 的 URL。例如 myaccount.snowflakecomputing.com。
-
連接埠:想要藉此存取 Snowflake 資料庫的連接埠。預設為 443。
驗證
有多種驗證連線的方法:
-
使用者名稱和密碼
-
金鑰組
您的 Snowflake 資料庫必須設定為使用金鑰組驗證。該流程在 Snowflake 文件中描述:
資訊備註如果使用 資料移動閘道,則需要 2024.5.14 或更高版本才能使用金鑰組驗證。
帳戶屬性
使用者名稱和密碼
使用者名稱和密碼:獲得授權可存取 Snowflake 資料庫的使用者的使用者名稱和密碼。
金鑰組
帳戶屬性 | 描述 |
---|---|
使用者 | Snowflake 中的使用者。 |
私人金鑰檔案 | 按一下瀏覽以選取您的私人金鑰檔案。 |
私人金鑰檔案密碼 | 用來解密私人金鑰的密碼 (如已加密)。 |
資料庫屬性
- 預設倉庫:Snowflake 倉庫名稱。您可以在專案設定中覆寫此。
-
資料庫名稱:有兩種方法可用來指定資料庫:
-
方法 1 - 從清單中選取:按一下載入資料庫,然後選取資料庫。
- 方法 2 - 手動:選取手動輸入資料庫名稱,然後輸入資料庫名稱。
-
內部屬性
內部屬性用於特殊使用情況,因此不會在對話方塊中顯示。您只能在 Qlik 支援指示下使用。
根據需要使用欄位右側的 和 按鈕以新增或移除屬性。
名稱
連線的顯示名稱。
必要條件
必要權限
需要具備以下權限:
若您想要自動建立不存在的結構描述所需要的權限
- 資料庫使用
- 在資料庫建立架構
如果架構已存在則需要權限
- 資料庫使用
- 架構使用
- 在架構上建立檔案格式
- 在架構上建立階段
- 在架構上建立表格
驅動程式的設定
只有在透過 資料移動閘道 存取資料庫時,才需要驅動程式。
您可以使用驅動程式安裝公用程式 (建議) 或手動安裝 driver。只能在不太可能發生的事件 (您在使用驅動程式安裝公用程式時遇到問題) 中嘗試手動安裝。
使用驅動程式安裝公用程式來安裝驅動程式
此區段描述如何安裝所需的 driver。該流程涉及下載 driver、複製到所需的資料夾 (見下文),以及執行將會自動安裝並設定該驅動程式的指令碼。您也可以執行指令碼,以根據需求更新並解除安裝 driver。
準備安裝
-
確認 Python 3.6 或更高版本安裝於 資料移動 閘道伺服器。
Python 會預先安裝在大部分的 Linux 發行版。您可以執行下列命令,以查看哪個 Python 版本安裝在您的系統上:
python3 --version
-
下載 Snowflake ODBC 驅動程式「snowflake-odbc-<version>.x86_64.rpm」。您可以在 /opt/qlik/gateway/movement/drivers/manifests/snowflake.yaml 的 binary-artifacts 之下找到支援版本的直接下載連結。下載完成後,將檔案複製到:
/opt/qlik/gateway/movement/drivers/snowflake
安裝 driver
若要安裝 driver:
-
停止 Data Movement gateway 服務:
sudo systemctl stop repagent
-
可自選,確認服務已停止:
sudo systemctl status repagent
狀態應如下所示:
Active: inactive (dead) since <timestamp> ago
-
在 資料移動 閘道機器上,將工作目錄變更為:
opt/qlik/gateway/movement/drivers/bin
-
執行下列命令:
語法:
./install snowflake
否則,就會顯示 driver 的 EULA。
-
執行下列其中一個動作:
- 重複按下 [Enter] 以緩慢瀏覽 EULA。
- 重複按下空格鍵以快速瀏覽 EULA。
- 按下 q 以結束授權文字並呈現 EULA 接受選項。
-
執行下列其中一個動作:
- 輸入「y」並按下 [Enter] 以接受 EULA 並開始安裝。
- 輸入「n」並按下 [Enter] 以拒絕 EULA 並退出安裝。
-
輸入「v」並按下 [Enter] 以再次檢視 EULA。
-
等待安裝完成 (以「完成!」指示),然後開始 Data Movement gateway 服務:
sudo systemctl start repagent
-
可自行選擇確認服務已開始:
sudo systemctl status repagent
狀態應如下所示:
Active: active (running) since <timestamp> ago
將會安裝 driver。
更新 driver
若您想要在安裝提供的 driver 之前解除安裝先前的 driver 版本,請執行更新命令。
若要更新 driver:
-
停止 Data Movement gateway 服務:
sudo systemctl stop repagent
-
可自選,確認服務已停止:
sudo systemctl status repagent
狀態應如下所示:
Active: inactive (dead) since <timestamp> ago
-
在 資料移動 閘道機器上,將工作目錄變更為:
opt/qlik/gateway/movement/drivers/bin
-
執行下列命令:
語法:
./update snowflake
否則,就會顯示 driver 的 EULA。
-
執行下列其中一個動作:
- 重複按下 [Enter] 以緩慢瀏覽 EULA。
- 重複按下空格鍵以快速瀏覽 EULA。
- 按下 q 以結束授權文字並呈現 EULA 接受選項。
-
執行下列其中一個動作:
- 輸入「y」並按下 [Enter] 以接受 EULA 並開始安裝。
- 輸入「n」並按下 [Enter] 以拒絕 EULA 並退出安裝。
- 輸入「v」並按下 [Enter] 以從頭檢閱 EULA。
-
等待安裝完成 (以「完成!」指示),然後開始 Data Movement gateway 服務:
sudo systemctl start repagent
-
可自行選擇確認服務已開始:
sudo systemctl status repagent
狀態應如下所示:
Active: active (running) since <timestamp> ago
將會解除安裝舊版 driver,並安裝新版 driver。
解除安裝 driver
若您想要解除安裝 driver,請執行解除安裝命令。
若要解除安裝 driver:
-
停止設定為使用此連接器的所有任務。
-
在 資料移動 閘道機器上,將工作目錄變更為:
opt/qlik/gateway/movement/drivers/bin
-
執行下列命令:
語法:
./uninstall snowflake
將會解除安裝 driver。
手動安裝驅動程式
只有在自動驅動程式安裝無法成功完成時,才能嘗試手動安裝 driver。
您需要安裝 ODBC 驅動程式和 JDBC 驅動程式。
安裝 ODBC 驅動程式
- 安裝 資料移動閘道 後,下載列於 /opt/qlik/gateway/movement/drivers/manifests/snowflake.yaml 的 binary-artifacts 之下的 snowflake-odbc-<version>x86_64.rpm 驅動程式檔案,並複製到 資料移動閘道 機器。
- 將驅動程式安裝在 資料移動閘道 機器。
安裝 JDBC 驅動程式
-
下載列於 /opt/qlik/gateway/movement/drivers/manifests/snowflake.yaml 的 binary-artifacts 之下的 snowflake-jdbc-<version>.jar 檔案,並複製到 資料移動閘道 機器的下列資料夾:
/opt/qlik/gateway/movement/qcs_agents/qdi-db-commands/lib
-
執行 資料移動閘道 服務命令 中描述的命令,以重新啟動 資料移動閘道 服務並確認已啟動
連接埠
需開啟防火牆連接埠 443 才能進行輸入通訊。
效能與雲端服務使用最佳化
限制和考慮事項
將資料移至 Snowflake 目標時,下列限制適用:
- 不支援名稱中有反斜線的表格複寫 (例如 SPECIAL\\TABLE\N)。
資料類型
下表顯示使用 Qlik Cloud 時支援的 Snowflake 資料類型和來自 Qlik Cloud 資料類型的預設對應。
會保留原生資料類型資訊,並顯示在資料集檢視的原生資料類型欄中。若看不見欄,您需要開啟資料集檢視的欄選擇器並選取原生資料類型欄。
Qlik Cloud 資料類型 | Snowflake 資料類型 |
---|---|
布林 |
布林 |
位元組 |
二進位 (以位元組為單位的長度) |
日期 |
日期 |
時間 |
時間 (精確度) |
日期時間 |
TIMESTAMP_NTZ (精確度) |
INT1 |
BYTEINT |
INT2 |
SMALLINT |
INT4 |
整數 |
INT8 |
BIGINT |
數字 |
數字 (精確度,縮放) |
REAL4 |
FLOAT4 |
REAL8 |
FLOAT8 |
UINT1 |
BYTEINT |
UINT2 |
整數 |
UINT4 |
整數 |
UINT8 |
BIGINT |
字串 |
VARCHAR (以位元組為單位的長度) |
WSTRING |
NVARCHAR (以位元組為單位的長度) |
BLOB |
二進位 (8388608) |
NCLOB |
NVARCHAR (8388608) |
CLOB |
VARCHAR (8388608) |