Cuando creas un servicio de Dataproc Metastore, debes elegir entre el tipo de base de datos MySQL o el tipo de base de datos Spanner.
Esta opción afecta a las funciones que puedes integrar y usar con tu servicio Dataproc Metastore. Es importante tener en cuenta que no puedes actualizar el tipo de base de datos después de crear un servicio Dataproc Metastore. Asegúrate de elegir el tipo de base de datos adecuado para tus necesidades.
En esta página se explican las diferencias entre estos tipos de bases de datos y cómo seleccionar uno para tu servicio.
Diferencias entre MySQL y Spanner
MySQL
El tipo de base de datos MySQL de Dataproc Metastore es una implementación de Cloud SQL. Ten en cuenta lo siguiente cuando uses una base de datos MySQL:
- MySQL es el tipo de base de datos predeterminado al crear un metastore de Dataproc.
- Todas las versiones de Hive son compatibles con MySQL.
- MySQL es compatible con todas las funciones de Dataproc Metastore.
- MySQL admite el cifrado de Dataproc Metastore, como el uso de claves de cifrado gestionadas por el cliente (CMEK).
Spanner
El tipo de base de datos de Spanner de Dataproc Metastore es una implementación de Spanner. Ten en cuenta lo siguiente cuando uses una base de datos de Spanner:
- Spanner solo es compatible con las versiones 2.3.6 y 3.1.2 de Hive.
- Spanner solo admite importaciones de Avro.
Información adicional
En la siguiente tabla se ofrecen más detalles sobre estas diferencias.
MySQL | Spanner | |
---|---|---|
Fiabilidad (tiempo de actividad) | SLO de Cloud SQL del 99,95%* | Objetivo de nivel de servicio de Spanner del 99,99%* |
Ventanas de mantenimiento | Obligatorio | No se requiere |
Notas:
- *Los SLOs de Cloud SQL y Spanner no se traducen directamente a los SLOs de Dataproc Metastore. Dataproc Metastore El tipo de base de datos que elijas no afectará a los acuerdos de nivel de servicio de Dataproc Metastore.
- No hay ninguna diferencia de precio entre los dos tipos de bases de datos.
Antes de empezar
- Habilita Dataproc Metastore en tu proyecto.
- Conocer los requisitos de red específicos de tu proyecto.
Roles obligatorios
Para obtener el permiso que necesitas para crear un metastore de Dataproc, pide a tu administrador que te conceda los siguientes roles de gestión de identidades y accesos en tu proyecto, según el principio de privilegio mínimo:
-
Conceder control total sobre los recursos de Dataproc Metastore (
roles/metastore.editor
) -
Concede acceso completo a todos los recursos de Dataproc Metastore, incluida la administración de políticas de gestión de identidades y accesos (
roles/metastore.admin
)
Para obtener más información sobre cómo conceder roles, consulta el artículo Gestionar el acceso a proyectos, carpetas y organizaciones.
Este rol predefinido contiene el permiso metastore.services.create
, que es necesario para crear un metastore de Dataproc.
También puedes obtener este permiso con roles personalizados u otros roles predefinidos.
Para obtener más información sobre roles y permisos específicos de Dataproc Metastore, consulta Gestionar el acceso a Dataproc con IAM.Elige el tipo de base de datos
El tipo de base de datos se elige al crear un servicio de Dataproc Metastore.
En el siguiente ejemplo se muestra una versión abreviada de los pasos que debes seguir para elegir un tipo de base de datos. Para ver instrucciones detalladas, consulta el artículo Crear un servicio de Dataproc Metastore.
Consola
En la Google Cloud consola, abre la página Dataproc Metastore:
En la barra de navegación, haz clic en Crear.
Se abrirá la página Crear servicio.
En Tipo de base de datos, selecciona MySQL o Spanner.
MySQL es el tipo de base de datos predeterminado.
Elige las configuraciones restantes de tu servicio según sea necesario.
Haz clic en Enviar.
CLI de gcloud
Ejecuta el siguiente comando
gcloud metastore services create
:gcloud metastore services create SERVICE_ID \ --location=LOCATION \ --database-type=DATABASE_TYPE; default="mysql"
Haz los cambios siguientes:
SERVICE_ID
: nombre o ID de tu servicio de Dataproc Metastore.LOCATION
: la región en la que se encuentra tu servicio de Dataproc Metastore.DATABASE_TYPE
: el tipo de base de datos que quieras definir para tu servicio Dataproc Metastore. Los valores aceptados sonmysql
yspanner
. El valor predeterminado esmysql
.