创建 Dataproc Metastore 服务时,您必须选择使用 MySQL 数据库类型或 Spanner 数据库类型。
此选择会影响可与 Dataproc Metastore 服务集成和使用的功能。请务必注意,创建 Dataproc Metastore 服务后,您将无法更新数据库类型。请务必根据您的需求选择适当的数据库类型。
本页面介绍了这些数据库类型之间的区别,以及如何为您的服务选择一种数据库类型。
MySQL 与 Spanner 之间的区别
MySQL
Dataproc Metastore MySQL 数据库类型是 Cloud SQL 的实现。使用 MySQL 数据库时,请注意以下事项:
- MySQL 是创建 Dataproc Metastore 时的默认数据库类型。
- 所有 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 导入。
其他详情
下表提供了有关这些差异的其他详细信息。
MySQL | Spanner | |
---|---|---|
可靠性(正常运行时间) | Cloud SQL SLO 99.95%* | Spanner 服务等级目标为 99.99%* |
维护窗口 | 需要 | 不需要 |
备注:
- *Cloud SQL 和 Spanner SLO 不会直接转换为 Dataproc Metastore SLO。Dataproc Metastore 您选择的数据库类型不会影响 Dataproc Metastore SLO。
- 这两种数据库类型在价格上没有差异。
准备工作
- 在您的项目中启用 Dataproc Metastore。
- 了解特定于您的项目的网络要求。
必需的角色
如需获取创建 Dataproc Metastore 所需的权限,请让管理员根据最小权限原则向您授予项目的以下 IAM 角色:
-
授予对 Dataproc Metastore 资源的完全控制权 (
roles/metastore.editor
) -
授予对所有 Dataproc Metastore 资源的完整访问权限,包括 IAM 政策管理 (
roles/metastore.admin
)
如需详细了解如何授予角色,请参阅管理访问权限。
此预定义角色包含创建 Dataproc Metastore 所需的 metastore.services.create
权限。
选择数据库类型
首次创建 Dataproc Metastore 服务时,您可以选择数据库类型。
以下示例显示了选择数据库类型时所遵循的步骤的简化版本。如需了解完整的分步说明,请参阅创建 Dataproc Metastore 服务。
控制台
在 Google Cloud 控制台中,打开 Dataproc Metastore 页面:
点击导航栏中的创建。
此时会打开创建服务页面。
对于数据库类型,选择 MySQL 或 Spanner。
MySQL 是默认数据库类型。
根据需要选择服务的其余配置。
点击提交。
gcloud CLI
运行以下
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 服务设置的数据库类型。接受的值包括mysql
和spanner
。默认值为mysql
。