常见的探索错误

本页介绍了如何解决与 数据探索工作台 Dataplex。

找不到数据库

从 SQL Workbench 或 Jupyter 笔记本运行 Spark 查询时, 错误:

Script failed in execution.
org.apache.spark.sql.catalyst.parser.ParseException:
No viable alternative at input `zone-name`(line 1, pos24)

Dataplex 区域名称会映射到与 Hive 兼容的数据库名称, 可以使用 Spark 进行查询。Dataplex 区域名称可以包含 连字符 (-),而 Hive 数据库名称不能。因此,Dataplex 可用区名称中的短划线会映射到 Hive 数据库名称中的下划线 (_)。

如需解决此问题,请按以下步骤操作:

  1. 获取可用数据库的列表:

    show databases
    
  2. 查看返回的数据库名称列表,确保您是在查询 正确的数据库名称。

找不到表

从 SQL 工作台或 Jupyter 笔记本运行 Spark 查询时,会出现以下错误:

Script failed in execution.
org.apache.spark.sql.AnalysisException: Table or view not found

Dataplex 发现 BigQuery 的元数据和 Cloud Storage 资源,并让您能够使用 Dataproc Metastore (DPMS)。在 SQL 工作台或 Jupyter 笔记本上执行 Spark 查询时,系统会连接到 DPMS 以获取表元数据。

如需解决此问题,请按以下步骤操作:

  1. 获取可用表的列表:

    show tables in DATABASE_NAME
    
  2. 请确保您查询的表名称正确无误。

  3. 如果表名称包含大写字母,则设置 spark.sql.caseSensitive 设为 true

权限错误

Spark 查询失败并显示权限错误。例如:

  • HiveException
  • TTransportException

如需使用 Dataplex 中的“探索”功能,您必须获得对 Dataplex 资源和底层资产的必要角色和权限。

如需解决权限问题,请按以下步骤操作:

  • 确保您已获得使用数据探索工作台所需的角色和权限
  • 确保您对底层 Cloud Storage 拥有 read 权限 和 BigQuery 资源。
  • 对于自定义软件包,请确保 Cloud Dataplex Service Agent 对 Cloud Storage 存储桶中配置的 Cloud Storage 存储桶拥有 read 权限 环境

无法删除包含脚本或笔记本的湖

当您删除用于 Dataplex Explore 的数据湖时,如果该数据湖包含脚本或笔记本,则会发生以下错误:

Failed to delete `projects/locations/region/lakes/lakename` since it has child
resources.

Dataplex 探索需要至少一个环境 。

要解决此问题,请使用以下解决方法之一:

  • 使用 gcloud CLI 命令从数据湖中删除脚本和笔记本,然后删除数据湖。
  • 创建一个用于启用资源浏览器的临时环境。删除所有脚本和笔记本,然后删除临时环境和数据湖。

作业已终止

运行 Spark 查询时,如果出现严重错误,作业会中止。

要解决此问题,请参阅错误消息,找出导致 并解决问题。

查询 Iceberg 表时出现 TTransportException

当您查询较宽的 Iceberg 表时,会发生 TTransportException

冰山存在一个已知问题 (适用于 Dataproc 2.0 映像上的 Spark 3.1), Dataplex 探索。

如需解决此问题,请在 SELECT 查询中添加额外的投影。 例如:

SELECT a,b,c, 1 AS dummy FROM ICEBERG_TABLE

在此示例中,1 AS dummy 是额外投影。如需了解详情,请参阅问题详情页面

数据湖未显示在“探索”资源浏览器中

只有 us-central1europe-west2europe-west1us-east1us-west1asia-southeast1asia-northeast1 区域。属于任何其他区域的湖泊不会显示在“探索”资源浏览器中。

无法开始使用 Dataplex 探索功能

在 Google Cloud 控制台的 Dataplex 上 页面上,当您点击探索后,系统会显示以下消息:

In order to use Dataplex Explore to query data in CLoud Storage and BigQuery
using open soure applications (ex: SparkSQL), connect a metastore. Get started
by setting up one. If DPMS is already attached to the lake and you are seeing
this page, please check the DPMS logs for any possible issues.

只有当数据湖已配置 Dataproc Metastore (DPMS) 且至少设置了一个环境时,探索功能才可用。

如需解决此问题,请将您的数据湖关联到 Dataproc Metastore

配额限制

创建环境时,您可能会看到与配额相关的错误。

要解决此问题,请在创建 环境:

  • 您可以为每个数据湖创建 10 个环境。
  • 您可以创建最多包含 150 个节点的环境。
  • 单个用户会话的会话时长上限为 10 小时。

会话启动时间过长

为每位用户发起一个新会话需要 2.5-3.5 分钟。会话 活跃,用于为同一用户运行后续查询和笔记本。

为了缩短会话启动时间 创建默认环境 快速启动

无法安排包含自定义 Python 软件包的笔记本

在 Google Cloud 控制台中安排包含自定义 Python 软件包时,会发生以下错误:

Selected environment ENVIRONMENT_NAME has additional Python
packages configured. These packages will not be available in the default runtime
for the scheduled notebook when scheduling in the Console. To make the required
additional Python packages available in the runtime, please create Notebook
Schedule using gcloud command instead, referencing a container image with
required additional packages.

如果环境 自定义 Python 软件包

如需解决此问题,请使用 gcloud CLI 安排包含自定义软件包的笔记本