Adjunta un clúster de Dataproc o un clúster autoadministrado

Después de crear un servicio de Dataproc Metastore, puedes conectar cualquiera de los siguientes servicios:

Después de conectar uno de estos servicios, usa tu servicio de Dataproc Metastore como su almacén de metadatos de Hive durante la ejecución de la consulta.

Antes de comenzar

Funciones requeridas

A fin de obtener los permisos que necesitas para crear un Dataproc Metastore y un clúster de Dataproc, pídele a tu administrador que te otorgue los siguientes roles de IAM:

Si quieres obtener más información para otorgar funciones, consulta Administra el acceso.

Estos roles predefinidos contienen los permisos necesarios para crear un Dataproc Metastore y un clúster de Dataproc. Para ver los permisos exactos que son necesarios, expande la sección Permisos requeridos:

Permisos necesarios

Los siguientes permisos son necesarios para crear un Dataproc Metastore y un clúster de Dataproc:

  • Para crear un Dataproc Metastore, metastore.services.create en la cuenta de usuario o de servicio
  • Para crear un clúster de Dataproc, haz lo siguiente: dataproc.clusters.create en la cuenta de usuario o de servicio
  • Para acceder al directorio de almacenamiento de Hive: orgpolicy.policy.get1,resourcemanager.projects.get,resourcemanager.projects.list,storage.objects.*,storage.multipartUploads.* en la cuenta de servicio de VM de Dataproc

Es posible que también puedas obtener estos permisos con funciones personalizadas o con otras funciones predefinidas.

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

Clústeres de Dataproc

Dataproc es un servicio administrado de Apache Spark y Apache Hadoop que te permite aprovechar las herramientas de datos de código abierto para el procesamiento por lotes, las consultas, la transmisión y el aprendizaje automático.

Consideraciones

Antes de crear y conectar un clúster de Dataproc, verifica qué protocolo de extremos usa tu servicio de Dataproc Metastore. Este protocolo define cómo tus clientes de Hive Metastore acceden a los metadatos almacenados en Dataproc Metastore. Esta opción también puede afectar las funciones que puedes integrar y usar con tu servicio.

Apache Thrift

Si usas el protocolo de extremo Apache Thrift, ten en cuenta los siguientes requisitos de red:

  • De forma predeterminada, debes crear el clúster de Dataproc y el servicio de Dataproc Metastore en la misma red. El clúster de Dataproc también puede usar una subred de la red del servicio de Dataproc Metastore.

  • Si tu clúster de Dataproc pertenece a un proyecto diferente que la red, debes configurar los permisos de red compartida.

  • Si tu clúster de Dataproc pertenece a un proyecto diferente al de tu servicio de Dataproc Metastore, debes configurar permisos adicionales antes de crear un clúster de Dataproc.

gRPC

Si usas el protocolo de extremo de gRPC, ten en cuenta los siguientes requisitos de red:

Crea un clúster y adjunta un Dataproc Metastore

En las siguientes instrucciones, se muestra cómo crear un clúster de Dataproc y conectarse a él desde un servicio de Dataproc Metastore. En estas instrucciones, se supone que ya creaste un servicio de Dataproc Metastore.

  • Antes de crear tu clúster de Dataproc, asegúrate de que la imagen de Dataproc que elijas sea compatible con la versión del almacén de metadatos de Hive que seleccionaste cuando creaste el Dataproc Metastore. Para obtener más información, consulta la Lista de versiones con imágenes de Dataproc.
  • Para optimizar la conectividad de red, crea el clúster de Dataproc en la misma región que el servicio de Dataproc Metastore.

Console

  1. En la consola de Google Cloud, abre la página Create a cluster de Dataproc:

    Abre Crear un clúster.

  2. En el campo Nombre del clúster, ingresa un nombre para tu clúster.

  3. Para los menús Región y Zona, selecciona la misma región en la que creaste tu servicio de Dataproc Metastore. Puedes elegir cualquier zona.

  4. Haz clic en la pestaña Personalizar clúster.

  5. En la sección Configuración de red, selecciona la misma red en la que creaste tu servicio de Dataproc Metastore.

  6. En la sección Dataproc Metastore, selecciona el servicio de Dataproc Metastore que deseas adjuntar. Si aún no creaste uno, puedes seleccionar Create New Service.

  7. Opcional: Si tu servicio de Dataproc Metastore usa el protocolo de extremos de gRPC, sigue estos pasos:

    1. Haz clic en la pestaña Administrar seguridad.
    2. En la sección Project Acesss, selecciona Enables the cloud-platform scope for this cluster.
  8. Configura las opciones de servicio restantes según sea necesario.

  9. Para crear el clúster, haz clic en Crear.

    El nuevo clúster aparecerá en la lista de clústeres. El estado del clúster aparece como Aprovisionamiento hasta que esté listo para usarse. Cuando esté lista para usarse, el estado cambiará a Running.

CLI de gcloud

Para crear un clúster y conectar un Dataproc Metastore, ejecuta el siguiente comando gcloud dataproc clusters create:

gcloud dataproc clusters create CLUSTER_NAME \
    --dataproc-metastore=projects/PROJECT_ID/locations/LOCATION/services/SERVICE \
    --region=LOCATION \
    --scopes=SCOPES

Reemplaza lo siguiente:

  • CLUSTER_NAME: Es el nombre del clúster de Dataproc nuevo.
  • PROJECT_ID: Es el ID del proyecto en el que creaste tu servicio de Dataproc Metastore.
  • LOCATION: Es la misma región en la que creaste el servicio de Dataproc Metastore.
  • SERVICE: Es el nombre del servicio de Dataproc Metastore que adjuntas al clúster.
  • SCOPES: Si tu servicio de Dataproc Metastore usa el protocolo de extremo de gRPC, usa cloud-platform (opcional).

REST

Sigue las instrucciones de la API para crear un clúster mediante el Explorador de API.

Adjunta un clúster mediante las propiedades del clúster de Dataproc

También puedes adjuntar un clúster de Dataproc a un Dataproc Metastore mediante las propiedades de Dataproc. Estas propiedades incluyen ENDPOINT_URI y WAREHOUSE_DIR de Dataproc Metastore.

Usa estas instrucciones si tu servicio de Dataproc Metastore usa Private Service Connect o si deseas conectar un clúster de Dataproc a la versión auxiliar de tu servicio de Dataproc Metastore.

Existen dos maneras de conectar un clúster de Dataproc con las propiedades ENDPOINT_URI y WAREHOUSE_DIR:

Opción 1: Mientras creas un clúster de Dataproc

Cuando crees un clúster de Dataproc, usa la marca de propiedades con la siguiente configuración de Hive.

gcloud dataproc clusters create CLUSTER_NAME \
     --properties="hive:hive.metastore.uris=ENDPOINT_URI,hive:hive.metastore.warehouse.dir=WAREHOUSE_DIR/hive-warehouse"

Reemplaza lo siguiente:

Opción 2: Actualiza el archivo hive-site.xml

También puedes adjuntar un clúster de Dataproc si modificas directamente el archivo hive-site.xml del clúster.

  1. Conéctate al clúster .*-m mediante SSH.
  2. Abre el archivo /etc/hive/conf/hive-site.xml y modifica las siguientes líneas:

    <property>
       <name>hive.metastore.uris</name>
       <!-- Update this value. -->
       <value>ENDPOINT_URI</value>
    </property>
    <!-- Add this property entry. -->
    <property>
       <name>hive.metastore.warehouse.dir</name>
       <value>WAREHOUSE_DIR</value>
    </property>
    

    Reemplaza lo siguiente:

  3. Reinicia HiveServer2:

    sudo systemctl restart hive-server2.service
    

Clústeres autoadministrados

Un clúster autoadministrado puede ser una instancia de Apache Hive, una instancia de Apache Spark o un clúster de Presto.

Conecta un clúster autoadministrado

Establece los siguientes valores en el archivo de configuración de cliente:

hive.metastore.uris=ENDPOINT_URI
hive.metastore.warehouse.dir=WAREHOUSE_DIR

Reemplaza lo siguiente:

¿Qué sigue?