Apache SeaTunnel低代码数据集成:Web UI作业编排教程
【免费下载链接】seatunnel 项目地址: https://gitcode.com/gh_mirrors/seat/seatunnel
引言
在当今数据驱动的时代,企业面临着海量数据的集成与处理挑战。传统的数据集成方式往往需要编写大量代码,不仅耗时费力,还要求开发人员具备深厚的技术功底。Apache SeaTunnel作为一款开源的数据集成平台,提供了低代码的解决方案,通过直观的Web UI界面,让用户能够轻松完成复杂的数据集成作业编排。本文将详细介绍如何使用Apache SeaTunnel的Web UI进行作业编排,帮助用户快速上手这一强大工具。
准备工作
在开始使用Apache SeaTunnel的Web UI之前,需要确保已经完成以下准备工作:
- 安装Apache SeaTunnel:请参考官方文档docs/zh/start-v2/quick-start.md进行安装。
- 启动SeaTunnel引擎:确保SeaTunnel引擎已成功启动,Web UI默认端口为8080,可在配置文件config/seatunnel.yaml中修改相关设置。
Web UI访问与登录
- 打开浏览器,输入地址
http://localhost:8080,即可访问Apache SeaTunnel的Web UI。 - 如果在配置文件中启用了基本身份验证,输入用户名和密码进行登录。默认情况下,基本身份验证未启用,可在config/seatunnel.yaml的
http部分进行配置。
作业管理界面
成功登录后,进入作业管理界面。该界面主要分为以下几个部分:
运行中作业
在运行中作业列表中,可以查看当前正在执行的作业信息,包括作业ID、名称、创建时间、状态等。界面使用NDataTable组件展示作业数据,并提供了查看作业详情的功能。
{
title: 'Action',
key: 'actions',
render(row) {
return h(
NButton,
{
strong: true,
tertiary: true,
size: 'small',
onClick: () => view(row)
},
{ default: () => 'View' }
)
}
}
已完成作业
已完成作业列表展示了所有已执行完毕的作业,用户可以查看作业的执行结果和历史记录。
作业编排流程
创建新作业
- 在作业管理界面,点击"创建作业"按钮,进入作业编排页面。
- 输入作业名称、描述等基本信息。
数据源配置
- 在作业编排页面左侧的组件面板中,选择合适的数据源连接器,如MySQL、Hive、Kafka等。
- 将选中的数据源组件拖拽到画布中,双击组件进行配置。
- 填写数据源连接信息,如URL、用户名、密码等,并测试连接是否成功。
数据转换配置
- 根据业务需求,从组件面板中选择合适的数据转换组件,如过滤、聚合、Join等。
- 将转换组件拖拽到画布中,并与数据源组件进行连接。
- 配置转换规则,如过滤条件、聚合函数等。
数据目标配置
- 选择合适的数据目标连接器,如HDFS、Elasticsearch、ClickHouse等。
- 将数据目标组件拖拽到画布中,与转换组件或数据源组件连接。
- 配置数据目标的连接信息和写入规则。
作业提交与监控
- 作业配置完成后,点击"提交作业"按钮,将作业提交到SeaTunnel引擎执行。
- 在运行中作业列表中,可以查看作业的实时执行状态和进度。
- 点击作业的"View"按钮,进入作业详情页面,查看作业的DAG图和各节点的执行情况。
作业监控与管理
作业DAG图展示
在作业详情页面,SeaTunnel Web UI通过DAG图直观展示作业的执行流程。DAG图使用directed-acyclic-graph/index.tsx组件实现,节点颜色根据状态变化,帮助用户快速识别作业执行状态。
const AlgoNode = (props: any) => {
const { node } = props
const data = node?.getData() as NodeStatus
const { label, status } = data
const style = `--node-color:${getColorFromStatus(status)?.textColor};`
return (
<div class={`node ${status}`} style={style}>
<span class="label">{label}</span>
</div>
)
}
作业状态监控
Web UI会定期轮询作业状态,默认每5秒更新一次。用户可以在作业列表中实时查看作业的运行状态,包括"运行中"、"已完成"、"失败"等。
const fetch = async () => {
jobs.value = await JobsService.getRunningJobs()
timer = setTimeout(fetch, 5000)
}
作业日志查看
在作业详情页面,用户可以查看作业的详细日志信息,帮助排查作业执行过程中出现的问题。
总结与展望
通过Apache SeaTunnel的Web UI,用户可以轻松完成数据集成作业的编排与管理,大大降低了数据集成的门槛。本文介绍了Web UI的基本使用方法,包括作业创建、配置、提交和监控等流程。未来,SeaTunnel将继续优化Web UI的用户体验,增加更多智能化功能,如作业模板、自动推荐等,进一步提升数据集成的效率。
希望本文能够帮助用户快速掌握Apache SeaTunnel Web UI的使用方法,如有任何问题或建议,欢迎在社区中交流讨论。
参考资料
- Apache SeaTunnel官方文档:docs/
- SeaTunnel Web UI源码:seatunnel-engine/seatunnel-engine-ui/
- SeaTunnel配置文件:config/seatunnel.yaml
【免费下载链接】seatunnel 项目地址: https://gitcode.com/gh_mirrors/seat/seatunnel
创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考



