数据库类型

创建 Dataproc Metastore 服务时,您必须选择使用 MySQL 数据库类型或 Spanner 数据库类型。

此选择会影响您可以与 Dataproc Metastore 服务集成和使用的功能。请务必注意,创建 Dataproc Metastore 服务后,您无法更新数据库类型。请确保选择适合您需求的数据库类型。

本页面介绍了这些数据库类型之间的区别,以及如何为您的服务选择一种数据库类型。

MySQL 和 Spanner 之间的区别

MySQL

Dataproc Metastore MySQL 数据库类型是 Cloud SQL 的一种实现。 使用 MySQL 数据库时,请注意以下事项:

  • 创建 Dataproc Metastore 时,MySQL 是默认数据库类型。
  • 所有 Hive 版本都支持 MySQL。
  • MySQL 支持所有 Dataproc Metastore 功能。
  • MySQL 支持 Dataproc Metastore 加密,例如使用客户管理的加密密钥 (CMEK)。

Spanner

Dataproc Metastore Spanner 数据库类型是 Spanner 的一种实现。 使用 Spanner 数据库时,请注意以下事项:

  • Spanner 仅在 Hive 2.3.6 和 3.1.2 版本上受支持。
  • Spanner 仅支持 Avro 导入。
  • 表中支持的最大列数为 5,000。

其他详情

下表提供了有关这些区别的其他详情。

MySQL Spanner
可靠性(正常运行时间) Cloud SQL SLO 99.95%* Spanner SLO 99.99%*
维护期 必填 不需要

注意:

  • *Cloud SQL 和 Spanner SLO 不会直接 转换为 Dataproc Metastore SLO。 Dataproc Metastore 数据库类型选择不会影响 Dataproc Metastore SLO。
  • 这两种数据库类型之间没有价格差异。

准备工作

所需的角色

如需获得创建 Dataproc Metastore 所需的权限,请让管理员根据最小权限原则向您授予项目的以下 IAM 角色:

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

此预定义角色包含创建 Dataproc Metastore 所需的 metastore.services.create 权限, 该权限是创建 Dataproc Metastore 所必需的。

您也可以使用自定义角色或其他预定义角色来获取此权限。

如需详细了解特定的 Dataproc Metastore 角色和 权限,请参阅使用 IAM 管理 Managed Service for Apache Spark 访问权限

选择数据库类型

您可以在首次创建 Dataproc Metastore 服务时选择数据库类型。

以下示例展示了选择数据库类型时所遵循步骤的简短版本。如需完整的分步说明,请参阅 创建 Dataproc Metastore 服务

控制台

  1. 在 Google Cloud 控制台中,打开 Dataproc Metastore 页面:

    打开 Dataproc Metastore

  2. 在导航栏中,点击创建

    此时会打开创建服务 页面。

  3. 对于数据库类型 ,选择 MySQLSpanner

    MySQL 是默认数据库类型。

  4. 根据需要,为您的服务选择其余配置

  5. 点击提交

gcloud CLI

  1. 运行以下 gcloud metastore services create 命令:

    gcloud metastore services create SERVICE_ID \
       --location=LOCATION \
       --database-type=DATABASE_TYPE; default="mysql"
    

    替换以下内容:

    • SERVICE_ID:Dataproc Metastore 服务的名称或 ID。
    • LOCATION:Dataproc Metastore 服务所在的区域。
    • DATABASE_TYPE:您要为 Dataproc Metastore 服务设置的数据库类型。 接受的值包括 mysqlspanner。默认值为 mysql

后续步骤