教你数分钟内创建并运行一个 DolphinScheduler Workflow!

Workflow是什么?

对于数仓场景和数据湖场景来说,最显著的特点就是数据处理的长流程和高复杂度任务依赖关系,从源数据采集到最终报表数据的生成,中间可能经历上百个任务的处理,这些任务如果是散乱的,无明确的流程组织起来,中间某一个步骤出问题,就很难发现其影响范围,更加难以判定对其他依赖的任务的影响程度。

任务需要被有效地组织并流程化处理。这就需要Workflow 。DolphinScheduler 中 Workflow 通过 DAG(有向无环图)的方式操作。DAG 是由多个顶点(tasks)和其他顶点的之间关系(Relationships)构成,图形化的 Workflow 可以很直观地看到任务之间的关系,任意任务之间不能形成环。使用 Workflow 管理任务可以让数据处理流程更有层次,加上任务血缘展示,可以让整个数据处理流程更可视化和清晰明了。

本文就主要探讨如何在 ApacheDolphinScheduler 上更好地玩转 Workflow, 以帮助大家更好地管理数据处理任务。

创建工作流

根据需求,在 ApacheDolphinScheduler上,可以通过页面拖拽、Python脚本、yaml定义、OpenAPI调用多种方式创建工作流。这一点相对 Apache Airflow 来说,要更容易上手一些,比较适合平台使用者为多个部门的人员,比如分析师、数据科学家等,毕竟所见即所得比起调试 Python 代码要来得更简单直接一些。

我们以最简单的页面拖拽为例,假如有一个最简单的场景,从一个文件获取日志数据get-logs,然后分别经过处理日志1 read-file1 和日志2 read-file2, 每个文件经过统计,输出到不同的数据表output1, output2,如果两个文件都读取成功,要汇聚总表 output-summary.

DolphinScheduler 中,创建工作流执行 runnable 失败的问题可能由多种原因引起,包括配置错误、资源不足、权限问题或依赖项缺失等。以下是可能的解决方案和排查步骤: ### 检查工作流定义和节点配置 确保工作流定义的 JSON 文件格式正确,且所有节点的配置无误。常见的错误包括任务节点的参数设置错误、依赖关系配置不正确等。可以通过 DolphinScheduler 的 Web UI 或日志文件检查具体错误信息。 ### 检查 DolphinScheduler 的日志 DolphinScheduler 的日志是排查问题的重要工具。可以在 `logs` 目录下找到相关的日志文件,例如 `dolphinscheduler-server.log` 或 `dolphinscheduler-worker-server.log`。通过日志可以定位到具体的错误信息,例如任务执行失败的原因、资源不足的提示等 [^1]。 ### 验证资源管理配置 如果 DolphinScheduler 使用的是资源中心(如 HDFS 或本地文件系统),需要确保资源中心的配置正确,且相关资源(如脚本文件、依赖包)已正确上传。此外,检查资源中心的权限配置,确保 DolphinScheduler 有权限读取和写入资源目录 [^1]。 ### 检查任务执行环境 确保 DolphinScheduler 的 Worker 节点能够正常执行任务。例如,如果任务依赖某个外部服务(如 Hadoop、Spark 或 MySQL),需要确认这些服务已正确安装运行。此外,检查 Worker 节点的资源(如 CPU、内存)是否充足,避免因资源不足导致任务失败 [^1]。 ### 验证数据库连接 DolphinScheduler 依赖数据库存储元数据信息。如果数据库连接异常,可能导致任务创建或执行失败。检查数据库配置(如 `application-dao.yml` 中的数据库连接信息)是否正确,确保数据库服务正常运行 [^1]。 ### 示例代码:检查工作流定义 以下是一个简单的工作流定义示例,确保 JSON 格式正确且任务节点配置无误: ```json { "name": "example_workflow", "tasks": [ { "name": "shell_task", "taskType": "SHELL", "taskParams": { "script": "echo 'Hello, DolphinScheduler!'" }, "dependence": {}, "timeout": 0, "retryTimes": 0 } ], "schedule": { "startTime": "2023-01-01 00:00:00", "endTime": "2023-12-31 23:59:59", "timezone": "UTC" }, "timezone": "UTC" } ``` ###
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

DolphinScheduler社区

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值