从 Dataproc Metastore 导出元数据

本页介绍了如何从 Dataproc Metastore 导出元数据。

借助导出元数据功能,您可以将元数据保存到便携式存储设备中 格式。

导出数据后,您可以将元数据导入另一个 Dataproc Metastore 服务或自行管理的 Hive Metastore (HMS)。

导出元数据简介

从 Dataproc Metastore 导出元数据时,该服务会将数据存储为以下某种文件格式:

  • 存储在文件夹中的一组 Avro 文件。
  • 存储在 Cloud Storage 文件夹中的单个 MySQL 转储文件。

Avro

只有 2.3.6 版和 3.1.2 版支持基于 Avro 的导出。时间 导出 Avro 文件后,Dataproc Metastore 会创建一个 为数据库中的每个表创建 <table-name>.avro 文件。

如需导出 Avro 文件,您的 Dataproc Metastore 服务可以使用 MySQL 或 Spanner 数据库类型。

MySQL

所有版本的 Hive 都支持基于 MySQL 的导出。导出时 创建 MySQL 文件后,Dataproc Metastore 会创建一个 SQL 文件 包含您的所有表信息。

要导出 MySQL 文件,您的 Dataproc Metastore 服务必须使用 MySQL 数据库类型。Spanner 数据库类型不支持 MySQL 导入。

准备工作

所需的角色

如需获得将元数据导出到 Dataproc Metastore 所需的权限,请让您的管理员为您授予以下 IAM 角色:

如需详细了解如何授予角色,请参阅管理对项目、文件夹和组织的访问权限

这些预定义角色包含将元数据导出到 Dataproc Metastore 所需的权限。如需查看所需的确切权限,请展开所需权限部分:

所需权限

将元数据导出到 Dataproc Metastore 需要以下权限:

  • 如需导出元数据,请执行以下操作: metastore.services.export 使用 Metastore 服务
  • 对于 MySQL 和 Avro,要使用 Cloud Storage 对象进行导出,请向您的用户账号和 Dataproc Metastore 服务代理授予以下角色: storage.objects.create 在 Cloud Storage 存储桶中

您也可以使用自定义角色或其他预定义角色来获取这些权限。

如需详细了解特定 Dataproc Metastore 角色和权限,请参阅 Dataproc Metastore IAM 概览

导出元数据

在导出元数据之前,请注意以下事项:

  • 在导出操作运行期间,您无法更新 Dataproc Metastore 服务,例如更改配置设置。不过,您仍然可以使用它执行正常操作,例如使用它从关联的 Dataproc 集群或自行管理的集群访问其元数据。
  • 元数据导出功能只能导出元数据。由以下来源创建的数据: 系统不会在导出中复制内部表中的 Apache Hive。

如需从 Dataproc Metastore 服务导出元数据,请执行 。

控制台

  1. 在 Google Cloud 控制台中,打开 Dataproc Metastore 页面:

    打开 Dataproc Metastore

  2. Dataproc Metastore 页面上,点击您要从中导出元数据的服务的名称。

    服务详细信息页面会打开。

    “服务详细信息”页面
    “Dataproc Metastore 服务”详情页面
  3. 在导航栏中,点击导出

    导出元数据页面随即会打开。

  4. 目标位置部分,选择 MySQLAvro

  5. 目标 URI 字段中,点击浏览,然后选择要将文件导出到的 Cloud Storage URI

    您也可以在提供的文本字段中输入存储桶位置。使用 bucket/objectbucket/folder/object 格式。

  6. 如需开始导出,请点击提交

    导出完成后,导出内容将以表格形式显示在服务详情 导入/导出标签页上的页面。

    导出完成后,Dataproc Metastore 将自动 无论导出成功与否

gcloud CLI

  1. 如需从服务导出元数据,请运行以下 gcloud metastore services export gcs 命令:

    gcloud metastore services export gcs SERVICE \
        --location=LOCATION \
        --destination-folder=gs://bucket-name/path/to/folder \
        --dump-type=DUMP_TYPE
    

    替换以下内容:

    • SERVICE:您的 Dataproc Metastore 服务。
    • LOCATION:您的 Google Cloud Storage 存储区域 Dataproc Metastore 服务。
    • bucket-name/path/to/folder:您要存储导出内容的 Cloud Storage 目标文件夹。
    • DUMP_TYPE:导出操作将生成的数据库转储的类型。可接受的值包括 mysqlavro。 默认值为 mysql
  2. 验证导出操作是否成功。

    导出操作完成后,无论导出是否成功,Dataproc Metastore 都会自动返回活跃状态

REST

按照 API 说明使用 API Explorer 将元数据导出到服务

导出完成后,服务会自动恢复为活动状态, 无论它是否成功

查看导出历史记录

如需在 Google Cloud 控制台中查看 Dataproc Metastore 服务的导出历史记录,请完成以下步骤:

  1. 在 Google Cloud 控制台中,打开 Dataproc Metastore 页面。
  2. 在导航栏中,点击导入/导出

    导出历史记录会显示在导出历史记录表格中。

    历史记录最多显示最近的 25 项导出操作。

删除 Dataproc Metastore 服务也会删除所有关联的 导出历史记录。

排查常见问题

一些常见问题包括:

如需有关解决常见问题排查的更多帮助,请参阅导入和导出错误场景

后续步骤