Cuando creas un servicio de Dataproc Metastore, debes elegir usar el tipo de base de datos MySQL o el tipo de base de datos Spanner.
Esta elección afecta las funciones que puedes integrar y usar con tu servicio de Dataproc Metastore. Es importante tener en cuenta que no puedes actualizar el tipo de base de datos después de crear un servicio de 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 cuando se crea un Dataproc Metastore.
- MySQL es compatible con todas las versiones de Hive.
- MySQL admite todas las funciones de Dataproc Metastore.
- MySQL admite el encriptado de Dataproc Metastore, como el uso de claves de encriptación administradas por el cliente (CMEK).
Spanner
El tipo de base de datos Spanner de Dataproc Metastore es una implementación de Spanner. Ten en cuenta lo siguiente cuando uses una base de datos Spanner:
- Spanner solo es compatible con las versiones 2.3.6 y 3.1.2 de Hive.
- Spanner solo admite importaciones de Avro.
- La cantidad máxima admitida de columnas en una tabla es de 5,000.
Detalles adicionales
En la siguiente tabla, se proporcionan detalles adicionales sobre estas diferencias.
| MySQL | Spanner | |
|---|---|---|
| Confiabilidad (tiempo de actividad) | SLO de Cloud SQL 99.95%* | SLO de Spanner 99.99%* |
| Períodos de mantenimiento | Obligatorio | No requeridos |
Notas:
- * Los SLO de Cloud SQL y Spanner no se traducen directamente a los SLO de Dataproc Metastore. Dataproc Metastore La selección del tipo de base de datos no afecta los SLO de Dataproc Metastore.
- No hay diferencia de precios entre los dos tipos de bases de datos.
Antes de comenzar
- Habilita Dataproc Metastore en tu proyecto.
- Comprende los requisitos de red específicos de tu proyecto.
Funciones requeridas
Para obtener el permiso que necesitas para crear un Dataproc Metastore, pídele a tu administrador que te otorgue los siguientes roles de IAM en tu proyecto, según el principio de privilegio mínimo:
- Otorgar control total de los recursos de Dataproc Metastore (
roles/metastore.editor) - Otorgar acceso completo a todos los recursos de Dataproc Metastore, incluida la administración de políticas de IAM (
roles/metastore.admin)
Para obtener más información sobre cómo otorgar roles, consulta Administra el acceso a proyectos, carpetas y organizaciones.
Este rol predefinido contiene el
metastore.services.create
permiso,
que se requiere para
crear un Dataproc Metastore.
También puedes obtener este permiso con roles personalizados o otros roles predefinidos.
Para obtener más información sobre los roles y permisos específicos de Dataproc Metastore, consulta Administra el acceso a Managed Service para Apache Spark con IAM.Elige tu tipo de base de datos
El tipo de base de datos se elige cuando creas un servicio de Dataproc Metastore por primera vez.
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 obtener instrucciones completas paso a paso, consulta Crea un servicio de Dataproc Metastore.
Console
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 para tu servicio, según sea necesario.
Haz clic en Enviar.
gcloud CLI
Ejecuta el siguiente
gcloud metastore services createcomando:gcloud metastore services create SERVICE_ID \ --location=LOCATION \ --database-type=DATABASE_TYPE; default="mysql"
Reemplaza lo siguiente:
SERVICE_ID: Es el nombre o el ID de tu servicio de Dataproc Metastore.LOCATION: Es la región en la que reside tu servicio de Dataproc Metastore.DATABASE_TYPE: Es el tipo de base de datos que deseas configurar para tu servicio de Dataproc Metastore. Los valores aceptados incluyenmysqlyspanner. El valor predeterminado esmysql.
¿Qué sigue?
- Creación de servicio
- Actualización y eliminación de un servicio
- Almacenamiento de datos para tablas internas