用途
该技能为智能体提供一套方法论,用于发现数据湖资产、连接企业级元数据目录,并检查 Delta Lake、Apache Iceberg 和 Apache Hudi 表。其目标场景是:工程师需要获取深度元数据,但又不希望触发大量计算。智能体需要无缝连接已配置的元数据目录,并使用轻量级 Python 库检索表结构、分区布局和快照历史。
主要能力
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]` |
使用方式
该技能以指令形式提供给智能体,智能体在需要检查数据湖表时按上述步骤执行:先确定目录连接方式,再加载表并读取元数据,最后按结构化 Markdown 输出。涉及时间旅行或恢复时,按对应格式生成查询或恢复语句。
适用场景
- 需要在不进行大量计算的情况下获取数据湖表的深度元数据。
- 需要连接 Unity Catalog、AWS Glue、Polaris 等企业级元数据目录。
- 需要检查 Delta Lake、Apache Iceberg、Apache Hudi 表的结构、分区布局和快照历史。
- 需要处理数据损坏或表被删除的情况,进行时间旅行查询或表恢复。
- 需要以结构化 Markdown 输出元数据摘要,供其他智能体或人工使用。
限制
资料中未提供关于该技能的具体收费、价格、平台支持范围、性能效果或完整使用步骤的更多信息。上述内容均基于所提供的技能说明整理,未提及的部分暂未提供。