Yandex Cloud
Search
Contact UsTry it for free
  • Customer Stories
  • Documentation
  • Blog
  • All Services
  • System Status
    • Featured
    • Infrastructure & Network
    • Data Platform
    • Containers
    • Developer tools
    • Serverless
    • Security
    • Monitoring & Resources
    • AI for business
    • Business tools
  • All Solutions
    • By industry
    • By use case
    • Economics and Pricing
    • Security
    • Technical Support
    • Start testing with double trial credits
    • Cloud credits to scale your IT product
    • Gateway to Russia
    • Cloud for Startups
    • Center for Technologies and Society
    • Yandex Cloud Partner program
    • Price calculator
    • Pricing plans
  • Customer Stories
  • Documentation
  • Blog
© 2025 Direct Cursus Technology L.L.C.
Yandex MetaData Hub
  • About Yandex MetaData Hub
    • Getting started
      • Getting information about clusters
      • Creating a cluster
      • Updating a cluster
      • Stopping and starting a cluster
      • Configuring security groups
      • Connecting Yandex Data Processing to Apache Hive™ Metastore
      • Exporting and importing a cluster
      • Connecting to a Yandex Object Storage bucket with a bucket policy
      • Transferring logs to Cloud Logging
      • Deleting a cluster
    • Service roles for access management
    • Troubleshooting
    • Terraform reference
    • Audit Trails events
  • Access management
  • Quotas and limits
  • Pricing policy
  • Public materials
  • Release notes

In this article:

  • Getting started
  • Exporting data
  • Importing data
  1. Apache Hive™ Metastore
  2. Step-by-step guides
  3. Exporting and importing a cluster

Exporting and importing Hive metadata in a Apache Hive™ Metastore cluster

Written by
Yandex Cloud
Updated at October 15, 2025
  • Getting started
  • Exporting data
  • Importing data

Getting startedGetting started

  1. Create a service account named my-account with the storage.uploader and managed-metastore.integrationProvider roles.
  2. Configure the network and create a Apache Hive™ Metastore cluster. When creating it, specify the my-account service account.
  3. Create a bucket in Yandex Object Storage. It will store the metadata file for import and export.
  4. Grant the READ and WRITE permission to my-account for the bucket you created earlier.

For more information about connecting to the bucket with configured bucket policies, see this guide.

Exporting dataExporting data

Management console
CLI
REST API
gRPC API
  1. Navigate to the folder dashboard and select Yandex MetaData Hub.

  2. In the left-hand panel, select Metastore.

  3. Click for the cluster you need and select Export.

  4. In the window that opens, specify the following:

    • Bucket you created earlier for cluster data export.
    • The .sql file the cluster data will be written to. If a file with that name already exists, it will be overwritten.
  5. Click Export.

If you do not have the Yandex Cloud CLI installed yet, install and initialize it.

By default, the CLI uses the folder specified when creating the profile. To change the default folder, use the yc config set folder-id <folder_ID> command. You can also set a different folder for any specific command using the --folder-name or --folder-id parameter.

To export metadata from a Apache Hive™ Metastore cluster, run this command:

yc managed-metastore cluster export-data <cluster_name_or_ID> \
   --bucket <bucket_name> \
   --filepath <data_file>

Where:

  • --bucket: Bucket you created earlier for cluster data export.
  • --filepath: Path to the .sql file to which the cluster data will be written. If a file with that name already exists, it will be overwritten.

You can get the cluster ID and name with the list of clusters in the folder.

  1. Get an IAM token for API authentication and save it as an environment variable:

    export IAM_TOKEN="<IAM_token>"
    
  2. Use the Cluster.ExportData method and send the following request, e.g., via cURL:

    curl \
        --request POST \
        --header "Authorization: Bearer $IAM_TOKEN" \
        --url 'https://metastore.api.cloud.yandex.net/managed-metastore/v1/clusters/<cluster_ID>:export' \
        --data '{
                   "bucket": "<bucket_name>",
                   "filepath": "<data_file>"
                }'
    

    Where:

    • bucket: Bucket you created earlier for cluster data export.
    • filepath: Path to the .sql file to which the cluster data will be written. If a file with that name already exists, it will be overwritten.

    You can get the cluster ID and name with the list of clusters in the folder.

  3. View the server response to make sure your request was successful.

  1. Get an IAM token for API authentication and save it as an environment variable:

    export IAM_TOKEN="<IAM_token>"
    
  2. Clone the cloudapi repository:

    cd ~/ && git clone --depth=1 https://github.com/yandex-cloud/cloudapi
    

    Below, we assume the repository contents are stored in the ~/cloudapi/ directory.

  3. Use the ClusterService.ExportData call and send the following request, e.g., via gRPCurl:

    grpcurl \
        -format json \
        -import-path ~/cloudapi/ \
        -import-path ~/cloudapi/third_party/googleapis/ \
        -proto ~/cloudapi/yandex/cloud/metastore/v1/cluster_service.proto \
        -rpc-header "Authorization: Bearer $IAM_TOKEN" \
        -d '{
                "cluster_id": "<cluster_ID>",
                "bucket": "<bucket_name>",
                "filepath": "<data_file>"
            }' \
        metastore.api.cloud.yandex.net:443 \
        yandex.cloud.metastore.v1.ClusterService.ExportData
    

    Where:

    • bucket: Bucket you created earlier for cluster data export.
    • filepath: Path to the .sql file to which the cluster data will be written. If a file with that name already exists, it will be overwritten.

    You can get the cluster ID with the list of clusters in the folder.

  4. View the server response to make sure your request was successful.

Importing dataImporting data

Before importing, upload the .sql file with metadata into the bucket you created earlier. For information on how to prepare a file and how the import process works, see Transferring metadata between Yandex Data Processing clusters using Apache Hive™ Metastore.

Management console
CLI
REST API
gRPC API

To import data to a Apache Hive™ Metastore cluster:

  1. Navigate to the folder page and select Yandex MetaData Hub.
  2. In the left-hand panel, select Metastore.
  3. Click for the cluster you need and select Import.
  4. In the window that opens, select the bucket you created earlier and the file to import the cluster data from.
  5. Click Import.

If you do not have the Yandex Cloud CLI installed yet, install and initialize it.

By default, the CLI uses the folder specified when creating the profile. To change the default folder, use the yc config set folder-id <folder_ID> command. You can also set a different folder for any specific command using the --folder-name or --folder-id parameter.

To import metadata to a Apache Hive™ Metastore cluster, run this command:

yc managed-metastore cluster import-data <cluster_name_or_ID> \
   --bucket <bucket_name> \
   --filepath <data_file>

Where:

  • --bucket: Bucket you created earlier to import the cluster data from.
  • --filepath: Path to the .sql file to import the cluster data from.

You can get the cluster ID and name with the list of clusters in the folder.

  1. Get an IAM token for API authentication and save it as an environment variable:

    export IAM_TOKEN="<IAM_token>"
    
  2. Use the Cluster.ImportData method and send the following request, e.g., via cURL:

    curl \
        --request POST \
        --header "Authorization: Bearer $IAM_TOKEN" \
        --url 'https://metastore.api.cloud.yandex.net/managed-metastore/v1/clusters/<cluster_ID>:import' \
        --data '{
                   "bucket": "<bucket_name>",
                   "filepath": "<data_file>"
                }'
    

    Where:

    • bucket: Bucket you created earlier to import the cluster data from.
    • filepath: Path to the .sql file to import the cluster data from.

    You can get the cluster ID and name with the list of clusters in the folder.

  3. View the server response to make sure your request was successful.

  1. Get an IAM token for API authentication and save it as an environment variable:

    export IAM_TOKEN="<IAM_token>"
    
  2. Clone the cloudapi repository:

    cd ~/ && git clone --depth=1 https://github.com/yandex-cloud/cloudapi
    

    Below, we assume the repository contents are stored in the ~/cloudapi/ directory.

  3. Use the ClusterService.ImportData call and send the following request, e.g., via gRPCurl:

    grpcurl \
        -format json \
        -import-path ~/cloudapi/ \
        -import-path ~/cloudapi/third_party/googleapis/ \
        -proto ~/cloudapi/yandex/cloud/metastore/v1/cluster_service.proto \
        -rpc-header "Authorization: Bearer $IAM_TOKEN" \
        -d '{
                "cluster_id": "<cluster_ID>",
                "bucket": "<bucket_name>",
                "filepath": "<data_file>"
            }' \
        metastore.api.cloud.yandex.net:443 \
        yandex.cloud.metastore.v1.ClusterService.ImportData
    

    Where:

    • bucket: Bucket you created earlier for cluster data export.
    • filepath: Path to the .sql file to which the cluster data will be written. If a file with that name already exists, it will be overwritten.

    You can get the cluster ID with the list of clusters in the folder.

  4. View the server response to make sure your request was successful.

Apache® and Apache Hive™ are either registered trademarks or trademarks of the Apache Software Foundation in the United States and/or other countries.

Was the article helpful?

Previous
Connecting Yandex Data Processing to Apache Hive™ Metastore
Next
Connecting to a Yandex Object Storage bucket with a bucket policy
© 2025 Direct Cursus Technology L.L.C.