本文档介绍了如何为 Dataproc Hive 作业启用和使用数据谱系。
在创建集群时,您可以使用初始化操作为 Dataproc Hive 作业启用数据传承。
在集群上启用 Hive 数据谱系后,您提交到集群的 Hive 作业会捕获数据谱系事件并将其发布到 Dataplex。
直观呈现数据沿袭信息
数据沿袭图会显示项目资源与创建这些资源的过程之间的关系。您可以在 Google Cloud 控制台中使用 Dataplex、BigQuery Studio 和 Vertex AI 访问谱系图。
价格
在预览期间,Dataproc Hive 数据谱系免费提供。系统会按标准 Dataproc 价格收费。
准备工作
在 Google Cloud 控制台的项目选择器页面上,选择包含您要跟踪其沿袭的 Dataproc 集群的项目。
启用 Data Lineage API 和 Dataplex API。
所需的角色
如需获得在 Dataproc 中使用数据源流水线所需的权限,请让您的管理员为您授予 Dataproc 集群 VM 服务账号的以下 IAM 角色:
-
在 Dataplex 中查看数据沿袭,或使用 Data Lineage API:
Data Lineage Viewer (
roles/datalineage.viewer
) -
使用 API 手动生成数据源流:
Data Lineage Events Producer (
roles/datalineage.producer
) -
使用 API 修改数据源流:Data Lineage Editor (
roles/datalineage.editor
) -
对数据沿袭执行所有操作:
Data Lineage Administrator (
roles/datalineage.admin
)
如需详细了解如何授予角色,请参阅管理对项目、文件夹和组织的访问权限。
启用 Hive 数据沿袭
如需在集群上启用 Hive 数据谱系,请在创建 Dataproc 集群时指定 hive-lineage.sh
初始化操作。此初始化操作存储在 Cloud Storage 的区域存储分区中。
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 数据沿袭功能创建的 Dataproc 集群提交 Hive 作业时,Dataproc 会捕获数据沿袭信息并将其报告给 Dataplex。
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 查询。您可以将
--execute HIVE_QUERY
标志替换为--file SQL_FILE
标志,以指定包含查询的文件的位置,而不是指定查询。
查看 Dataplex 中的沿袭
沿袭图表会显示项目资源与创建这些资源的流程之间的关系。您可以在 Google Cloud 控制台中查看数据谱系信息,也可以以 JSON 数据的形式从 Data Lineage API 检索数据谱系信息。
使用 BigQuery 的 Hive 数据谱系示例
本部分中的示例包含以下步骤:
- 创建一个已启用 Hive 数据谱系且在集群上安装了 Hive-BigQuery 连接器的 Dataproc 集群。
- 在集群上运行 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 中查看沿袭。如需了解如何理解图表,请参阅数据沿袭信息模型。
后续步骤
- 详细了解数据沿袭。