Implementa un servicio de Dataproc Metastore
En esta página, se muestra cómo crear un servicio de Dataproc Metastore y conectarte a él desde un clúster de Managed Service para Apache Spark. Luego, establecerás una conexión SSH con el clúster, iniciarás una instancia de Apache Hive y ejecutarás algunas consultas básicas.
Dataproc Metastore te proporciona un almacén de metadatos de Hive (HMS) completamente compatible, que es el estándar establecido en el ecosistema de código abierto de macrodatos para administrar metadatos técnicos. Este servicio te ayuda a administrar los metadatos de tus data lakes y proporciona interoperabilidad entre las diversas herramientas de procesamiento de datos que usas.
Para seguir la guía paso a paso sobre esta tarea directamente en la consola Google Cloud , haz clic en Guiarme:
Antes de comenzar
- Accede a tu cuenta de Google Cloud . Si eres nuevo en Google Cloud, crea una cuenta para evaluar el rendimiento de nuestros productos en situaciones reales. Los clientes nuevos también obtienen $300 en créditos gratuitos para ejecutar, probar y, además, implementar cargas de trabajo.
-
In the Google Cloud console, on the project selector page, select or create a Google Cloud project.
Roles required to select or create a project
- Select a project: Selecting a project doesn't require a specific IAM role—you can select any project that you've been granted a role on.
-
Create a project: To create a project, you need the Project Creator role
(
roles/resourcemanager.projectCreator), which contains theresourcemanager.projects.createpermission. Learn how to grant roles.
-
Verify that billing is enabled for your Google Cloud project.
Enable the Dataproc Metastore, Dataproc APIs.
Roles required to enable APIs
To enable APIs, you need the Service Usage Admin IAM role (
roles/serviceusage.serviceUsageAdmin), which contains theserviceusage.services.enablepermission. Learn how to grant roles.-
In the Google Cloud console, on the project selector page, select or create a Google Cloud project.
Roles required to select or create a project
- Select a project: Selecting a project doesn't require a specific IAM role—you can select any project that you've been granted a role on.
-
Create a project: To create a project, you need the Project Creator role
(
roles/resourcemanager.projectCreator), which contains theresourcemanager.projects.createpermission. Learn how to grant roles.
-
Verify that billing is enabled for your Google Cloud project.
Enable the Dataproc Metastore, Dataproc APIs.
Roles required to enable APIs
To enable APIs, you need the Service Usage Admin IAM role (
roles/serviceusage.serviceUsageAdmin), which contains theserviceusage.services.enablepermission. Learn how to grant roles.
Funciones requeridas
Para obtener los permisos que necesitas para crear un clúster de Dataproc Metastore y Managed Service para Apache Spark, pídele a tu administrador que te otorgue los siguientes roles de IAM:
-
Para otorgar acceso completo a todos los recursos de Dataproc Metastore, incluida la configuración de permisos de IAM:
(
roles/metastore.admin) en la cuenta de usuario o la cuenta de servicio -
Para otorgar control total de los recursos de Dataproc Metastore, asigna el rol de Editor de Dataproc Metastore (
roles/metastore.editor) a la cuenta de usuario o a la cuenta de servicio. -
Para crear un clúster de Managed Service para Apache Spark, haz lo siguiente:
(
roles/dataproc.worker) en la cuenta 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 clúster de Dataproc Metastore y Managed Service para Apache Spark. Para ver los permisos exactos que son necesarios, expande la sección Permisos requeridos:
Permisos necesarios
Se requieren los siguientes permisos para crear un clúster de Dataproc Metastore y Managed Service para Apache Spark:
- Para crear un servicio de Dataproc Metastore, debes tener el permiso: metastore.services.create en la cuenta de usuario o la cuenta de servicio.
-
Para crear un clúster de Managed Service para Apache Spark, haz lo siguiente:
Trabajador de Managed Service para Apache Spark (
roles/dataproc.worker) en la cuenta 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 la Descripción general de IAM de Dataproc Metastore.Crea un servicio de Dataproc Metastore
En las siguientes instrucciones, se muestra cómo crear un servicio básico de Dataproc Metastore con la configuración predeterminada proporcionada.
Console
En la Google Cloud consola, ve a la página Dataproc Metastore.
En el menú de navegación, haz clic en + Crear.
Se abrirá el diálogo Crear servicio de Metastore.
Selecciona Dataproc Metastore 2.
En el campo Nombre del servicio, ingresa
example-service.En el campo Ubicación de los datos, selecciona
us-central1.Para las demás opciones de configuración del servicio, usa los valores predeterminados proporcionados.
Haz clic en Enviar para crear y, luego, iniciar el servicio.
Tu nuevo servicio de metastore aparecerá en la página Dataproc Metastore. El estado muestra Creando hasta que el servicio esté listo para usarse. Cuando esté listo, el estado cambiará a Activo. El aprovisionamiento del servicio puede tardar unos minutos.
En la siguiente captura de pantalla, se muestra un ejemplo de la página Crear servicio con algunos de los valores predeterminados proporcionados.

gcloud CLI
gcloud metastore services create example-service \
--location=us-central1 \
--instance-size=MEDIUMREST
Sigue las instrucciones de la API para crear un servicio mediante el Explorador de API.
Crea un clúster de Managed Service para Apache Spark y conéctate a Dataproc Metastore
A continuación, crearás un clúster de Managed Service para Apache Spark y te conectarás a tu metastore desde el clúster. Después de eso, tu clúster usará el servicio de metastore como su HMS. El clúster que crees aquí usará la configuración predeterminada proporcionada.
Console
En la consola de Google Cloud , ve a la página Clústeres de Dataproc.
En la barra de navegación, selecciona +Crear clúster.
Se abrirá el diálogo Create a cluster, que ofrece varias opciones de infraestructura entre las que puedes elegir.
En la fila Clúster en Compute Engine, selecciona Crear.
Se abrirá la página Crea un clúster de Managed Service para Apache Spark en Compute Engine.
En el campo Nombre del clúster, ingresa
example-cluster.En los menús Región y Zona, selecciona
us-central1.Para las opciones restantes de Configurar clúster, usa los valores predeterminados proporcionados.
En el menú de navegación, haz clic en la pestaña Personalizar clúster (opcional).
En la sección Dataproc Metastore, selecciona el servicio de metastore que creaste antes.
Si seguiste este instructivo tal como se indica, se llama
example-service.Para las opciones de configuración del servicio restantes, usa los valores predeterminados proporcionados.
Para crear el clúster, haz clic en Crear.
Tu clúster nuevo aparecerá en la lista Clústeres. El estado del clúster muestra Aprovisionando hasta que el clúster esté listo para usarse. Cuando esté listo, el estado cambiará a Activo. El aprovisionamiento del clúster puede tardar unos minutos.
gcloud CLI
Para crear un clúster con la configuración predeterminada proporcionada, ejecuta el siguiente comando de gcloud dataproc clusters create:
gcloud dataproc clusters create example-cluster \
--dataproc-metastore=projects/PROJECT_ID/locations/us-central1/services/example-service \
--region=us-central1Reemplaza PROJECT_ID por el ID del proyecto en el que creaste tu servicio de Dataproc Metastore.
REST
Sigue las instrucciones de la API para crear un clúster mediante el Explorador de API.
Conéctate a Apache Hive con un clúster de Managed Service para Apache Spark
En los próximos pasos, se muestra cómo ejecutar algunos comandos de ejemplo en Apache Hive para crear una base de datos y una tabla.
A continuación, abre una sesión de SSH en el clúster de Managed Service para Apache Spark y, luego, inicia una sesión de Hive.
- En la consola de Google Cloud , ve a la página Instancias de VM.
- En la lista de instancias de máquina virtual, haz clic en SSH junto a
example-cluster.
Se abrirá una ventana del navegador en tu directorio principal del nodo con un resultado similar al siguiente:
Connected, host fingerprint: ssh-rsa ...
Linux cluster-1-m 3.16.0-0.bpo.4-amd64 ...
...
example-cluster@cluster-1-m:~$
Para iniciar Hive y crear una base de datos y una tabla, ejecuta los siguientes comandos en la sesión de SSH:
Inicia Hive.
hiveCrea una base de datos llamada
myDatabase.create database myDatabase;Muestra la base de datos que creaste.
show databases;Usa la base de datos que creaste.
use myDatabase;Crea una tabla llamada
myTable.create table myTable(id int,name string);Enumera las tablas en
myDatabase.show tables;Describe el esquema de la tabla que creaste.
desc MyTable;
La ejecución de estos comandos muestra un resultado similar al siguiente:
$hive
hive> show databases;
OK
default
hive> create database myDatabase;
OK
hive> use myDatabase;
OK
hive> create table myTable(id int,name string);
OK
hive> show tables;
OK
myTable
hive> desc myTable;
OK
id int
name string
Realiza una limpieza
Sigue estos pasos para evitar que se apliquen cargos a tu cuenta de Google Cloud por los recursos que usaste en esta página.
- En la Google Cloud consola, ve a la página Administrar recursos.
- Si el proyecto que deseas borrar está vinculado con una organización, expande la lista Organización en la columna Nombre.
- En la lista de proyectos, elige el proyecto que quieres borrar y haz clic en Borrar.
- En el diálogo, escribe el ID del proyecto y, luego, haz clic en Cerrar para borrar el proyecto.
Como alternativa, puedes borrar los recursos que se usan en este instructivo de la siguiente manera:
Borra el servicio de Dataproc Metastore.
Console
En la Google Cloud consola, abre la página Dataproc Metastore:
En la lista de servicios, selecciona
example-service.En la barra de navegación, haz clic en Borrar.
Se abrirá el cuadro de diálogo Borrar servicio.
En el cuadro de diálogo, haz clic en Borrar.
Tu servicio ya no aparece en la lista de servicios.
gcloud CLI
Para borrar tu servicio, ejecuta el siguiente comando
gcloud metastore services delete.gcloud metastore services delete example-service \ --location=us-central1REST
Sigue las instrucciones de la API para borrar un servicio mediante el Explorador de API.
Todas las eliminaciones se completa de forma exitosa de inmediato.
Borra el bucket de Cloud Storage para el servicio de Dataproc Metastore.
Borra el clúster de Managed Service para Apache Spark que usó el servicio de Dataproc Metastore.