用途
该技能为智能体提供一套方法论,用于发现数据湖资产、连接企业级元数据目录,并检查 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 工作流。
限制
资料中未提供关于收费、价格、平台支持范围、性能效果或具体使用步骤的更多信息。