使用 BigQuery DataFrames 同步线上和线下数据集
将 Bigtable 与 BigQuery 搭配使用,您可以构建实时分析数据库,并将其用于机器学习 (ML) 流水线。 这样,您就可以保持数据同步,支持数据处理和模型开发(离线访问),以及低延迟应用服务(在线访问)。
如需构建实时分析数据库,您可以使用 BigQuery DataFrames,这是一组用于 BigQuery 数据处理的开源 Python 库。借助 BigQuery DataFrames,您可以在 BigQuery 中开发和训练模型,并自动将用于机器学习模型的最新数据值复制到 Bigtable 中,以用于在线传送。
本文档简要介绍了如何使用 bigframes.streaming API 创建 BigQuery 作业,以在 BigQuery 和 Bigtable 之间自动复制和同步数据集。在阅读本文档之前,请确保您了解以下文档:
BigQuery DataFrames
BigQuery DataFrames 可帮助您在 BigQuery 中开发和训练模型,并自动将用于机器学习模型的最新数据值复制到 Bigtable 中,以用于在线传送。它支持您执行以下操作:
- 在与 Pandas 兼容的界面 (
bigframes.pandas) 中直接针对 BigQuery 数据开发数据转换 - 使用类似于 scikit-learn 的 API (
bigframes.ML) 训练模型 - 将低延迟推理所需的数据与 Bigtable (
bigframes.streaming) 同步,以支持面向用户的应用
BigFrames StreamingDataFrame
bigframes.streaming.StreamingDataFrame 是 BigQuery DataFrames 软件包中的一种 DataFrame 类型。借助该类,您可以创建 StreamingDataFrame 对象,该对象可用于生成持续运行的作业,该作业会将指定 BigQuery 表中的数据流式传输到 Bigtable 以进行在线传送。这是通过生成
BigQuery 持续查询来实现的。
BigFrames StreamingDataFrame 可以执行以下操作:
- 从指定的 BigQuery 表创建
StreamingDataFrame - (可选)执行其他 Pandas 操作,例如选择、过滤和预览内容
- 创建和管理向 Bigtable 传送数据的流式处理作业
所需的角色
如需获得在 BigQuery 笔记本中使用 BigQuery DataFrames 所需的权限,请让管理员向您授予以下 IAM 角色:
如需获得向 Bigtable 表写入数据所需的权限,请让您的管理员为您授予以下 IAM 角色:
开始使用
BigQuery DataFrames 是一个开源软件包。 如需安装最新版本,请运行 pip install --upgrade bigframes。
如需创建第一个 BigFrames StreamingDataFrame 并在 BigQuery 和 Bigtable 之间同步数据,请运行以下代码段。如需查看完整的代码示例,请参阅 GitHub 笔记本 BigFrames StreamingDataFrame。