创建 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 数据库时,请注意以下事项:
- 只有 Hive 2.3.6 和 3.1.2 版本支持 Spanner。
- Spanner 仅支持 Avro 导入。
其他详情
下表详细介绍了这些差异。
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。
- 了解适用于您的项目的网络要求。
所需的角色
如需获得创建 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
。