在 Dataproc 中啟用 Hive 資料歷程

本文說明如何為 Dataproc Hive 工作啟用及使用資料沿襲

建立叢集時,使用初始化動作,即可為 Dataproc Hive 工作啟用資料沿襲功能。

在叢集上啟用 Hive 資料沿襲後,提交至叢集的 Hive 工作會擷取資料沿襲事件,並發布至 Dataplex Universal Catalog

以視覺化方式呈現歷程資訊

資料歷程圖會顯示專案資源與建立這些資源的程序之間的關係。您可以在 Google Cloud 控制台中,使用 Dataplex Universal CatalogBigQuery StudioVertex AI 存取沿襲圖。

定價

預先發布期間,Dataproc Hive 資料沿襲功能免費提供,不另外收費。適用標準 Dataproc 定價

事前準備

  1. 在 Google Cloud 控制台的專案選擇器頁面中,選取包含要追蹤沿襲的 Dataproc 叢集的專案。

    前往專案選取器

  2. 啟用 Data Lineage API 和 Dataplex API。

    啟用 API

必要的角色

如要在 Dataproc 中使用資料沿襲功能,請要求管理員將下列 IAM 角色授予 Dataproc 叢集 VM 服務帳戶

如要進一步瞭解如何授予角色,請參閱「管理專案、資料夾和機構的存取權」。

您或許還可透過自訂角色或其他預先定義的角色取得必要權限。

啟用 Hive 資料歷程

如要在叢集上啟用 Hive 資料沿襲,請在建立 Dataproc 叢集時,指定 hive-lineage.sh 初始化動作。這個初始化動作會儲存在 Cloud Storage 的區域 bucket 中。

gcloud CLI 叢集建立範例:

gcloud dataproc clusters create CLUSTER_NAME \
    --project PROJECT_ID \
    --region REGION \
    --image-version IMAGE_VERSION \
    --initialization-actions gs://goog-dataproc-initialization-actions-REGION/hive-lineage/hive-lineage.sh

更改下列內容:

  • CLUSTER_NAME:叢集名稱。
  • PROJECT_ID:您的 Google Cloud 專案 ID。 專案 ID 會列在 Google Cloud 控制台資訊主頁的「專案資訊」部分。
  • REGION:叢集所在的 Compute Engine 地區
  • IMAGE_VERSION 叢集的預期映像檔版本
  • --initialization-actions:指定位於 Cloud Storage 區域位置的安裝作業,可啟用 Hive 資料沿襲
    • 視需要新增 Hive-BigQuery 連接器初始化動作。 如要整合 BigQuery 資料表與 Hive 工作負載,請在叢集上安裝 Hive-BigQuery 連接器。請參閱「使用 BigQuery 的 Hive 資料沿襲範例」,該範例會執行連接器初始化動作,在叢集上安裝 Hive-BigQuery 連接器。

提交 Hive 工作

將 Hive 工作提交已啟用 Hive 資料歷程的 Dataproc 叢集時,Dataproc 會擷取資料歷程資訊,並向 Dataplex Universal Catalog 回報。

gcloud CLI Hive 作業提交範例:

gcloud dataproc jobs submit hive \
    --cluster=CLUSTER_NAME \
    --project PROJECT_ID \
    --region REGION \
    --properties=hive.openlineage.namespace=CUSTOM_NAMESPACE \
    --execute HIVE_QUERY

更改下列內容:

  • CLUSTER_NAME:叢集名稱。
  • PROJECT_ID:您的 Google Cloud 專案 ID。 專案 ID 會列在 Google Cloud 控制台資訊主頁的「專案資訊」部分。
  • REGION:叢集所在的 Compute Engine 地區
  • CUSTOM_NAMESPACE:可選用的自訂 Hive 命名空間,可用於識別 Hive 工作。
  • HIVE_QUERY:要提交至叢集的 Hive 查詢。 您可以改用 --file SQL_FILE 旗標,指定含有查詢內容的檔案位置,而非指定查詢。--execute HIVE_QUERY

在 Dataplex Universal Catalog 中查看歷程

歷程圖會顯示專案資源與建立這些資源的程序之間的關係。您可以在 Google Cloud 控制台中查看資料沿襲資訊,也可以透過 Data Lineage API 以 JSON 資料的形式擷取這項資訊。

BigQuery 範例:Hive 資料沿襲

本節範例包含下列步驟:

  1. 建立已啟用 Hive 資料沿襲的 Dataproc 叢集,並在叢集上安裝 Hive-BigQuery 連接器。
  2. 在叢集上執行 Hive 查詢,即可在 Hive 資料表之間複製資料。
  3. 在 BigQuery Studio 中查看產生的資料沿襲圖。

建立 Dataproc 叢集

在本機終端機視窗或 Cloud Shell 中執行下列指令,建立 Dataproc 叢集

gcloud dataproc clusters create CLUSTER_NAME \
    --project PROJECT_ID \
    --region REGION \
    --image-version IMAGE_VERSION \
    --initialization-actions gs://goog-dataproc-initialization-actions-REGION/connectors/connectors.sh, gs://goog-dataproc-initialization-actions-REGION/hive-lineage/hive-lineage.sh \
    --metadata hive-bigquery-connector-version=HIVE_BQ_VERSION

注意:

執行 Hive 查詢

執行 Hive 查詢,完成下列動作:

  • 使用 gs://cloud-samples-data/bigquery/hive-partitioning-samples/autolayout 輸入的樣本資料建立 us_states 外部資料表。
  • 在指定的 BigQuery 資料集中建立 us_states_copy 受管理資料表。
  • 將所有資料從 us_states 複製到 us_states_copy

執行查詢:

  1. 在本地終端機視窗或 Cloud Shell 中,使用 vinano 等文字編輯器,將下列 Hive 查詢陳述式複製到 hive-example.sql 檔案,然後將檔案儲存到目前目錄。
  2. hive-example.sql 檔案提交先前建立的 Dataproc 叢集,並將 --execute HIVE_QUERY 旗標替換為 --file SQL_FILE 旗標,指定已儲存 hive-example.sql 檔案的位置。請注意,必須填入 PROJECTBQ_DATASET 變數。

Hive BigQueryStorageHandler

CREATE EXTERNAL TABLE us_states (
    name STRING,
    post_abbr STRING
)
STORED AS PARQUET
LOCATION 'gs://cloud-samples-data/bigquery/hive-partitioning-samples/autolayout';

CREATE TABLE us_states_copy (
    name STRING,
    post_abbr STRING
)
STORED BY 'com.google.cloud.hive.bigquery.connector.BigQueryStorageHandler'
TBLPROPERTIES (
  'bq.table'='PROJECT.BQ_DATASET.us_states_copy'
);

INSERT INTO us_states_copy SELECT * FROM us_states;

查看資料歷程圖

Hive 工作順利完成後,請在 Google Cloud 控制台的 BigQuery Studio 中查看資料沿襲:

Hive 沿襲圖

如要瞭解如何在 BigQuery Studio 中顯示圖表,請參閱「在 BigQuery 中查看沿襲」。如要瞭解如何解讀圖表,請參閱「資料沿革資訊模型」。

後續步驟