SuperAPI AI 工具集

di-agent-query-optimization

数据与分析

查看项目

更新于 10-16 05:56

技能介绍

用途:把普通 Substrait 计划 JSON 重写为 Natural Language to DataStage 流程所用的紧凑全下推形态,链路为:自然语言→Substrait 计划→优化→优化后计划→DataStage 流程。它区分全 SQL 下推与部分下推,但只为全下推生成优化输出;若无法证明全下推安全,则停止并返回原计划及原因,不做部分拆分。

主要能力:解析并检查计划(顶层 relations、root/write/fetch 类型、读写表路径、连接 ID、输出 schema);判定全下推资格;调用 substrait_to_sql 将原计划转 SQL;构建含 SQL 读取节点的全下推计划;校验并输出优化结果。全下推需满足:SQL 转换成功且保留全部 relation rel、所有读取来自同一连接、所有操作可在该连接内以 SQL 执行。

使用方式:输入为有效 Substrait 计划 JSON(必需),可选 target_dialect(如 postgresql、db2、snowflake、generic)、源与目标连接元数据、root 模式(fetch 或 write)。无原始计划时,先经 di-agent-query-substrait 生成,再用 di-agent-query-sql / substrait_to_sql 测试转换,最后交给 di-agent-flow-substrait-datastage 生成 Python SDK 脚本与 DataStage 流程。

限制:暂不支持部分下推,也不将计划拆分为数据库与 DataStage 片段;不臆造连接元数据,同库资格必须显式或由用户提供,缺失则停止;SQL 正确性依赖 di-agent-query-sql 所用的 substrait_to_sql 工具;仅写块(无结尾 SELECT)不支持;输出 schema 无法推导时需询问用户。