使用数据探索工作台

Dataplex (Explore) 中的数据探索工作台可让您以交互方式 一键访问 Spark SQL,查询全托管式数据 脚本和 Jupyter 笔记本。借助“探索”功能,您可以跨团队协作, 提供对编码资源的内置发布、共享和搜索功能。

探索预配、扩缩和管理无服务器基础架构 使用用户凭据运行 Spark SQL 脚本和笔记本所需的实例。 您可以在 Workbench 中借助无服务器调度功能将工作付诸实施。

本文档介绍了如何在 Google Cloud 控制台中使用“探索”功能, Dataplex。

费用

Dataplex 在 高级处理层

术语

本文档使用以下术语:

环境

环境可为您的 Spark SQL 提供无服务器计算资源 在数据湖内运行的查询和笔记本Dataplex 由管理员创建和管理环境

管理员可以授权一位或多位用户运行查询和笔记本 向其授予 开发者角色 或关联的 IAM 权限

会话

当授权用户选择一个环境来运行查询并 则 Dataplex 使用指定的环境配置 以创建特定于用户的活跃会话。取决于环境 如果会话未被使用,则会自动终止。

每个用户需要几分钟才能启动新会话。会话 则它会为同一用户运行后续查询和笔记本。会话是指 最长可持续 10 小时。

对于环境,Dataplex 只会为每个用户创建一个会话, 由 Spark SQL 脚本和 Jupyter 笔记本共享。

Dataplex 使用会话中的用户凭据来运行 操作,例如从 Cloud Storage 查询数据以及 BigQuery。

节点

节点在环境配置中指定计算容量。一个节点 映射到 4 个数据计算单元 (DCU),相当于 4 个 vCPU 和 16 GB RAM。

默认环境

您可以为每个数据湖创建一个 ID 为 default 的默认环境。 默认环境必须使用默认配置。默认配置 由以下部分组成:

  • 一个节点的计算容量
  • 主磁盘大小为 100 GB
  • 自动关闭会话的时间(自动关闭时间)设为 10 分钟的空闲时间
  • sessionSpec.enableFastStartup 参数,默认设置为 true。当此参数设置为 true 时,Dataplex 为此环境预置了会话,以便随时 这样可以缩短会话初始启动时间。
  • 快速启动会话是单节点会话, 按高级处理 SKU 收费 类似于常规会话的费率最多只能有一个始终开启的会话 适用于快速启动,即使在不使用时也会产生费用。 Dataplex 会将这个预先创建的会话保持活动状态 10 小时, 关闭它,然后创建一个新会话。

如果您未明确选择环境并设置了默认环境 则 Dataplex 会使用默认环境 创建会话

SQL 脚本

SQL 脚本是一种 Spark SQL 脚本,以内容的形式保存在 Dataplex 数据湖。您可以将脚本保存在数据湖中, 并与其他主账号共享此外,您还可以安排它批量运行 Dataplex 中的无服务器 Spark 作业。借助 Dataplex, 开箱即用 Spark SQL 访问权限,可访问映射到 Cloud Storage 中数据的表 和 BigQuery。

笔记本

Python 3 笔记本是一种 Jupyter 笔记本,可作为内容保存在 Dataplex 数据湖。您可以将笔记本保存为 数据湖并与其他主账号共享,或者 安排定期运行实验 Dataplex 中的 Dataproc Serverless Spark 批量作业。

对于 BigQuery 中的数据 而不使用 %%bigquery 魔法命令,直接通过 Spark 创建表。

准备工作

在开始之前,请将您的数据湖关联到 Dataproc Metastore,并授予 所需的角色。

将您的数据湖关联到 Dataproc Metastore (DPMS)

如需使用“探索”功能,请执行以下操作:

了解如何设置 Dataproc Metastore, 使用 Dataplex 访问 Spark 中的元数据

所需的角色

根据您计划执行的操作,您需要以下所有 IAM 角色。数据湖中的所有环境都会继承在数据湖级别授予的权限。

Dataplex IAM 角色

  • Dataplex Viewer
  • Dataplex 开发者
  • Dataplex Metadata Reader
  • Dataplex Data Reader

其他角色:

日志记录

如需了解“探索”功能的用法,请参阅以下文档:

已知限制

本部分介绍了“探索”的已知限制。

  • “探索”功能适用于以下区域的湖泊:

    • asia-northeast1
    • asia-southeast1
    • europe-west1
    • europe-west2
    • us-central1
    • us-east1
    • us-west1
  • 在一个项目中,每个区域最多可以使用 10 个环境。相关信息 如需提高配额限制,请参阅使用配额

  • 您可以创建最多包含 150 个节点的环境。会话时长 最长为 10 小时

  • Spark SQL 脚本只能查询给定数据湖中的数据。如果您想 在其他数据湖中查询数据,您必须切换到该数据湖并选择一个数据湖 环境

  • 恢复删除的项目后,Dataplex 不会恢复内容 例如 SQL 脚本或笔记本。请谨慎操作 使用“探索”内容资源删除项目。

  • 安排笔记本时,如果环境具有自定义软件包,则您需要 只能使用 gcloud CLI 安排笔记本。有关 相关信息,请参阅使用自定义软件包调度笔记本

  • 如果您在删除环境之前删除脚本和笔记本, 无法访问“探索”页面。因此,请务必删除 脚本和笔记本,然后再从“探索”中删除环境。

  • 探索会话不支持 Hadoop 分布式文件系统 (HDFS)。 不要在“探索”会话中存储任何用户数据,因为系统会在您访问 会话结束。

  • 笔记本或 SQL 脚本的大小上限为 1 MB。

创建环境

  1. 在 Google Cloud 控制台中,前往 Dataplex 管理数据湖页面。

    进入 Dataplex

  2. 选择要为其创建数据湖的 Dataplex 数据湖 环境

  3. 点击环境 (Environments) 标签页。

  4. 点击创建环境

  5. 显示名称字段中,输入环境的名称。

  6. 环境 ID 中,输入唯一 ID。

  7. 可选:输入新环境的说明。

  8. 配置计算窗格中,指定以下内容:

    1. 节点数:要预配的节点数量 。
    2. 最大节点数: Dataplex 可以在关联的用户会话中进行自动扩缩 环境。
    3. 主磁盘大小:与每个磁盘关联的磁盘大小 预配节点
    4. 自动关停时间:Dataplex 将在此时间过后的空闲时间 自动关闭与此关联的用户会话 环境您可以设置一个 10 分钟到 10 分钟不等的 60 分钟。
  9. 软件包(可选)窗格中,您可以指定其他 要在用户会话上安装的 Python 软件包、JAR 文件和 Spark 属性 预配的容器。

    创建环境并提供 Cloud Storage 路径 Java JAR 或 Python 软件包,供 Dataplex 安装 JAR 或软件包,请确保 Cloud Dataplex Service Agent 具有访问 Cloud Storage 所需的权限 文件。

  10. 点击创建

备注

  • 一个节点映射到 4 个数据计算单元 (DCU),DCU 相当于 4 个 vCPU 和 16 GB RAM。

  • 您可以创建具有一个节点或三个或更多节点的环境。

  • 如果您是数据湖的管理员,则可以提前设置环境 让用户能够使用预先指定的配置运行工作负载。

  • 虽然环境可以与多个用户共享,但 Dataplex 使用该环境为每个用户创建单独的会话 配置。

创建默认环境

请参阅默认环境的配置要求

控制台

  1. 在 Google Cloud 控制台中打开 Dataplex。

    进入 Dataplex

  2. 前往管理数据视图。

  3. 选择一个 Dataplex 数据湖。

  4. 点击环境 (Environments) 标签页。

  5. 点击创建默认环境

gcloud

如需创建启用了快速启动功能的默认环境,请运行以下命令 命令:

gcloud dataplex environments create default --project=PROJECT_ID --lake=LAKE_ID --location=REGION--os-image-version=latest --session-enable-fast-startup

使用 Spark SQL Workbench 探索数据

要探索 BigQuery 和 Cloud Storage 数据,请使用 Spark SQL 脚本。

创建并保存脚本

  1. 在 Google Cloud 控制台中,前往 Dataplex 探索 页面。

  2. 探索视图中,选择包含所需数据资产的数据湖 等你来探索。

  3. 在资源浏览器中,展开数据湖。系统会显示以下内容 文件夹:

    • 数据:包含 DPMS 实例中的所有数据库和表 包括 Hudi、Iceberg 和 Delta 湖表。
    • Notebooks:包含在所选数据湖中创建的所有笔记本。
    • Spark SQL 脚本:包含在 所选数据湖。
  4. 展开数据,然后选择所需的数据库和表。

  5. 如需使用示例查询,请点击查询。Spark SQL 工作台 系统会使用示例查询自动填充新标签页。

  6. 如需创建新脚本,请在 Spark SQL 编辑器中点击新建脚本。 然后输入您的查询

  7. 要保存脚本,请依次选择保存 > 保存脚本

运行脚本

  1. Spark SQL 编辑器中,点击要运行的查询所在的标签页。

  2. 点击选择环境。选择所需的环境 来运行查询。如果不选择环境,Dataplex 会使用默认环境为每个用户创建会话。

    您可以在同一个脚本中运行多个 Spark SQL 查询,只需将 带分号的查询。

  3. 点击运行

  4. 查看脚本中每个查询的查询历史记录结果 使用下拉菜单

安排脚本运行时间

您可以安排脚本作为 Dataplex 任务运行。 如需了解详情,请参阅创建和管理 SQL 脚本时间表

共享脚本

您可以使用 IAM 权限与组织中的其他人共享脚本:

  1. 探索视图中,点击要共享的 Spark SQL 脚本。

  2. 更多菜单中,点击共享

  3. 查看权限。添加或移除查看者、编辑者和管理员 对共享脚本的权限。

共享脚本后,拥有数据湖级别查看或修改权限的用户 可以导航到数据湖并处理共享的脚本。

使用 Spark SQL 探索 BigQuery 和 Cloud Storage 数据

对于作为资产添加到区域的任何 BigQuery 数据集, 借助 Dataplex,可以直接对 Spark SQL 中的所有表进行访问 数据集。您可以使用 Spark SQL 脚本或 笔记本。例如:

 select * from ZONE_ID.TABLE_ID

如果您的资产映射到同一可用区中的 Cloud Storage 存储分区, Dataplex 提供了统一的表列表, 查询。

使用笔记本探索数据

本部分介绍如何创建、安排、共享、导入和导出 笔记本。

创建并保存笔记本

  1. 在 Google Cloud 控制台中,前往 Dataplex 探索 页面。

  2. 探索视图中,选择一个湖泊。

  3. 展开数据湖,然后点击笔记本文件夹。

  4. 点击新建笔记本

  5. 笔记本路径字段中,提供笔记本的名称。

  6. 可选:在说明字段中,为新 笔记本。

  7. 可选:添加标签。

  8. 点击创建笔记本。笔记本现已创建。

  9. 如需打开已创建的笔记本,请点击打开笔记本

  10. 选择希望 Dataplex 在其中创建 用户会话。请确保您 选择包含您信任的软件包的环境。

    如果您未选择环境,Dataplex 将使用默认值 环境如果您没有环境,请创建一个。有关 相关信息,请参阅创建环境

    现在,您可以通过编写 Python 代码并保存笔记本来探索数据 。稍后,您可以预览创建的笔记本并查看其 而无需创建会话并运行代码。

安排笔记本

您可以安排笔记本作为 Dataplex 任务运行。 如需了解详情,请参阅为笔记本创建和管理时间表

共享笔记本

您可以使用 IAM 权限与组织中的其他人共享笔记本:

  1. 探索视图中,点击笔记本文件夹。

  2. 选择您要共享的 Jupyter 笔记本。

  3. 点击分享

  4. 查看权限。添加或移除查看者、编辑者和管理员 此笔记本的权限。

    您共享笔记本后,对数据湖拥有查看或修改权限的用户 可以导航到该数据湖并处理共享的笔记本。

导入笔记本

您可以从 Cloud Storage 存储桶导入笔记本:

  1. 探索视图中,点击笔记本文件夹。

  2. 点击导入

  3. 导航到 Cloud Storage 存储桶,其中包含 导入的数据。

  4. 选择相应笔记本,提供名称,然后点击导入

    导入的笔记本会在 Notebooks 文件夹中创建。您可以打开 修改、共享和安排导入的笔记本。

导出笔记本

您可以将笔记本导出到 Cloud Storage 存储桶, 组织中拥有 IAM 权限的其他人员使用。

  1. 探索视图中,点击笔记本文件夹。

  2. 标记要导出的笔记本。

  3. 点击 菜单,然后点击 导出

  4. 输入要将笔记本导出到的 Cloud Storage 路径。

  5. 点击导出笔记本

后续步骤