Versiones auxiliares

En esta página, se explica cómo usar la función de versiones auxiliares con Dataproc Metastore.

Las versiones auxiliares permiten conectar dos versiones diferentes de un almacén de metadatos de Hive un único servicio de Dataproc Metastore. Esta configuración te permite admitir varios motores de procesamiento de datos que deben ejecutarse en diferentes versiones de Hive Metastore.

Por ejemplo, con las versiones auxiliares, puedes conectar múltiples clústeres de Dataproc al mismo servicio de Dataproc Metastore. En esta configuración, un clúster puede ejecutar la versión 2.0 de Dataproc mientras que el otro ejecuta la versión 1.5 de Dataproc. El clúster de Dataproc 2.0 puede conectarse a un extremo que expone la versión 3.1.2 de Hive, mientras que el clúster de Dataproc 1.5 se conecta a un extremo que expone la versión 2.3.6 de Hive.

Cómo funcionan las versiones auxiliares

Cuando habilitas las versiones auxiliares, Dataproc Metastore expone un extremo separado para cada versión del almacén de metadatos de Hive. Sin embargo, tanto y extremos comparten la misma base de datos de metadatos.

Esta función no te permite usar diferentes conjuntos de con un único servicio de Dataproc Metastore. En cambio, ofrece un para extender y mejorar la compatibilidad entre sus servicios.

Consideraciones

General

  • Solo puedes crear una versión auxiliar para cada servicio de Dataproc Metastore.

  • La versión auxiliar se debe configurar para usar un almacén de metadatos de Hive inferior más antigua que la principal.

  • La versión auxiliar mantiene un archivo de registro independiente de la versión principal. Para depurar problemas del almacén de metadatos de Hive, puedes usar Cloud Logging.

Compatibilidad de características

  • La versión auxiliar no admite las siguientes funciones:

  • Es posible que algunos métodos de Hive no sean compatibles entre el modelo auxiliar y versión principal. Esta compatibilidad depende de las versiones de Hive usando para tus versiones primarias y auxiliares y los métodos que se compatibles entre las versiones de Hive.

  • La versión auxiliar no admite todas las funciones de una instancia principal de Dataproc Metastore. Por ejemplo, insertar registros en un La tabla transaccional de Hive no es compatible con las interfaces de clientes de Hive 2 con una versión auxiliar 2.3.6. Sin embargo, esta operación se admite con un Interfaz del cliente de Hive 3 con la versión principal 3.1.2

    Si una función de una versión anterior de Hive deja de estar disponible en una versión posterior, la versión auxiliar inferior correspondiente no admitirá la función obsoleta. Por ejemplo, Hive 2 admite índices, pero una versión auxiliar que ejecuta Hive 2.3.6 no admitirá el índice si la versión principal ejecuta Hive 3.1.2.

  • Crear tablas transaccionales con la versión auxiliar o insertar alguna de los datos en las tablas transaccionales de la versión auxiliar.

Propiedades compartidas entre versiones

Cuando creas una versión auxiliar, algunas propiedades se comparten y siguen siendo comunes entre la versión auxiliar y la principal versión. Las demás propiedades no se comparten y son independientes entre ambas versiones.

En la siguiente tabla, se enumeran estas diferencias.

Propiedades Nombre Separado
Extremo
Anulaciones de configuración de Hive*
Configuración de Kerberos
Protocolo de extremo (Thrift/gRPC)
Puerto de ahorro
Bucket de artefactos de Cloud Storage
Nivel
Período de mantenimiento
Canal de versiones
Configuración de encriptación
Tipo de base de datos
Interruptor de sincronización de Data Catalog
Métrica de recuento de solicitudes
Parámetros de configuración de red

* Las anulaciones de configuración de Hive permanecen separadas entre la versión auxiliar y la principal. Sin embargo, la versión auxiliar hace referencia a una lista combinada. de las anulaciones (primaria y auxiliar). En este caso, la configuración auxiliar tiene prioridad sobre la configuración principal.

Antes de comenzar

Funciones requeridas

Para obtener el permiso que necesitas para crear un metastore de Dataproc que use versiones auxiliares, pídele a tu administrador que te otorgue los siguientes roles de IAM en tu proyecto, según el principio de privilegio mínimo:

Para obtener más información sobre cómo otorgar roles, consulta Administra el acceso a proyectos, carpetas y organizaciones.

Este rol predefinido contiene las metastore.services.create permiso, que se requiere para crear un Dataproc Metastore que use versiones auxiliares

También puedes obtener este permiso con roles personalizados o con otros roles predefinidos.

Para obtener más información sobre roles específicos de Dataproc Metastore y permisos, consulta Administra el acceso a Dataproc con la IAM.

Crea una versión auxiliar para un servicio nuevo

En el siguiente ejemplo, se muestra una versión abreviada de los pasos que debes seguir para habilitar las versiones auxiliares. Para obtener instrucciones completas paso a paso sobre todo el proceso que debes seguir, consulta Cómo crear un Dataproc Metastore.

Console

  1. En la consola de Google Cloud, abre la página Dataproc Metastore:

    Abrir Dataproc Metastore

  2. En la parte superior de la página Dataproc Metastore haz clic en el botón Crear.

    Se abrirá la página Crear servicio.

  3. En Configuración de la versión auxiliar, habilita las versiones auxiliares.

  4. Haz clic en Agregar versión auxiliar.

    1. Ingresa un nombre para la versión auxiliar.

    2. Selecciona una versión para tu versión auxiliar.

    3. Opcional: Para aplicar una asignación a la versión auxiliar, haz clic en + Agregar anulaciones.

    4. Haz clic en Listo.

  5. Elige las configuraciones restantes para tu servicio según sea necesario.

  6. Haz clic en Enviar.

gcloud CLI

  1. Para crear un servicio de Dataproc Metastore con una versión auxiliar, ejecuta uno de los siguientes comandos gcloud metastore services create:

    gcloud metastore services create SERVICE \
        --location=LOCATION \
        --auxiliary-versions=AUXILIARY_VERSIONS, ...
    
    • SERVICE: Es el nombre de tu servicio de Dataproc Metastore.
    • LOCATION: Es la región en la que deseas crear tu servicio de Dataproc Metastore.
    • AUXILIARY_VERSIONS: una lista separada por comas de los Versiones de almacén de metadatos de Hive que se implementarán para tu versión auxiliar Solo se admite una versión auxiliar. Usa el siguiente formato "2.3.6".
    • AUXILIARY_VERSIONS_FROM_FILE: Es una ruta de acceso a un archivo YAML que contiene la configuración de las versiones auxiliares. Para obtener más información y ver un ejemplo, consulta la documentación del SDK.
  2. Verifica que la creación se haya realizado correctamente.

curl

Para crear un servicio de Dataproc Metastore con una versión auxiliar, sigue estos pasos: Usa el método create.

curl -X POST -s -i \
     -H "Authorization: Bearer $(gcloud auth print-access-token)" \
     -d '{"network":"projects/PROJECT_ID/global/networks/default", "port": 9083, "hive_metastore_config": {"auxiliary_versions": {"aux-version1": {"version": "AUX_VERSION"} } } }' \
     -H "Content-Type:application/json" \
     https://metastore.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION/services?service_id=SERVICE_ID

Reemplaza lo siguiente:

  • SERVICE_ID: Es el nombre del nuevo. Servicio de Dataproc Metastore.
  • PROJECT_ID: Es el ID del proyecto de Google Cloud en el que creas el servicio de Dataproc Metastore.
  • LOCATION: Es la región en la que reside Dataproc Metastore.
  • AUX_VERSIONS: Una lista de Hive separada por comas del almacén de metadatos que se implementarán. Solo se admite una versión auxiliar.

Cómo actualizar una versión auxiliar de un servicio existente

En las siguientes instrucciones, se muestra cómo actualizar un servicio existente de Dataproc Metastore que usa versiones auxiliares.

Cuando ejecutas una operación de actualización, puedes completar las siguientes tareas:

  • Agrega una nueva versión auxiliar.
  • Borra una versión auxiliar existente.
  • Agrega o modifica anulaciones de una versión auxiliar existente.

Console

  1. En la consola de Google Cloud, abre la página Dataproc Metastore:

    Abrir Dataproc Metastore

  2. En la página Dataproc Metastore, haz clic en el nombre del servicio que quieres actualizar.

    Se abrirá la página Detalle del servicio.

  3. En la pestaña Configuración, haz clic en Editar.

    Se abrirá la página Editar servicio.

  4. En la sección Configuración de la versión auxiliar, haz clic en el botón de activación para habilitarlo. o inhabilitar versiones auxiliares.

    Puedes completar las siguientes tareas:

    1. Para borrar una versión auxiliar existente, haz clic en Borrar.

    2. Para agregar una versión auxiliar nueva, haz clic en Agregar versión auxiliar.

    3. Para aplicar una asignación de anulación a una versión auxiliar, haz clic en + Agregar anulaciones.

  5. Haz clic en Enviar.

gcloud CLI

  1. Para actualizar un servicio de Dataproc Metastore que usa una versión auxiliar, sigue estos pasos: Ejecuta uno de los siguientes comandos de gcloud metastore services update:

    gcloud metastore services update SERVICE \
       --location=LOCATION \
       --add-auxiliary-versions=AUXILIARY_VERSIONS, ...
    

    o

    gcloud metastore services update SERVICE \
       --location=LOCATION \
       --update-auxiliary-versions-from-file=AUXILIARY_VERSIONS_FROM_FILE
    

    Reemplaza lo siguiente:

    • SERVICE: Es el nombre de tu Servicio de Dataproc Metastore.
    • LOCATION: La región en la que reside tu Dataproc Metastore.
    • AUXILIARY_VERSIONS: Es una lista separada por comas de las versiones del almacén de metadatos de Hive auxiliares que se implementarán.
    • AUXILIARY_VERSIONS_FROM_FILE: Una ruta a un archivo YAML que contenga la configuración de las versiones auxiliares; para obtener más información y un ejemplo, consulta la Documentación del SDK.
  2. Verifica que la actualización se haya realizado correctamente.

curl

Para actualizar un servicio de Dataproc Metastore que usa una herramienta auxiliar usa el método patch.

curl -X PATCH -s -i \
   -H "Authorization: Bearer $(gcloud auth print-access-token)" \
   -d '{"hive_metastore_config": {"auxiliary_versions": {"aux-version1": {"version": "AUX_VERSION} } } }' \
   -H "Content-Type:application/json" \
   https://metastore.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION/services/SERVICE_ID?update_mask=hive_metastore_config.auxiliary_versions

Reemplaza lo siguiente:

  • SERVICE_ID: Es el nombre de tu servicio de Dataproc Metastore.
  • PROJECT_ID: Es el ID del proyecto de Google Cloud que estás creando. Clúster de servicio de Dataproc Metastore.
  • LOCATION: Es la región en la que se reside Dataproc Metastore.
  • AUX_VERSIONS: Es una lista separada por comas de las versiones auxiliares del almacén de metadatos de Hive que se implementarán.

¿Qué sigue?