SuperAPI AI 工具集

lakehouse-table-inspection

数据与分析

查看项目

更新于 10-15 10:43

技能介绍

用途

该技能为智能体提供一套方法论,用于发现数据湖资产、连接企业级元数据目录,并检查 Delta Lake、Apache Iceberg 和 Apache Hudi 表。其核心目标是在不进行重型计算的前提下获取深度元数据,让工程师能够快速了解表的结构与历史。

主要能力

  • 目录连接:支持连接企业级元数据目录,包括 Unity Catalog、AWS Glue、Polaris。
  • 元数据检索:通过轻量级 Python 库获取表的 Schema、分区布局和快照历史。
  • 时间旅行与表恢复:支持查询特定快照/版本,以及在数据损坏或表被删除时恢复表。
  • RAG 就绪的元数据摘要:以结构化 Markdown 输出发现结果,便于其他智能体或人员阅读。

使用方式

1. 目录连接

始终询问用户偏好的目录,或检查其环境变量(AWS_PROFILE、DATABRICKS_HOST)。

Iceberg 通过 REST/Polaris:

from pyiceberg.catalog import load_catalog

catalog = load_catalog(
    "default",
    **{
        "type": "rest",
        "uri": "https://api.polaris.com/v1",
        "credential": "oauth2_token..."
    }
)
table = catalog.load_table("namespace.table")

Delta 通过 Unity Catalog(Databricks SDK):

from databricks.sdk import WorkspaceClient

w = WorkspaceClient()
table = w.tables.get("catalog.schema.table_name")
print(table.columns)

2. 时间旅行与表恢复

如果用户提到数据损坏或表被删除:

  • 建议查询特定快照/版本。
  • Delta:SELECT * FROM my_table VERSION AS OF 12
  • Iceberg:SELECT * FROM my_table FOR SYSTEM_VERSION AS OF 12345

恢复表:

-- Delta Lake
RESTORE TABLE my_table TO VERSION AS OF 12;

-- Apache Iceberg
CALL catalog.system.rollback_to_snapshot('my_table', 12345);

3. RAG 就绪的元数据摘要

始终以结构化 Markdown 输出发现结果,便于其他智能体或人员阅读。

示例格式:

### 🗂️ Enterprise Table Profile: `[Table Name]`

- **Catalog:** [Glue / Unity / Polaris]
- **Format:** [Delta/Iceberg/Hudi]
- **Location:** `[s3/adls/gcs path]`
- **Latest Version/Snapshot:** [Version ID]
- **Time Travel Retained:** [X days]

#### Schema
| Column | Type | Nullable | Masking/Tag |
|--------|------|----------|-------------|
| id     | long | False    | -           |
| email  | str  | True     | `[MASKED]`  |

适用场景

  • 需要快速了解数据湖表元数据(Schema、分区、快照历史)的工程师。
  • 排查数据损坏或误删表,需要时间旅行查询或恢复表的场景。
  • 为其他智能体或人员生成可读的元数据档案,支持 RAG 工作流。

限制

资料中未提供关于收费、价格、平台支持范围、性能效果或具体使用步骤的更多信息。