Quickstart for deploying Dataproc Metastore

This page shows you how to create a Dataproc Metastore service in the Google Cloud Console and create a Dataproc cluster that uses the service as its Hive metastore.

Before you begin

  1. Sign in to your Google Cloud account. If you're new to Google Cloud, create an account to evaluate how our products perform in real-world scenarios. New customers also get $300 in free credits to run, test, and deploy workloads.
  2. In the Google Cloud Console, on the project selector page, select or create a Google Cloud project.

    Go to project selector

  3. Make sure that billing is enabled for your Cloud project. Learn how to confirm that billing is enabled for your project.

  4. Enable the Dataproc Metastore API.

    Enable the API

Access control

  • To create a service, you must be granted an IAM role containing the metastore.services.create IAM permission. The Dataproc Metastore specific roles roles/metastore.admin and roles/metastore.editor can be used to grant create permission.

  • You can also give create permission to users or groups by using the roles/owner and roles/editor legacy roles.

For more information, see Dataproc Metastore IAM and access control.

Creating a Dataproc Metastore service

The following instructions demonstrate how to create a Dataproc Metastore service using the Google Cloud Console, the gcloud tool, or the Dataproc Metastore API.

Console

  1. In the Cloud Console, open the Create service page:

    Open the Create service page in the Cloud Console

    Create service page
  2. In the Service name field, enter example-service.

  3. Select the Data location. For information on selecting a region, see Available regions.

  4. For other service configuration options, use the provided defaults.

  5. To create and start the service, click the Submit button.

Your new service appears in the Service list.

gcloud

Use the following gcloud metastore services create command to create a service:

 gcloud metastore services create example-service \
     --location=LOCATION
 

Replace LOCATION with the Compute Engine region where the service is to be created. Make sure that the location you specify is one where Dataproc Metastore is available.

REST

Follow the API instructions to create a service by using the APIs Explorer.

Creating a Dataproc cluster that uses the service

After you create a service, you can create and attach a Dataproc cluster that uses the service as its Hive metastore.

The Dataproc image and Dataproc Metastore Hive version must be compatible:

  • Dataproc 2.x images require Dataproc Metastore services created with Hive 3.1.2.

  • Dataproc 1.x images require Dataproc Metastore services created with either Hive 2.3.6 or 3.1.2, but perform optimally with 2.3.6.

For more information on Dataproc image versions and to find out which Hive version is used by a Dataproc image, see Dataproc Versioning.

Console

  1. In the Cloud Console, open the Dataproc Create a cluster page:

    Open the Create a cluster page in the Cloud Console

  2. In the Cluster Name field, enter example-cluster.

  3. On the Region and Zone menus, select a region and zone for the cluster. You can select a distinct region, to isolate resources and metadata storage locations within the specified region. If you select a distinct region, you can select "No preference" for the zone to let Dataproc pick a zone within the selected region for your cluster (see Dataproc Auto zone placement).

  4. Use the provided defaults for all the other options.

  5. Click on the Customize cluster tab.

  6. In the Network configuration section, select the same network specified during the metastore service creation.

  7. In the Dataproc Metastore section, select example-service.

  8. Click Create to create the cluster.

Your new cluster appears in the Clusters list. Cluster status is listed as "Provisioning" until the cluster is ready to use, then changes to "Running."

gcloud

Use the following gcloud dataproc clusters create command to create a cluster:

 gcloud dataproc clusters create example-cluster \
    --dataproc-metastore=projects/PROJECT_ID/locations/LOCATION/services/example-service \
    --region=LOCATION
 

Replace PROJECT_ID with the project ID of the project you created your Dataproc Metastore service in.

Replace LOCATION with the same region you specified above for the Dataproc Metastore service.

REST

Follow the API instructions to create a cluster by using the APIs Explorer.

Clean up

To avoid incurring charges to your Google Cloud account for the resources used in this quickstart, follow these steps.

  1. In the Cloud Console, go to the Manage resources page.

    Go to Manage resources

  2. If the project that you plan to delete is attached to an organization, expand the Organization list in the Name column.
  3. In the project list, select the project that you want to delete, and then click Delete.
  4. In the dialog, type the project ID, and then click Shut down to delete the project.

Alternatively, you can delete the resources used in this tutorial:

  1. Delete the Dataproc Metastore service.

    Console

    1. In the Cloud Console, open the Dataproc Metastore page:

      Open Dataproc Metastore in the Cloud Console

    2. On the left of the service name, select example-service by checking the box.

    3. At the top of the Dataproc Metastore page, click Delete to delete the service.

    4. On the dialog, click Delete to confirm the deletion.

    Your service no longer appears in the Service list.

    gcloud

    Use the following gcloud metastore services delete command to delete a service:

     gcloud metastore services delete example-service \
         --location=LOCATION
     

    Replace LOCATION with the Compute Engine region where the service was created.

    REST

    Follow the API instructions to delete a service by using the APIs Explorer.

    All deletions succeed immediately.

  2. Delete the Cloud Storage bucket for the Dataproc Metastore service.

  3. Delete the Dataproc cluster that used the Dataproc Metastore service.

What's next