使用 Bigtable Spark 连接器

借助 Bigtable Spark 连接器,您可以从 Bigtable 中读取数据以及向 Bigtable 中写入数据。您可以使用 Spark SQL 和 DataFrame 从 Spark 应用中读取数据。Bigtable Spark 连接器支持以下 Bigtable 操作:

  • 写入数据
  • 读取数据
  • 创建新表

本文档介绍了如何将 Spark SQL DataFrames 表转换为 Bigtable 表,然后编译并创建 JAR 文件以提交 Spark 作业。

Spark 和 Scala 支持状态

Bigtable Spark 连接器支持以下 Scala 版本:

Bigtable Spark 连接器支持以下 Spark 版本:

Bigtable Spark 连接器支持以下 Managed Service for Apache Spark 版本:

如需了解详情,请参阅 Managed Service for Apache Spark 集群映像版本列表

计算费用

如果您决定使用 Google Cloud的以下任何收费组件,则需要为所使用的资源付费:

  • Bigtable(使用 Bigtable 模拟器无需付费)
  • Managed Service for Apache Spark
  • Cloud Storage

Managed Service for Apache Spark 定价适用于在 Compute Engine 集群上使用 Managed Service for Apache Spark。Managed Service for Apache Spark Serverless 定价适用于在 Managed Service for Apache Spark Serverless for Spark 上运行的工作负载和会话。

您可使用价格计算器根据您的预计使用量来估算费用。

准备工作

在使用 Bigtable Spark 连接器之前,请完成以下前提条件。

所需的角色

如需获得使用 Bigtable Spark 连接器所需的权限,请让您的管理员为您授予项目的以下 IAM 角色:

  • Bigtable Administrator (roles/bigtable.admin)(可选):可让您读取或写入数据,以及创建新表。
  • Bigtable User (roles/bigtable.user):可让您读取或写入数据,但不能让您创建新表。

如需详细了解如何授予角色,请参阅管理对项目、文件夹和组织的访问权限

您也可以通过自定义角色或其他预定义角色来获取所需的权限。

如果您使用的是 Managed Service for Apache Spark 或 Cloud Storage,可能需要额外权限。如需了解详情,请参阅 Managed Service for Apache Spark 权限Cloud Storage 权限。

设置 Spark

除了创建 Bigtable 实例之外,您还需要设置 Spark 实例。您可以本地执行此操作,也可以选择以下任一选项,将 Spark 与 Managed Service for Apache Spark 搭配使用:

  • Managed Service for Apache Spark 集群
  • Managed Service for Apache Spark 无服务器版

如需详细了解如何选择 Managed Service for Apache Spark 集群或无服务器选项,请参阅将 Managed Service for Apache Spark Serverless for Spark 与 Compute Engine 上的 Managed Service for Apache Spark 进行比较 文档。

下载连接器 JAR 文件

您可以在 Bigtable Spark 连接器 GitHub 代码库中找到 Bigtable Spark 连接器源代码及示例。

您可以根据自己的 Spark 设置,按如下方式访问 JAR 文件:

  • 如果您在本地运行 PySpark,则应从 gs://spark-lib/bigtable/spark-bigtable_SCALA_VERSION-CONNECTOR_VERSION.jar Cloud Storage 位置下载连接器的 JAR 文件。

    SCALA_VERSION 替换为 2.122.13(这是唯一受支持的 Scala 版本),并将 CONNECTOR_VERSION 替换为您要使用的连接器版本。

  • 对于 Managed Service for Apache Spark 集群或无服务器选项,请使用最新的 JAR 文件作为可在 Scala 或 Java Spark 应用中添加的制品。如需详细了解如何将 JAR 文件用作制品,请参阅管理依赖项