Hive Metastore

Dataproc Metastore es un almacén de metadatos (HMS) de Apache Hive (HMS) completamente administrado, con alta disponibilidad, reparación automática y sin servidores que se ejecuta en Google Cloud.

Para administrar por completo tus metadatos, Dataproc Metastore asigna tus datos a las tablas de Apache Hive.

Versiones compatibles de Apache Hive

Dataproc Metastore solo admite versiones específicas de Apache Hive. Para obtener más información, consulta la política de la versión de Hive.

Cómo Hive controla los metadatos

Dado que Dataproc Metastore es un almacén de metadatos de Hive, es importante comprender cómo administra tus metadatos.

De forma predeterminada, todas las aplicaciones de Hive pueden tener tablas internas administradas o tablas externas no administradas. Es decir, los metadatos que almacenas en un servicio de Dataproc Metastore pueden existir en tablas internas y externas.

Cuando se modifican los datos, un servicio de Dataproc Metastore (Hive) trata las tablas internas y externas de manera diferente.

  • Tablas internas. Administra metadatos y datos de tablas.
  • Tablas externas. Solo administra metadatos.

Por ejemplo, si borras una definición de tabla mediante la instrucción DROP TABLE de SQL de Hive, haz lo siguiente:

drop table foo
  • Tablas internas. Dataproc Metastore borra todos los metadatos. También se borran los archivos asociados con la tabla.

  • Tablas externas. Dataproc Metastore solo borra los metadatos. Mantiene los datos asociados con la tabla.

Directorio de almacenes de Hive

Dataproc Metastore usa el directorio de almacén de Hive para administrar tus tablas internas. El directorio de almacenamiento de Hive es donde se almacenan los datos reales.

Cuando usas un servicio de Dataproc Metastore, el directorio de almacén de Hive predeterminado es un bucket de Cloud Storage. Dataproc Metastore solo admite el uso de buckets de Cloud Storage para el directorio del almacén. En comparación, esto es diferente de un HMS local, en el que el directorio de almacén de Hive suele apuntar a un directorio local.

Este bucket se crea de forma automática cada vez que creas un servicio de Dataproc Metastore. Este valor se puede cambiar si estableces una anulación de configuración de Hive Metastore en la propiedad hive.metastore.warehouse.dir.

Artefactos de buckets de Cloud Storage

El bucket de artefactos almacena tus artefactos de Dataproc Metastore, como los metadatos exportados y los datos de tablas internas administradas.

Cuando creas un servicio de Dataproc Metastore, se crea de forma automática un bucket de Cloud Storage para tu proyecto. De forma predeterminada, el bucket de artefactos y el directorio del almacén apuntan al mismo bucket. No puedes cambiar la ubicación del bucket de artefactos, pero puedes cambiar la ubicación del directorio de almacén de Hive.

El bucket de artefactos se encuentra en la siguiente ubicación:

  • gs://your-artifacts-bucket/hive-warehouse.
  • Por ejemplo, gs://gcs-your-project-name-0825d7b3-0627-4637-8fd0-cc6271d00eb4.

Accede al directorio de almacenes de Hive

Después de que el bucket se cree de forma automática, asegúrate de que tu cuenta de servicio de VM de Dataproc Metastore tenga permiso para acceder al directorio del almacén de Hive. Para acceder al directorio del almacén, otorga al agente de servicio de la VM de Dataproc Metastore acceso de lectura y escritura al objeto de almacenamiento del bucket mediante la función roles/storage.objectAdmin. Esta función debe establecerse a nivel de bucket o superior.

Busca el directorio de almacenes de Hive

  1. Abre la página Dataproc Metastore.
  2. Haz clic en el nombre de tu servicio.

    Se abrirá la página de detalles del servicio.

  3. En la tabla de configuración, busca Anulaciones de configuración de Metastore > hive.metastore.warehouse.dir.

  4. Busca el valor que comienza con gs://.

    Este valor es la ubicación del directorio de almacenamiento de Hive.

    Valores de hive.metastore.warehouse.dir

Cambia el directorio de almacenamiento de Hive

Para usar tu propio bucket de Cloud Storage con Dataproc Metastore, configura una anulación de configuración de Hive Metastore para que apunte a la ubicación del bucket nuevo.

Si cambias el directorio de almacén predeterminado, sigue estas recomendaciones.

  • No uses la raíz del bucket de Cloud Storage (gs://mybucket) para almacenar tablas de Hive.

  • Asegúrate de que tu cuenta de servicio de VM de Dataproc Metastore tenga permiso para acceder al directorio del almacén de Hive.

  • Para obtener mejores resultados, usa los buckets de Cloud Storage que se encuentran en la misma región que tu servicio de Dataproc Metastore. Aunque Dataproc Metastore permite buckets entre regiones, los recursos ubicados tienen un mejor rendimiento. Por ejemplo, un bucket multirregional de la UE no funciona bien con un servicio us-central1. El acceso entre regiones genera mayor latencia, falta de aislamiento de fallas regionales y cargos por el ancho de banda de red entre regiones.

Para cambiar el directorio de almacenamiento de Hive

  1. Abre la página Dataproc Metastore.
  2. Haz clic en el nombre de tu servicio.

    Se abrirá la página de detalles del servicio.

  3. En la tabla de configuración, busca la sección Anulaciones de configuración de Metastore > hive.metastore.warehouse.dir.

  4. Cambia el valor de hive.metastore.warehouse.dir a la ubicación de tu bucket nuevo. Por ejemplo, gs://my-bucket/path/to/location

Borra tu bucket

Si borras el servicio de Dataproc Metastore, no se borrará de forma automática el bucket de artefactos de Cloud Storage. Tu bucket no se borra de forma automática porque podría contener datos útiles posteriores al servicio. Para borrar tu bucket, ejecuta una operación de eliminación de Cloud Storage.

¿Qué sigue?