Qlik 開放湖倉庫 中的適用於串流來源的資料集架構 | Qlik Cloud 說明
跳到主要內容 跳至補充內容

Qlik 開放湖倉庫 中的適用於串流來源的資料集架構

Last updated: 2026/9/1

串流來源在 Qlik 開放湖倉庫 中有自己的架構,因為它們不需要 Data Movement gateway 將資料載入到登陸值區,而是由 lakehouse 叢集提供支援。

當您從檔案名稱中包含資料模式的檔案擷取資料時,這可讓 Lakehouse 叢集在 S3 中執行目標清單作業,這會大幅加快讀取檔案清單的時間。此外,Qlik 開放湖倉庫 可以根據日期模式預測到達的檔案。串流登陸任務不必每次都列出整個值區,而是可以要求 S3 提供特定日期範圍內的檔案。檔案清單越少,效能越好。選用的載入後刪除設定可用來維持較少的檔案數量。沒有執行完整載入,第一個記錄會被視為插入的變更。

在一個Qlik 開放湖倉庫中,串流轉換任務會取代儲存任務。此任務用於將已著陸資料轉換並儲存為 Iceberg 表格。串流轉換任務只能在串流登陸任務之後新增。串流轉換任務支援兩種模式來更新記錄:

  • 僅附加:新增記錄,而不修改現有資料,且若出現複製記錄,則不會強制執行索引鍵限制。
  • 套用變更 (合併): 更新現有記錄並根據索引鍵欄位插入新的記錄。此模式可讓您選擇使用軟刪除,或保留歷史資料 (類型 2)。

串流轉換任務是一種以目標為基礎的任務,可在來源和目標之間進行對應,並包含結構描述演進功能。它提供延伸的轉換功能,包括解除巢狀結構以及陣列的扁平化。如需有關您可在串流轉換任務中使用的函數的詳細資訊,請參閱 轉換函數

當您從串流來源擷取資料時,您可以設定 Iceberg 分割、保留管理、排序欄、快照過期,以控制儲存成本,並最佳化查詢效能。

以僅限附加模式的串流 Qlik 開放湖倉庫 資料管道架構

Open lakehouse architecture in append only mode

合併模式下的串流 Qlik 開放湖倉庫 資料管道架構

Open lakehouse architecture in merge mode

登陸表格

下列標頭欄已新增至登陸表格。這些欄位始終存在於登陸資料中,但預設不會包含在下游串流轉換任務中。您可以透過「從來源新增資料欄」將其新增至串流轉換任務,或在新增或編輯資料欄時於運算式建構工具中參考它們。

為 Kafka 來源新增了標頭欄
欄位 類型 描述
hdr__kafka_partition Kafka 分區
hdr__kafka_topic 字串 Kafka 主題
hdr__kafka_offset 分割區中的累計值
hdr__kafka_key 字串 Base64 編碼金鑰。如果沒有,則設為 NULL 字串。
hdr__kafka_headers 字串

包含所有訊息標頭的 JSON。如果無法使用,則設為 NULL 字串。

已為 Amazon Kinesis 來源新增標頭欄位
欄位 類型 描述
hdr__kinesis_stream 字串 Amazon Kinesis 串流
hdr__kinesis_shard 字串 Amazon Kinesis 分區
hdr__kinesis_offset 字串 Amazon Kinesis 位移
為 Amazon S3 來源新增了標頭欄
欄位 類型 描述
hdr__file_name 字串 檔案名稱
hdr__file_size 檔案大小 (單位為位元組)。

架構

成品是在內部架構和資料任務結構描述中所產生。

  • 內部架構包含具有多個分割區的實體表格。

  • 資料任務結構描述含有您可藉以使用資料的檢視。

    若結構描述與多個資料任務關聯,每個資料任務必須為表格和檢視使用唯一前置詞。您可以在資料任務設定中設定前置詞。

只會檢查內部結構描述是否有命名衝突。對於其他結構描述,您必須確保表格名稱中沒有命名衝突。最佳做法是將內部結構描述命名為與資料任務結構描述相同的名稱並加上 _internal。這將確保每個結構描述和前置詞組合都是唯一。

資訊備註所有表格和檢視都由 Qlik Talend Data Integration 管理。請勿使用其他工具改變資料。

表格

對每個來源資料表,會在內部架構中建立一個資料表,並加上後綴_internal,格式如下:

<INTERNAL_SCHEMA>.<TABLE_NAME>_internal

此表格包含五個分割區,在套用變更 (合併)模式中,每個分割區在資料處理和儲存方面都有不同的用途。每個分割區都會根據其在資料生命週期中的角色,利用資料表欄位的子集。在僅限附加模式下,資料表沒有分割區,且行為類似於目前分割區 (ODS)

資訊備註內部架構的表格如有變更,恕不另行通知。您應該盡量主要使用檢視來取用資料。

內部資料集結構化以有效率地管理來自您來源系統的傳入資料,支援即時擷取和歷史追蹤。資料流動透過幾個專門的分割區進行管理,每個分割區如下所述:

  • 變更 分割區 – 即時擷取

    來自來源系統的所有變更 (插入、更新和刪除) 會先附加到 Changes 分割區。

    • 作為原始變更記錄,該分割區在任何轉換發生之前提供來源活動的完整饋送。

    • 每個變更都會標記一個類型 (I、U 或 D),以指示其處理方式。

    • 事件在發生時從來源擷取。分割區幾乎是即時更新。

    • 當在湖登陸資料任務中套用下列設定時,即可使用Changes分割區。

      • 一般索引標籤中,更新方法設定為 CDC

      • 已啟用完整載入。

  • 資產狀態分割區 - 追蹤進度

    隨著變更受到擷取,Asset_state 分割區會記錄兩個關鍵時間戳記:

    • 最後一次將變更附加到Changes分割區的時間。

    • 最後一次將變更套用到Current分割區的時間。

    這提供了對同步管道的完整可見性,並有助於監控或排除延遲。

  • 目前 分割區 (ODS) — 來源的最新複本

    Changes分割區中的變更會定期套用到Current分割區,以維護來源資料的最新、經過查詢最佳化的副本。

    • 背景任務會自動執行,以套用這些更新。這是基於累積的變化量,而不是固定的排程。

    • 初始完整載入直接寫入到Current分割區。

    • 此分割區反映了資料的目前狀態,旨在實現有效率查詢。

  • 先前 分割區 (HDS) – 歷史資料

    當記錄在 Current 分割區中更新或刪除時,會將舊版複本寫入 Prior 分割區。

    • 記錄包含中繼資料,包括變更歷史記錄和資料有效的日期範圍。

    • 這支援類型 2 緩慢變更維度 (SCD2)。

    • 若在儲存資料任務設定的Prior一般索引標籤中啟用保留歷史記錄和變更記錄封存,則分割區可用。

    • 若記錄的更新版本進入Current分割區,則先前的記錄將移至Prior分割區,以進行歷史追蹤。

  • 重新載入 分割區

    Reload」分割區在手動或排程的完整載入期間充當臨時暫存區:

    • 新資料會先寫入到 Reload 分割區。

    • 定期維護任務會在暫停之前清除任何待處理的變更。

    • 將資料與 Current 分割區進行比較,僅將差異部分移至 Current 分割區。

    • 操作完成後,將會清除「Reload」分割區。

    此流程可確保在完整載入操作期間盡量減少對主要資料集的干擾。

Current 分割

欄位 類型 描述
hdr__key_hash VARBINARY (20) 所有記錄主要金鑰的雜湊。雜湊格式為 SHA1。欄由退格鍵字元分隔。
hdr__from_timestamp 時間戳記

使用 UTC 的時間戳記:

  • 對於取自完整載入的資料,這是完整載入開始時間。

  • 對於從Changes分割區而來的變更,這是記錄的時間戳記欄位。

hdr__operation VARCHAR (1)

此記錄的最新操作。

  • D - 已從Changes分割區刪除。

  • U - 已從 Changes 分割區更新。

  • I - 已從 Changes 分割區插入。

  • L - 已透過完整載入任務插入。

  • d - 已從比較與套用刪除。

  • u - 已從比較與套用更新。

  • i - 已從比較與套用插入。

hdr__inserted_timestamp 時間戳記 金鑰初次建立時的 UTC 時間戳記。使用完整載入時,完整載入的開始時間。
hdr__modified_timestamp 時間戳記 上次進行更新時的 UTC 時間戳記。

Prior 分割

欄位 類型 描述
hdr__key_hash VARBINARY (20) 所有記錄主要金鑰的雜湊。
hdr__from_timestamp 時間戳記 使用 UTC 的時間戳記。
hdr__to_timestamp 時間戳記 使用 UTC 的時間戳記。
hdr__operation STRING (1)

此記錄的最新操作。

  • D - 已從 Changes 分割區刪除。

  • U - 已從 Changes 分割區更新。

  • I - 已從 Changes 分割區插入。

  • L - 已透過完整載入任務插入。

  • d - 已從比較與套用刪除。

  • u - 已從比較與套用更新。

  • i - 已從比較與套用插入。

hdr__was_current_from_timestamp 時間戳記 記錄初次為最新時的 UTC 時間戳記。
hdr__was_current_to_timestamp 時間戳記 記錄上次為最新時的 UTC 時間戳記。

Changes 分割

欄位 類型 描述
hdr__change_identifier VARCHAR (50)

變更識別碼是含有兩個部分的字串:

  • 自 1970 年 1 月 1 日起,以毫秒計的批次執行開始時間戳記 (10 位字串)。

  • 來自複寫閘道的變更序列 (35 個字元)。

hdr__operation VARCHAR (1)

此記錄的最新操作。

  • D - 已從Changes變更分割區刪除。

  • U - 已從Changes變更分割區更新。

  • I - 已從 Changes 分割區插入。

  • L - 已透過完整載入任務插入。

  • d - 已從比較與套用刪除。

  • u - 已從比較與套用更新。

  • i - 已從比較與套用插入。

hdr__timestamp 時間戳記 使用 UTC 的時間戳記。
hdr__key_hash BINARY (20) 所有記錄主要金鑰的雜湊。
hdr__inserted_timestamp 時間戳記 Qlik 處理變更之時間的 UTC 時間戳記。

Asset_state 分割

欄位 類型 描述
hdr__apply_change_identifier VARCHAR (50) 套用於 Current 分割區的最新變更的變更識別碼。
hdr__copy_change_identifier VARCHAR (50) 附加到 Changes 分割區的最新變更的變更識別碼。

Reload 分割

Reload分割區使用的欄與Current分割區相同。

檢視

所有建立的檢視畫面都以幾乎即時的頻率來更新。以下檢視可用於簡化查詢和報告:

目前

「目前」檢視反映資料的最新狀態。此檢視代表來源表格的複本,幾乎即時更新。它會合併來自 CurrentChanges 分割區的資料。

名稱: <EXTERNAL_SCHEMA>.[<PREFIX>]<TABLE_NAME>

未向表格結構新增表頭欄。

歷史記錄

在資料任務設定中啟用歷史記錄時,會為每個選定的來源表格在資料資產架構中產生歷史記錄檢視。此歷史記錄檢視合併來自PriorChanges分割區的資料。這提供了完整的變更時間表,非常適合稽核或歷史分析。

名稱: <EXTERNAL_SCHEMA>.[<PREFIX>]<TABLE_NAME>_<Suffix for history views>

下列標頭欄位會新增至歷史記錄檢視畫面:

欄位 類型 描述
hdr__key_hash BINARY (20) 所有記錄主要金鑰的雜湊。
hdr__from_timestamp 時間戳記 在來源系統中發生變更時的時間戳記。這反映了使用者最初進行變更的時間。
hdr__to_timestamp 時間戳記 在來源系統中還原或更新變更時的時間戳記。
hdr__store VARCHAR (10)

這表示記錄所在的位置:

  • CURRENT - 如果記錄位在Current分割區。

  • PRIOR - 如果記錄位在有歷史記錄資料的Prior「先前」分割區。

hdr__operation STRING (1)

此記錄的最新操作。

  • D - 已從Changes變更分割區刪除。

  • U - 已從Changes變更分割區更新。

  • I - 已從 Changes 分割區插入。

  • L - 已透過完整載入任務插入。

  • d - 已從比較與套用刪除。

  • u - 已從比較與套用更新。

  • i - 已從比較與套用插入。

hdr__deleted 位元 依照 hdr__operation 是 D 或 d,表示記錄是否以軟體刪除。
hdr__was_current_from_timestamp 時間戳記 此列進入Current「目前」分割區的時間 (UTC)。這通常是在儲存工作執行並套用變更時。
hdr__was_current_to_timestamp 時間戳記 例如,由於較新版本的出現,從Current表格中移除列的時間 (UTC)。
資訊備註目前和歷史記錄檢視畫面依賴於Changes分割區並且一律接近即時。不過,如果您遇到查詢效能緩慢的情況,可能是由於大量變更尚未套用到CurrentPrior分割區。未合併的差異在查詢時間需要更多處理,導致存取速度變慢。

在檢視中顯示標頭欄

您可以控制是否顯示或隱藏標頭欄。選項會依任務類型而異。

資訊備註標頭欄會自動填入資料且為唯讀。

串流登陸任務

若要顯示標頭欄,請開啟搜尋方塊右側的顯示標頭欄

串流轉換任務

搜尋方塊右側提供包含下列選項的下拉式清單。

  • 隱藏標頭欄: 預設值。

  • 顯示標頭欄

    • 標準: 選取以顯示標準檢視的標頭欄。

    • 歷史記錄: 選取以顯示歷史記錄檢視畫面的標頭欄位。請注意,此選項僅在工作或資料集設定中啟用 建立歷史資料儲存 (類型 2) 時才可用。

如需可用標頭欄的描述,請參閱 登陸表格檢視

Govnote-not-inQlik Cloud 政府 中不支援。

此頁面是否對您有幫助?

若您發現此頁面或其內容有任何問題——錯字、遺漏步驟或技術錯誤——請告知我們!