本文說明如何為 Dataproc Hive 工作啟用及使用資料沿襲。
建立叢集時,使用初始化動作,即可為 Dataproc Hive 工作啟用資料沿襲功能。
在叢集上啟用 Hive 資料沿襲後,提交至叢集的 Hive 工作會擷取資料沿襲事件,並發布至 Dataplex Universal Catalog。
以視覺化方式呈現歷程資訊
資料歷程圖會顯示專案資源與建立這些資源的程序之間的關係。您可以在 Google Cloud 控制台中,使用 Dataplex Universal Catalog、BigQuery Studio 和 Vertex AI 存取沿襲圖。
定價
預先發布期間,Dataproc Hive 資料沿襲功能免費提供,不另外收費。適用標準 Dataproc 定價。
事前準備
在 Google Cloud 控制台的專案選擇器頁面中,選取包含要追蹤沿襲的 Dataproc 叢集的專案。
啟用 Data Lineage API 和 Dataplex API。
必要的角色
如要在 Dataproc 中使用資料沿襲功能,請要求管理員將下列 IAM 角色授予 Dataproc 叢集 VM 服務帳戶:
-
在 Dataplex Universal Catalog 中查看資料歷程,或使用 Data Lineage API:
資料歷程檢視者 (
roles/datalineage.viewer
) -
使用 API 手動產生資料歷程:
資料歷程事件產生者 (
roles/datalineage.producer
) -
使用 API 編輯資料歷程:
資料歷程編輯者 (
roles/datalineage.editor
) -
對資料歷程執行所有作業:
資料歷程管理員 (
roles/datalineage.admin
)
如要進一步瞭解如何授予角色,請參閱「管理專案、資料夾和機構的存取權」。
啟用 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 資料沿襲
本節範例包含下列步驟:
- 建立已啟用 Hive 資料沿襲的 Dataproc 叢集,並在叢集上安裝 Hive-BigQuery 連接器。
- 在叢集上執行 Hive 查詢,即可在 Hive 資料表之間複製資料。
- 在 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
注意:
- CLUSTER_NAME:叢集名稱。
- PROJECT_ID:您的 Google Cloud 專案 ID。 專案 ID 會列在 Google Cloud 控制台資訊主頁的「專案資訊」部分。
- REGION:叢集所在的 Compute Engine 地區。
- IMAGE_VERSION 叢集的預期映像檔版本。
--initialization-actions
:這些安裝動作位於 Cloud Storage,可安裝 Hive-BigQuery 連接器,並啟用 Hive 資料沿襲。- HIVE_BQ_VERSION:指定 Hive-BigQuery 連接器版本。
--metadata
標記會將版本傳遞至connectors.sh
初始化動作,以便在叢集上安裝 Hive-BigQuery 連接器。
執行 Hive 查詢
執行 Hive 查詢,完成下列動作:
- 使用
gs://cloud-samples-data/bigquery/hive-partitioning-samples/autolayout
輸入的樣本資料建立us_states
外部資料表。 - 在指定的 BigQuery 資料集中建立
us_states_copy
受管理資料表。 - 將所有資料從
us_states
複製到us_states_copy
。
執行查詢:
- 在本地終端機視窗或 Cloud Shell 中,使用
vi
或nano
等文字編輯器,將下列 Hive 查詢陳述式複製到hive-example.sql
檔案,然後將檔案儲存到目前目錄。 - 將
hive-example.sql
檔案提交至先前建立的 Dataproc 叢集,並將--execute HIVE_QUERY
旗標替換為--file SQL_FILE
旗標,指定已儲存hive-example.sql
檔案的位置。請注意,必須填入 PROJECT 和 BQ_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 中查看資料沿襲:
如要瞭解如何在 BigQuery Studio 中顯示圖表,請參閱「在 BigQuery 中查看沿襲」。如要瞭解如何解讀圖表,請參閱「資料沿革資訊模型」。
後續步驟
- 進一步瞭解資料歷程。