BigQuery 实体解析框架简介

本文档介绍了 BigQuery 实体解析框架的架构。实体解析能够匹配不存在通用标识符的共享数据中的记录,或使用 Google Cloud 合作伙伴提供的身份服务增强共享数据。

本文档适用于实体解析最终用户(以下称为“最终用户”)和身份提供方。如需了解实现详情,请参阅在 BigQuery 中配置和使用实体解析

您可以对在将数据贡献到数据净室之前准备的所有数据使用 BigQuery 实体解析。实体解析适用于按需价格和容量价格模式,以及所有 BigQuery 版本。

优势

作为最终用户,实体解析为您提供以下好处:

  • 您可以就地解析实体并且不产生数据转移费用,因为订阅者或 Google Cloud 合作伙伴会将您的数据与其身份表进行匹配,并将匹配结果写入项目中的数据集。
  • 您无需管理提取、转换和加载 (ETL) 作业。

作为身份提供方,实体解析为您提供以下好处:

  • 您可以在 Google Cloud Marketplace 上将实体解析作为托管式软件即服务 (SaaS) 产品提供给用户。
  • 您可以使用专有的身份图和匹配逻辑,不必向用户透露。

架构

BigQuery 使用远程函数调用来实现实体解析,这些调用会在身份提供方的环境中激活实体解析进程。在此过程中,无需复制或移动您的数据。下图和说明描述了实体解析的工作流:

该图显示了两个主要部分:最终用户项目和身份提供方项目。

  1. 最终用户向身份提供方的服务账号授予对其输入数据集的读取权限以及对其输出数据集的写入权限。
  2. 用户调用远程函数,以将其输入数据与提供方的身份图数据进行匹配。匹配的参数通过远程函数传递给提供方。
  3. 提供方的服务账号读取并处理输入数据集。
  4. 提供方的服务账号将实体解析结果写入用户的输出数据集。

以下部分介绍了最终用户组件和提供方项目。

最终用户组件

最终用户组件包括:

  • 远程函数调用:运行由身份提供方定义和实现的过程的调用。此调用会启动实体解析过程。
  • 输入数据集:包含要匹配的数据的源数据集。(可选)此数据集可以包含具有其他参数的元数据表。提供方指定输入数据集的架构要求。
  • 输出数据集:提供方将匹配结果存储为输出表的目标数据集。(可选)提供方可以将包含实体解析作业详情的作业状态表写入此数据集。输出数据集可以与输入数据集相同。

身份提供方组件

身份提供方组件包括:

  • 控制平面:包含一个编排匹配过程的 BigQuery 远程函数。此函数可以作为 Cloud Run 作业或 Cloud Run 函数实现。控制平面还可以包含其他服务,例如身份验证和授权。
  • 数据平面:包含身份图数据集以及实现提供方匹配逻辑的存储过程。存储过程可以作为 SQL 存储过程Apache Spark 存储过程实现。身份图数据集包含用于匹配最终用户数据的表。

后续步骤