从 Dataproc Metastore 导出元数据

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

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

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

关于导出元数据

当您从 Dataproc Metastore 导出元数据时,该服务会以以下任一文件格式存储数据:

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

Avro

只有 Hive 版本 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 服务上执行 metastore.services.export 操作
  • 对于 MySQL 和 Avro,如需使用 Cloud Storage 对象导出,请向您的用户帐号和 Dataproc Metastore 服务代理授予 Cloud Storage 存储桶的 storage.objects.create 权限

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

如需详细了解特定的 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. 如要开始导出,请点击 Submit(提交)。

    完成后,您的导出内容会显示在导入/导出标签页的服务详情页面上的表格中。

    导出完成后,无论导出是否成功,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:您的 Dataproc Metastore 服务所在的 Google Cloud 区域。
    • 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 服务会同时删除所有关联的导出历史记录。

排查常见问题

以下是一些常见问题:

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

后续步骤