Versiones auxiliares

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

Las versiones auxiliares te permiten conectar dos versiones diferentes de un metastore de Hive a un solo 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 varios 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 independiente para cada versión de metastore de Hive. Sin embargo, ambos extremos siguen compartiendo la misma base de datos de metadatos.

Esta función no te permite usar diferentes conjuntos de metadatos con un solo servicio de Dataproc Metastore. En cambio, te ofrece una manera de ampliar y mejorar la compatibilidad entre tus 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 una versión inferior del metastore de Hive que la versión principal.

  • La versión auxiliar mantiene un archivo de registro independiente de la versión principal. Para depurar problemas del metastore 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 la versión auxiliar y la principal. Esta compatibilidad depende de las versiones de Hive que uses para tus versiones principales y auxiliares, y de los métodos que sean compatibles entre las versiones de Hive.

  • La versión auxiliar no admite todas las funciones de una instancia principal de Dataproc Metastore. Por ejemplo, la inserción de registros en una tabla transaccional de Hive no es compatible con un cliente de Hive 2 que se comunica con una versión auxiliar 2.3.6. Sin embargo, esta operación es compatible con un cliente Hive 3 que se comunica 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.

  • Se evita la creación de tablas transaccionales con la versión auxiliar o la inserción de datos en tablas transaccionales en la versión auxiliar.

Propiedades compartidas entre versiones

Cuando creas una versión auxiliar, algunas propiedades se comparten y permanecen comunes entre la versión auxiliar y la versión principal. Otras propiedades no se comparten y son independientes entre ambas versiones.

En la siguiente tabla, se muestran 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 Cloud Storage de artefactos
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 (principal 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 el permiso metastore.services.create, que se requiere para crear un metastore de Dataproc 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 los roles y permisos específicos de Dataproc Metastore, consulta Administra el acceso de Dataproc con 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: Es una lista separada por comas de las versiones del 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, 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 de tu 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 tu Dataproc Metastore.
  • AUX_VERSIONS: Es una lista separada por comas de las versiones de metastore de Hive que se implementarán. Solo se admite una versión auxiliar.

Actualiza 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 las 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 Detalles 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 habilitar o inhabilitar las versiones auxiliares.

    Puedes completar las siguientes tareas:

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

    2. Para agregar una nueva versión auxiliar, 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, ejecuta uno de los siguientes comandos 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: Es 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: 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 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 versión 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 en el que creas el clúster del servicio de Dataproc Metastore.
  • LOCATION: Es la región en la que reside tu Dataproc Metastore.
  • AUX_VERSIONS: Es una lista separada por comas de las versiones del almacén de metadatos de Hive auxiliares que se implementarán.

¿Qué sigue?