部署 Dataproc Metastore 服务
本页介绍了如何创建 Dataproc Metastore 服务,以及如何从 Dataproc 集群连接到该服务。然后,您可以通过 SSH 登录集群,启动 Apache Hive 实例,并运行一些基本查询。
Dataproc Metastore 为您提供完全兼容的 Hive Metastore (HMS),这是开源大数据生态系统中用于管理技术元数据的既定标准。此服务可帮助您管理数据湖的元数据,并在您使用的各种数据处理工具之间提供互操作性。
如需在 Google Cloud 控制台中直接遵循有关此任务的分步指导,请点击操作演示:
准备工作
- 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.
-
In the Google Cloud console, on the project selector page, select or create a Google Cloud project.
-
Make sure that billing is enabled for your Google Cloud project.
-
Enable the Dataproc Metastore, Dataproc APIs.
-
In the Google Cloud console, on the project selector page, select or create a Google Cloud project.
-
Make sure that billing is enabled for your Google Cloud project.
-
Enable the Dataproc Metastore, Dataproc APIs.
所需的角色
如需获得创建 Dataproc Metastore 和 Dataproc 集群所需的权限,请让您的管理员为您授予以下 IAM 角色:
-
如需授予对所有 Dataproc Metastore 资源的完整访问权限(包括设置 IAM 权限),请执行以下操作:
(
roles/metastore.admin
) 在用户账号或服务账号上 -
如需授予对 Dataproc Metastore 资源的完全控制权,请为用户账号或服务账号授予 Dataproc Metastore 编辑器 (
roles/metastore.editor
) 权限 -
如需创建 Dataproc 集群,请执行以下操作:
(
roles/dataproc.worker
) 在服务账号上
如需详细了解如何授予角色,请参阅管理对项目、文件夹和组织的访问权限。
这些预定义角色包含创建 Dataproc Metastore 和 Dataproc 集群所需的权限。如需查看所需的确切权限,请展开所需权限部分:
所需权限
如需创建 Dataproc Metastore 和 Dataproc 集群,您需要具备以下权限:
-
如需创建 Dataproc Metastore 服务,请执行以下操作:
metastore.services.create
在用户账号或服务账号中 -
如需创建 Dataproc 集群,请执行以下操作:
Dataproc worker (
在服务账号上roles/dataproc.worker
)
创建 Dataproc Metastore 服务
以下说明介绍了如何使用提供的默认设置创建基本 Dataproc Metastore 服务。
控制台
在 Google Cloud 控制台中,前往 Dataproc Metastore 页面。
在导航菜单中,点击 +Create(创建)。
系统随即会打开创建 Metastore 服务对话框。
选择 Dataproc Metastore 2。
在服务名称字段中,输入
example-service
。在数据位置字段中,选择
us-central1
。对于其余服务配置选项,请使用提供的默认值。
如需创建并启动该服务,请点击提交。
您的新 Metastore 服务会显示在 Dataproc Metastore 页面上。在服务可供使用之前,状态会显示为“正在创建”。准备就绪后,状态会变为有效。预配服务可能需要几分钟的时间。
以下屏幕截图显示了使用部分提供的默认值的创建服务页面示例。
gcloud CLI
如需使用提供的默认值创建元存储空间服务,请运行以下 gcloud metastore services create
命令:
gcloud metastore services create example-service \ --location=us-central1 \ --instance-size=MEDIUM
此命令会在默认区域 (us-central1
) 中创建一个名为 example-service
的服务,并采用默认实例大小 (MEDIUM
)。
REST
按照 API 说明使用 APIs Explorer 创建服务。
创建 Dataproc 集群并连接到 Dataproc Metastore
接下来,您需要创建一个 Dataproc 集群,并从该集群连接到您的元存储空间。之后,您的集群会将 Metastore 服务用作其 HMS。您在此处创建的集群将使用提供的默认设置。
控制台
在 Google Cloud 控制台中,前往 Dataproc 集群页面。
在导航栏中,选择 +Create cluster(创建集群)。
系统随即会打开创建集群对话框,提供多个可供选择的基础架构。
在 Compute Engine 上的集群行中,选择创建。
系统随即会打开在 Compute Engine 上创建 Dataproc 集群页面。
在集群名称字段中,输入
example-cluster
。在区域和可用区菜单中,选择
us-central1
。对于其余设置集群选项,请使用提供的默认值。
在导航菜单中,点击自定义集群(可选)标签页。
在 Dataproc Metastore 部分中,选择您之前创建的 Metastore 服务。
如果您照本教程中的说明操作,则该目录名为
example-service
。对于其余服务配置选项,请使用提供的默认值。
如需创建集群,请点击创建。
您的新集群会显示在集群列表中。在集群准备好投入使用之前,集群状态会显示为正在预配。准备就绪后,状态会变为有效。配置集群可能需要几分钟的时间。
gcloud CLI
如需使用提供的默认设置创建集群,请运行以下 gcloud dataproc clusters create
命令:
gcloud dataproc clusters create example-cluster \ --dataproc-metastore=projects/PROJECT_ID/locations/us-central1/services/example-service \ --region=us-central1
将 PROJECT_ID
替换为您在其中创建了 Dataproc Metastore 服务的项目的 ID。
REST
按照 API 说明使用 API Explorer 创建集群。
使用 Dataproc 集群连接到 Apache Hive
以下步骤介绍了如何在 Apache Hive 中运行一些示例命令来创建数据库和表。
接下来,在 Dataproc 集群上打开 SSH 会话并启动 Hive 会话。
- 在 Google Cloud 控制台中,前往虚拟机实例页面。
- 在虚拟机实例列表中,点击
example-cluster
旁边的 SSH。
系统会在节点的主目录中打开一个浏览器窗口,其中显示的输出类似于以下内容:
Connected, host fingerprint: ssh-rsa ...
Linux cluster-1-m 3.16.0-0.bpo.4-amd64 ...
...
example-cluster@cluster-1-m:~$
如需启动 Hive 并创建数据库和表,请在 SSH 会话中运行以下命令:
启动 Hive。
hive
创建一个名为
myDatabase
的数据库。create database myDatabase;
显示您创建的数据库。
show databases;
使用您创建的数据库。
use myDatabase;
创建一个名为
myTable
的表。create table myTable(id int,name string);
列出
myDatabase
下的表。show tables;
描述您创建的表的架构。
desc MyTable;
运行这些命令后,您会看到类似于以下内容的输出:
$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
清理
为避免因本页中使用的资源导致您的 Google Cloud 账号产生费用,请按照以下步骤操作。
- In the Google Cloud console, go to the Manage resources page.
- If the project that you plan to delete is attached to an organization, expand the Organization list in the Name column.
- In the project list, select the project that you want to delete, and then click Delete.
- In the dialog, type the project ID, and then click Shut down to delete the project.
或者,您可以删除本教程中使用的资源:
删除 Dataproc Metastore 服务。
控制台
在 Google Cloud 控制台中,打开 Dataproc Metastore 页面:
在服务列表中,选择
example-service
。在导航栏中,点击删除。
系统随即会打开删除服务对话框。
在对话框中,点击删除
您的服务将不再显示在服务列表中。
gcloud CLI
如需删除服务,请运行以下
gcloud metastore services delete
命令。gcloud metastore services delete example-service \ --location=us-central1
REST
按照 API 说明使用 APIs Explorer 删除服务。
所有删除操作都会立即成功执行。