Crea un servicio de integración de metadatos

En esta página, se explica cómo crear un servicio de integración de metadatos para Dataproc Metastore. Un servicio de federación te permite acceder a los metadatos que se almacenan en varias fuentes desde un solo extremo de gRPC.

Para obtener más información sobre cómo funciona la integración y sus limitaciones, consulta Acerca de la integración de metadatos.

Antes de comenzar

Funciones requeridas

Para obtener los permisos que necesitas para crear un servicio de integración y conectar un clúster de Dataproc, siguiendo el principio de privilegio mínimo, pídele a tu administrador que te otorgue los siguientes roles de IAM:

  • Para acceder al servicio de integración: Accesor de integración (roles/metastore.federationAccessor) en la cuenta de usuario o de servicio
  • Para otorgar control total de todos los recursos de Dataproc Metastore, usa el editor de Dataproc Metastore (roles/metastore.editor) en la cuenta de usuario o de servicio.
  • Para completar operaciones de metadatos en un Dataproc Metastore configurado con un servicio de federación, haz lo siguiente: Propietario del almacén de metadatos (metastore.metadataEditor) en la cuenta de usuario o de servicio
  • Para crear un clúster de Dataproc, usa el trabajador de Dataproc (roles/dataproc.worker) en la cuenta de servicio de VM de Dataproc.
  • Para acceder a los conjuntos de datos de BigQuery, haz lo siguiente (opcional): Usa un rol predefinido de BigQuery adecuado para tu caso de uso en la cuenta de usuario o de servicio.
  • Opcional: Para acceder a Dataplex Lakes (versión preliminar), usa un rol predefinido de Dataplex adecuado para tu caso de uso en la cuenta de usuario o de servicio.

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

Estos roles predefinidos contienen los permisos necesarios para crear un servicio de integración y conectar un clúster de Dataproc, de acuerdo con el principio de privilegio mínimo. Para ver los permisos exactos que son necesarios, expande la sección Permisos requeridos:

Permisos necesarios

Se requieren los siguientes permisos para crear un servicio de integración y conectar un clúster de Dataproc, de acuerdo con el principio de privilegio mínimo:

  • Para crear un Dataproc Metastore, haz lo siguiente: metastore.services.create en la cuenta de usuario o de servicio
  • Para enumerar, obtener, crear, actualizar y borrar un servicio de integración, usa metastore.federations.create, metastore.federations.update, metastore.federations.delete, metastore.federations.get metastore.federations.list en la cuenta de usuario o de servicio.
  • Para completar operaciones de metadatos en un Dataproc Metastore, haz lo siguiente: metastore.services.get, metastore.services.use, metastore.databases.create, metastore.databases.update, metastore.databases.deletemetastore.databases.get,metastore.databases.list, metastore.databases.getIamPolicy, metastore.tables.create, metastore.tables.update, metastore.tables.delete, metastore.tables.get, metastore.tables.list, metastore.tables.getIamPolicy en la cuenta de usuario o de servicio
  • Para acceder a los conjuntos de datos de BigQuery, haz lo siguiente (opcional): For more information, see BigQuery permissions en la cuenta de usuario o de servicio
  • (Opcional) Para acceder a Dataplex Lakes (Versión preliminar): For more information, see Dataplex permissions en la cuenta de usuario o de servicio

También puedes obtener estos permisos 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 Cómo administrar el acceso a Dataproc Metastore con IAM.

Crea un servicio de federación

En las siguientes instrucciones, se muestra cómo crear un servicio de federación y vincularlo a una fuente. Después de completar estos pasos, puedes adjuntar tu servicio de federación a un clúster de Dataproc.

Para obtener más información sobre las fuentes de la integración y sus limitaciones, consulta fuentes de metadatos.

Console

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

    Abrir Dataproc Metastore

  2. En el menú de navegación de Dataproc, haz clic en Federación.

    Se abrirá la página de servicios de metastore Federado.

  3. En la barra de menú del metastore Federated, haz clic en Create.

    Se abrirá la página Crear servicio de federación.

  4. En el campo Nombre de la federación, ingresa un nombre único para tu servicio.

    Para obtener más información, consulta Convención de nombres de recursos.

  5. Selecciona la Ubicación de los datos.

    Asegúrate de crear tu servicio de integración en las mismas regiones que tus fuentes de Dataproc Metastore.

  6. Selecciona la versión de Hive.

  7. Para agregar una fuente para tu servicio de integración, haz clic en Agregar una fuente.

    Puedes agregar una o más fuentes. La primera fuente que agregues a esta lista se configurará automáticamente como tu metastore principal. Puedes actualizar el orden de la fuente después de crearla.

    1. En Tipo de fuente, selecciona tu fuente de federación.

      Puedes elegir una instancia de Dataproc Metastore, un proyecto que contenga uno o más conjuntos de datos de BigQuery o un lake de Dataplex (versión preliminar).

    2. En el campo Fuente, ingresa la siguiente información:

      • Para un servicio de Dataproc Metastore.

        1. En el campo Proyecto seleccionado, haz clic en Explorar y selecciona el proyecto que contiene el Dataproc Metastore que deseas usar como fuente.

          Asegúrate de que tus fuentes de Dataproc Metastore usen una versión de Hive que sea compatible con tu servicio de integración. Tu metastore principal debe usar una versión de Hive que sea superior o igual a la de tu servicio de integración.

        2. En el menú desplegable Servicio de Metastore, selecciona el Dataproc Metastore que deseas usar como fuente.

      • Para BigQuery. En el campo Proyecto seleccionado, haz clic en Explorar y selecciona el ID del proyecto que contiene el conjunto de datos de BigQuery.

      • Para Dataplex (versión preliminar). En el campo Proyecto seleccionado, haz clic en Explorar y selecciona el ID del proyecto que contiene el lago de Dataplex.

    3. Haz clic en Listo.

  8. Para crear y, luego, iniciar el servicio, haz clic en Enviar.

    Ahora puedes conectar tu servicio de federación a un clúster de Dataproc.

Actualiza un servicio de integración

En las siguientes instrucciones, se muestra cómo actualizar un servicio de federación. Puedes completar las siguientes tareas:

  • Agrega una fuente a un servicio de federación.
  • Quitar una fuente de un servicio de integración
  • Cambia el orden de las fuentes contenidas en un servicio de federación.
  • Borrar un servicio de federación de forma permanente Después de borrar un servicio, se liberan todos sus recursos.

Console

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

    Abrir Dataproc Metastore

  2. En el menú de navegación de Dataproc, haz clic en Federación.

    Se abrirá la página de servicios de metastore Federados.

  3. En la página de servicios de metastore Federados, haz clic en el nombre del servicio que quieres actualizar.

    Se abrirá la página Detalles del servicio.

  4. En la barra de menú, haz clic en Editar.

    Se abrirá la página Editar servicio.

  5. Elige los valores que deseas actualizar.

  6. Para actualizar el servicio, haz clic en Enviar.

Cómo conectar un clúster de Dataproc a un servicio de federación

En las siguientes instrucciones, se muestra cómo crear un clúster de Dataproc y adjuntar un extremo de servicio de federación como su almacén de metadatos.

Antes de comenzar con estas instrucciones, completa todos los pasos que se indican en Antes de comenzar y crea un servicio de integración.

gcloud CLI

Para crear un clúster de Dataproc y adjuntar un extremo de la federación, ejecuta el siguiente comando gcloud Dataproc clusters create.

 gcloud dataproc clusters create CLUSTER_NAME \
    --region=LOCATION \
    --project=PROJECT_ID \
    --scopes=https://www.googleapis.com/auth/cloud-platform \
    --image-version=IMAGE_VERSION \
    --service-account=SERVICE_ACCOUNT \
    --optional-components=DOCKER \
    --initialization-actions=gs://metastore-init-actions/metastore-grpc-proxy/metastore-grpc-proxy.sh \
    --metadata="proxy-uri=FEDERATION_URI,hive-version=FEDERATION_VERSION" \
    --properties="hive:hive.metastore.uris=thrift://localhost:9083,hive:hive.metastore.warehouse.dir=WAREHOUSE_DIR"

Reemplaza lo siguiente:

  • CLUSTER_NAME: Es el nombre de tu nuevo clúster de Dataproc.
  • PROJECT_ID: Es el ID del proyecto de Google Cloud en el que creas el clúster de Dataproc.
  • LOCATION: Es la región de tu clúster de Dataproc.
  • IMAGE_VERSION: Es la versión de la imagen de Dataproc que deseas usar.

    Asegúrate de que la imagen de Dataproc que usas en este comando sea compatible con la versión de Hive que se usa con tu servicio de federación. Para obtener más información, consulta la Lista de versiones con imágenes de Dataproc.

  • SERVICE_ACCOUNT opcional: Es la cuenta de servicio que usas para crear tu clúster de Dataproc. Si no se especifica, el clúster usa tu cuenta de servicio predeterminada de Compute Engine.

  • FEDERATION_URI: Es el URI del extremo de tu servicio de federación.

  • FEDERATION_VERSION: La versión de Hive que usa tu servicio de federación.

  • WAREHOUSE_DIR: Es el directorio del almacén de tu Dataproc Metastore principal.

¿Qué sigue?