资讯动态

如何用AI Dev Kit Jobs技能搭建多任务DAG:触发器与调度完整指南

发布时间:2026/9/18 15:48:14 来源:尧图企业网站定制
如何用AI Dev Kit Jobs技能搭建多任务DAG触发器与调度完整指南【免费下载链接】ai-dev-kitDatabricks Toolkit for Coding Agents provided by Field Engineering项目地址: https://gitcode.com/GitHub_Trending/ai/ai-dev-kitAI Dev Kit 是 Databricks 官方现场工程团队推出的开发者工具包其中的Jobs 技能databricks-jobs是你用 AI 编程助手管理数据任务的核心知识模块。它完整覆盖了多任务 DAG 依赖编排、5 种触发器类型Cron 定时、周期触发、文件到达、表更新、持续运行以及调度与监控配置帮助新手快速从零搭建可靠的 ETL 数据流水线。 Jobs技能能做什么一张表看懂全部能力能力说明参考文档9 种任务类型笔记本、Python、SQL、dbt、Pipeline 等task-types.md5 种触发器定时、周期、文件到达、表更新、持续triggers-schedules.md通知与监控邮件/Webhook、健康规则、超时重试notifications-monitoring.md完整示例ETL、流处理、跨作业编排等 7 个场景examples.md入口文件是 SKILL.md它会在你说出创建作业查看作业状态配置 Cron 调度等意图时自动被 AI 助手调用优先于通用知识回答你的 Jobs 问题。 三种方式创建你的第一个定时任务Jobs 技能支持三种等价的管理方式可按团队习惯任选Python SDK—— 用WorkspaceClient()调用jobs.create()适合程序化自动化CLI——databricks jobs list、databricks jobs run-now 12345等命令适合运维Asset BundlesDABs—— 用 YAML 声明式定义作业databricks bundle deploy一键部署适合多环境管理推荐。以 DABs 为例一个每天早上 8 点运行的任务只需几行 YAMLresources: jobs: daily_etl: name: Daily ETL schedule: quartz_cron_expression: 0 0 8 * * ? timezone_id: Asia/Shanghai pause_status: UNPAUSED tasks: - task_key: etl notebook_task: notebook_path: ../src/etl.py️ 多任务DAG用 depends_on 编排 ETL 流水线DAG有向无环图是 Jobs 技能最核心的编排能力。每个任务有唯一的task_key通过depends_on声明上游依赖即可拼出抽取 → 转换 → 加载 → 校验的经典流水线完整示例见 examples.md 中的 ETL Pipeline 章节tasks: - task_key: extract notebook_task: notebook_path: ../src/extract.py - task_key: transform depends_on: - task_key: extract notebook_task: notebook_path: ../src/transform.py - task_key: load depends_on: - task_key: transform run_if: ALL_SUCCESS # 只有上游全部成功才执行run_if条件让 DAG 更智能常用取值ALL_SUCCESS默认所有依赖成功才运行ALL_DONE依赖全部结束无论成败都运行适合汇总/清理任务ALL_FAILED/AT_LEAST_ONE_FAILED专门用于失败告警、回滚等补偿任务两个实用进阶玩法for_each_task 并行循环对动态列表如各区域代码逐个并发执行可限制concurrency并行数run_job_task 跨作业编排用一个主调度作业按顺序触发摄取、转换等多个独立作业实现作业级 DAG。⏰ 触发器与调度速查5种模式怎么选触发方式适用场景关键配置Cron 调度每天/每周固定时刻quartz_cron_expression 时区周期触发每 N 小时/天/周periodic: {interval, unit}最小 1 小时文件到达云存储新文件即处理监控s3://、gs://等 URL表更新Unity Catalog 表变更即触发table_updateANY_UPDATED持续运行流处理长驻作业continuous失败自动重启Cron 表达式格式为秒 分 时 日 月 周几个高频写法表达式含义0 0 8 * * ?每天 8:000 0 8 * * MON-FRI工作日 8:000 0 */2 * * ?每 2 小时0 0 0 1 * ?每月 1 号零点新手注意Cron、周期触发、文件到达可以组合在同一个作业上独立评估、互不干扰若作业正在运行默认后续触发会跳过将max_concurrent_runs调大或启用queue可改为排队执行。完整时区列表与暂停/恢复方法见 triggers-schedules.md。 通知、健康监控与容错生产级三件套配置项作用email_notifications/webhook_notifications开始/成功/失败/超时告警推送到邮件、Slack、PagerDutyhealth.rules如运行超 1 小时告警流积压超 5 分钟告警max_retriesmin_retry_interval_millis任务失败自动重试如重试 3 次、间隔 30 秒timeout_seconds作业或任务级超时熔断计算资源方面推荐用job_clusters定义共享集群供所有任务复用配合autoscale弹性伸缩不配置集群的笔记本/Python 任务则自动走Serverless 计算按量计费、开箱即用。详细参数见 notifications-monitoring.md。 AI 助手如何执行MCP 工具层技能文档之外本工具包还内置了可直接调用的执行工具。MCP 服务端在 databricks-mcp-server/databricks_mcp_server/tools/jobs.py 中封装了两个工具manage_jobs—— 创建、查询、按名查找、更新、删除作业创建时幂等重名自动返回已有作业不会重复创建manage_job_runs—— 立即运行、修复失败任务repair、查询输出、取消、等待完成。底层逻辑位于 databricks-tools-core/databricks_tools_core/jobs/jobs.py 与 runs.py你只需用自然语言告诉 AI帮我创建一个每天凌晨 2 点运行的三任务 ETL 作业失败时重试两次并邮件告警即可完成配置。️ 常见问题排查速查症状排查要点依赖不生效检查depends_on中的task_key是否与上游完全一致定时不触发确认pause_status: UNPAUSED且时区设置正确文件到达无感知路径需有读取权限且使用云存储 URL表更新漏事件表须在 Unity Catalog 中作业身份需SELECT权限参数读不到笔记本内用dbutils.widgets.get()获取以上对照表源自 SKILL.md 的 Common Issues 章节。 小结用depends_onrun_if编排多任务 DAGfor_each_task做并行、run_job_task做跨作业调度按场景选择 5 种触发器定时用 Cron、轻量间隔用周期、事件驱动用文件/表更新、流处理用持续作业生产环境务必加上通知、健康规则、重试与超时四者组合即可做到故障自愈与秒级告警。掌握 databricks-skills/databricks-jobs/ 下的四个参考文档你已具备用 AI 助手构建完整数据编排能力所需的全部知识。【免费下载链接】ai-dev-kitDatabricks Toolkit for Coding Agents provided by Field Engineering项目地址: https://gitcode.com/GitHub_Trending/ai/ai-dev-kit创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考

读完文章,也想定制专属网站?

尧图设计师 24 小时内与您沟通定制方案

免费获取报价