部署 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 页面。
在导航菜单中,点击 +创建。
系统随即会打开创建 Metastore 服务对话框。
选择 Dataproc Metastore 2。
在服务名称字段中,输入
example-service
。在数据位置字段中,选择
us-central1
。对于其余服务配置选项,请使用提供的默认值。
如需创建并启动服务,请点击提交。
新的 Metastore 服务会显示在 Dataproc Metastore 页面上。通过 状态显示正在创建,直到服务准备就绪。时间 状态将变为有效。预配服务可能需要几分钟的时间。
以下屏幕截图显示了创建服务页面的示例 使用提供的一些默认值
gcloud CLI
如需使用提供的默认值创建 Metastore 服务,请执行以下操作:
运行以下 gcloud metastore services create
命令:
gcloud metastore services create example-service \ --location=us-central1 \ --instance-size=MEDIUM
默认情况下,此命令将创建一个名为 example-service
的服务。
区域 (us-central1
) 和默认实例大小 (MEDIUM
)。
REST
按照 API 说明使用 APIs Explorer 创建服务。
创建 Dataproc 集群并连接到 Dataproc Metastore
接下来,您将创建 Dataproc 集群并连接到您的 Metastore 从集群中移除之后,您的集群会使用 Metastore 服务作为 HMS。 您在此处创建的集群会使用提供的默认设置。
控制台
在 Google Cloud 控制台中,转到 Dataproc 集群页面。
在导航栏中,选择 +创建集群。
系统会打开创建集群对话框,供您选择 供您选择。
在 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 服务。
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 删除服务。
所有删除操作都会立即成功执行。
删除 Cloud Storage 存储桶 适用于 Dataproc Metastore 服务。