將資料鏡像到雲端資料倉庫
鏡像任務可讓您從 Snowflake 查詢儲存在 Qlik 開放湖倉庫 中的資料。資料反映在 Snowflake 中,不必複製。鏡像表格確保儲存和工程成本降至最低,並保持單一事實來源。
將資料上線到 Qlik 開放湖倉庫 後,您可以使用鏡像表格將資料鏡像到 Snowflake。可以使用原生支援 Iceberg 的查詢引擎 (例如 Amazon Athena) 查詢 Iceberg 中的資料。但是,若您想要實施開放式 Iceberg 湖存放庫架構但繼續使用 Snowflake 作為查詢引擎,則鏡像表格是理想的選擇。鏡像資料任務將 Iceberg 表格宣告為外部表格,以自動化在 Snowflake 中存取的流程。Snowflake 將 Iceberg 表格稱為外部表格,因為這不管理表格,只是從中讀取。外部表格允許您在 Snowflake 中查詢 Iceberg 資料,而無需將資料或表格管理遷移到 Snowflake 中。
若要鏡像資料,您需要在 Snowflake 中建立外部磁碟區,這指向 Iceberg 表格所在的 S3 值區,並由儲存任務更新。然後,建立 Snowflake 目錄整合,這指向 Qlik 開放湖倉庫 專案使用的資料目錄,例如 AWS Glue 資料目錄。
鏡像任務執行必要的 DDL 陳述式,以在 Snowflake 中建立外部表格。該表格 (結構描述) 與變更和歷史記錄表格一起顯示在 Snowflake 中,但如果您查看表格定義,這會顯示為在外部表格之上建立的檢視畫面。Snowflake 使用者可以查詢檢視畫面,如同資料儲存在他們的 Snowflake 環境中一樣。鏡像資料提供了高效能,因為 Qlik 繼續管理和最佳化資料。
重新整理機制
Snowflake 指向反映 Iceberg 內可用資料之最新快照的中繼資料。重新整理中繼資料的方式有兩種:
-
Qlik 管理:此選項需要作用中的 Snowflake 倉庫,並包括監控和資料預覽。若您想要建立下游轉換並監控和排程任務,請選取此選項。Qlik 擁有中繼資料重新整理操作,因此您可以手動設定,例如每 30 分鐘執行一次。此選項對於多表格轉換特別有用,因為所有表格的中繼資料都會同時更新。雖然您可能會失去 Snowflake 管理的重新整理所提供的一些即時效益,但您可以保持表格之間的一致性。對於多表格轉換,您可以根據需要的頻率觸發重新整理。Qlik 建議您在排定的鏡像任務之後的下游轉換任務,設定基於事件的觸發。
-
Snowflake 管理:無伺服器操作運用 Snowpipe 基礎結構,不需要或不必啟用運算倉庫。若您不需要下游轉換,建議使用此選項。建立 Snowflake 目錄整合時設定重新整理間隔。若要監控自動重新整理的狀態,請查詢 Snowflake 中的 SYSTEM$AUTO_REFRESH_STATUS。Qlik 失去流程的擁有權並且無法監控此類任務。
專案內的每個鏡像任務都可以透過自己的重新整理機制來設定:如果建立兩個鏡像任務,則可以使用 Qlik 管理的重新整理,另一個可以使用 Snowflake 管理的重新整理。
結構描述演進
如果您手動從儲存任務中新增或移除欄或表格,或間接從登陸任務中新增或移除欄或表格,則變更會自動反映在鏡像任務設計中。您必須準備任務,以將變更套用至鏡像的表格。如果在鏡像和儲存任務設定中啟用了結構描述演進,則在儲存任務中自動偵測到的任何結構描述變更都會套用至鏡像表格。
必要條件
只有在 Qlik 開放湖倉庫 專案中建立儲存任務後才能新增鏡像資料任務。一個儲存任務可以有多個鏡像資料任務。一個鏡像資料任務只能關聯一個儲存任務。
若要將資料鏡像到 Snowflake,您需要:
-
連線到您想要鏡像資料的 Snowflake 資料庫。您也可以選擇在鏡像任務建立期間建立新的連線。可以在連線到 Snowflake 的說明中找到相關要求。
-
Snowflake 外部磁碟區。這將向 Snowflake 授予對 S3 位置的有限存取權限。若要設定磁碟區,請參閱為 Amazon S3 設定外部磁碟區。
-
AWS Glue Data Catalog 整合。這讓 Snowflake 能夠連線到物件儲存中以 Iceberg 開放式表格格式儲存的資料。若要設定目錄整合,請參閱為 AWS Glue 設定目錄整合。
建立鏡像資料任務
若要將資料鏡像到 Snowflake,請執行下列事項:
-
開啟專案,其中包含要鏡像之資料的儲存任務。
-
按一下儲存任務上的
更多動作。選取鏡像資料,並進行設定:
-
名稱:輸入鏡像任務的名稱。
-
描述:可以選擇描述任務的目的。
-
連線:
-
若要使用現有連線,請按一下選取以開啟安全來源連線對話方塊。選取您的連線所在的空間,然後選取連線。按一下編輯以修改連線屬性。
-
若要建立新連線,請按一下建立連線以開啟建立連線對話方塊並按照指示進行操作。
-
-
資料庫:輸入您想要鏡像資料的資料庫名稱。
-
Snowflake 外部磁碟區:輸入在 Snowflake 中建立的外部磁碟區的名稱。
-
Snowflake 目錄整合:輸入在 Snowflake 中建立的目錄整合的名稱。
-
選取您希望如何在 Snowflake 中重新整理資料:
-
Qlik 管理:如果您想建立下游轉換,請選取此選項。這需要一個作用中的 Snowflake 倉庫,並由 Qlik 監控。
-
Snowflake 管理:如果您想執行下游轉換,請選取此選項。不需要 Snowflake 倉庫,因此不受 Qlik 監控。這是在 Snowflake 中進行管理和監控。
-
建立鏡像任務以將其新增至管道中的儲存任務。
-
按一下鏡像任務上的
更多動作並選取開啟。確保您正在顯示設計檢視。
-
若要選取可用資料集的子集,請按一下選取來源資料並移除任何不需要的資料集。
-
按一下準備以在 Snowflake 中建立外部表格並鏡像資料。
執行轉換
如果您需要轉換資料,您可以建立 Snowflake 專案並使用 Qlik 開放湖倉庫 專案中的鏡像資料任務作為來源。若要使用現有專案中的資料建立轉換任務,請參閱建立跨專案管道。
刪除鏡像資料任務
刪除鏡像任務時,將從 Snowflake 中刪除外部表格和檢視,並且不再可供查詢。當鏡像任務正在從儲存任務中讀取時,無法刪除該儲存任務。
若要刪除鏡像資料任務,請執行下列事項:
-
在要刪除的鏡像資料任務上,按一下任務上的
更多動作功能表,然後選取刪除。 -
在確認對話方塊中,按一下刪除。