使用数据探索工作台

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

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

本文档介绍了如何使用 Dataplex 中的“探索”功能。

费用

Dataplex 在高级处理层级提供 Explore。

术语

本文档使用以下术语:

环境

环境可为 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 会为此环境预配会话,以便随时可用,从而缩短初始会话启动时间。
  • 快速启动会话是指单节点会话,Dataplex 对其收取的费率与常规会话类似,采用 Premium 处理 SKU 费率。最多只能有一个始终开启的会话 适用于快速启动,即使在不使用时也会产生费用。 Dataplex 会让此预创建会话保持活跃状态 10 小时,然后关闭该会话,再创建一个新会话。

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

SQL 脚本

SQL 脚本是指保存为 Dataplex 数据湖中内容的 Spark SQL 脚本。您可以将脚本保存在数据湖中,并与其他主账号共享。此外,您还可以安排它批量运行 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 分钟,最大值为 60 分钟。
  9. 软件包(可选)窗格中,您可以指定要在此环境中为用户会话预配的其他 Python 软件包、JAR 文件和 Spark 属性。

    创建环境并为 Java JAR 或 Python 软件包提供 Cloud Storage 路径后,为了让 Dataplex 安装 JAR 或软件包,请确保 Cloud Dataplex 服务代理具有访问 Cloud Storage 文件所需的权限。

  10. 点击创建

备注

  • 一个节点对应于 4 个数据计算单元 (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 湖表。
    • Notebook:包含在所选数据湖中创建的所有 Notebook。
    • 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. 展开相应“湖”,然后点击 Notebooks 文件夹。

  4. 点击新建笔记本

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

  6. 可选:在说明字段中,为新记事提供说明。

  7. 可选:添加标签。

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

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

  10. 创建或打开笔记本时,选择您希望 Dataplex 在其中创建用户会话的环境。请务必选择包含您信任的软件包的环境。

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

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

安排笔记本

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

共享笔记本

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

  1. 探索视图中,点击 Notebooks 文件夹。

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

  3. 点击分享

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

    共享笔记本后,拥有数据湖级别查看或修改权限的用户可以前往数据湖并处理共享笔记本。

导入笔记本

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

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

  2. 点击导入

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

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

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

导出笔记本

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

  1. 探索视图中,点击 Notebooks 文件夹。

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

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

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

  5. 点击导出笔记本

后续步骤