基于Kettle开发的web版数据集成开源工具(data-integration)-应用篇

目录

  • 📚第一章 基本流程梳理
    • 📗页面基本操作
    • 📗对应后台服务流程
  • 📚第二章 二开思路
    • 📗前端
    • 📗后端

🔼上一集:基于Kettle开发的web版数据集成开源工具(data-integration)-介绍篇

*️⃣主目录:ETL&ELT专栏

📚第一章 基本流程梳理

📗页面基本操作

登录开始->新建项目->保存项目->运行项目开始(问题还是挺多的,不过主要还是借鉴任务编排这一块,无伤大雅)
在这里插入图片描述

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

select role_name,`describe` from dp_portal_role

📗对应后台服务流程

参照页面基本操作,梳理后台对应的服务及表等
在这里插入图片描述

  • 项目主要对应两种表
    • 项目信息表 dp_portal_project :项目编号、名称、描述、类型、状态,分组编号、名称
    • 项目附件信息表 dp_portal_project_file :项目编号、项目文件内容project_file、项目版本号;其中project_file字段通过JSON串存放项目内容
  • 运行项目
    • 调用更新项目信息接口 ProjectServiceApiController.updateSelective
    • 前端通过调用websocket服务,调用运行接口 ProjectExecutorController.executeById
      • @MessageMapping@SendToUser注解是用来处理WebSocket消息并实现广播或点对点消息推送的:
        1. WebSocket客户端向服务器发送一条指向/executeById路径的消息。
        2. 服务器端通过@MessageMapping找到并执行executeById方法。
        3. 方法内部完成业务逻辑处理后,返回的结果会被自动通过WebSocket协议推送给对应用户,即在每个已认证用户的特定通道上发布结果。
          在这里插入图片描述
          在这里插入图片描述
      • projectExecutorService.asyncExecuteByFile
        • executeByFile.execute.start()
          • 构建TransMeta 对象,buildTransMeta(jsonxml)
          • 设置本地引擎执行
          • 创建执行器
          • 启动
        • 调用Kettle本地引擎
          在这里插入图片描述

📚第二章 二开思路

通过上面的流程梳理,发现任务编排工作流主要在前端,各种字段属性和kettle对应都是前端传给后台的,后台直接保存的JSON串,我这里只需要任务编排这块功能,springcloud也用不到,后面如果借鉴该项目,大概要做哪些事?

📗前端

应该可以直接复用,我们用的也是vue2+element架构

📗后端

该项目涉及的技术组件比较多,用到了springcloud,相对来说有点麻烦,到了具体开发阶段,涉及的就比较多了,下一步可以先简单点,就导出一个作业文件,提取相关代码,能够成功执行作业之后,在开始大刀阔斧的开展工作,一步一步推进:

  • kettle本地引擎执行代码
  • 作业文件组装、转换代码

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.hqwc.cn/news/323022.html

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

三、Kubernetes(K8s)入门(一)

视频教程连接k8s 入门到微服务项目实战.xmind链接:https://pan.baidu.com/s/1q04euH7baE8eXNyG3kPPbA 提取码:jej4比较好的笔记 kubectl命令的语法如下: kubectl [command] [type] [name] [flags]comand:指定要对资源执行的操作…

java基于ssm框架的滁艺咖啡在线销售系统+vue论文

摘 要 传统办法管理信息首先需要花费的时间比较多,其次数据出错率比较高,而且对错误的数据进行更改也比较困难,最后,检索数据费事费力。因此,在计算机上安装滁艺咖啡在线销售系统软件来发挥其高效地信息处理的作用&am…

RabbitMQ安装与应用

文章目录 1. RabbitMQ1.1. 同步通讯与异步通讯1.2. 异步通讯的优缺点1.3. 几种MQ的对比1.4. docker安装运行RabbitMQ 流程1.5. RabbitMQ的几个概念1.6. 五种模型1.6.1. 基本消息队列 1.7. 基本使用1.7.1. 1建立连接时会出现以下界面![在这里插入图片描述](https://img-blog.csd…

零知识证明(zk-SNARK)- groth16(一)

全称为 Zero-Knowledge Succinct Non-Interactive Argument of Knowledge,简洁非交互式零知识证明,简洁性使得运行该协议时,即便 statement 非常大,它的 proof 大小也仅有几百个bytes,并且验证一个 proof 的时间可以达…

代码随想录刷题第三十六天| 435. 无重叠区间 ● 763.划分字母区间 ● 56. 合并区间

代码随想录刷题第三十六天 无重叠区间 (LC 435) 题目思路: 代码实现: class Solution:def eraseOverlapIntervals(self, intervals: List[List[int]]) -> int:intervals.sort(keylambda x: (x[0],x[1]))count 0right intervals[0][1]for i in ra…

互联网加竞赛 基于CNN实现谣言检测 - python 深度学习 机器学习

文章目录 1 前言1.1 背景 2 数据集3 实现过程4 CNN网络实现5 模型训练部分6 模型评估7 预测结果8 最后 1 前言 🔥 优质竞赛项目系列,今天要分享的是 基于CNN实现谣言检测 该项目较为新颖,适合作为竞赛课题方向,学长非常推荐&am…

JumpServer3.0版本-账号管理

账号列表 我这里已经创建好了所以有很多,可以点击资产树列表分类查看 点击创建按钮,添加账号 资产:如果多个设备的账号密码一致可以在资产同事选中 名称:方便辨识即可 用户名:登录设备的账户名 密码:按你登录需求自行选择 添加按钮旁边还有个“模版添加” 此功能便…

海外直邮革命:跨境电商的全球化销售策略

在数字化时代,跨境电商正经历着一场革命,而海外直邮成为这场变革的引领者。全球范围内,越来越多的企业通过直邮方式销售商品,打破了地域限制,实现了商品的全球化流通。本文将深入探讨海外直邮的崛起,以及跨…

基于Java SSM框架实现游戏论坛平台系统项目【项目源码+论文说明】计算机毕业设计

基于java的SSM框架实现游戏论坛平台系统演示 摘要 本论文主要论述了如何使用java语言开发一个游戏论坛平台的设计,本系统将严格按照软件开发流程进行各个阶段的工作,采用B/S架构、ssm 框架和 java 开发的 Web 框架,基于Werkzeug WSGI工具箱和…

如何用自助法或刀切法来估计偏差、方差?

自助法和刀切法(也叫水手刀法)为计算标准误差和置信区间的非参数方法。刀切法耗费较少计算机资源,但自助法有某些统计优势。 1. 刀切法 由Quenouille(1949)提出的刀切法是用来对估计的偏差和方差进行近似的一个简单方法。 符号说明&#x…

企业数据治理的三个阶段:从起步到成熟的数据管理之旅

随着数字化时代的到来,企业数据已经成为企业的重要资产和驱动业务发展的重要力量。然而,要想充分利用数据的价值,企业需要对其数据进行有效的管理和治理。本文将对企业数据治理的三个阶段进行详细的探讨,以帮助企业了解其在数据治…

基于springboot精品水果线上销售网站设计与实现

🍅点赞收藏关注 → 私信领取本源代码、数据库🍅 本人在Java毕业设计领域有多年的经验,陆续会更新更多优质的Java实战项目希望你能有所收获,少走一些弯路。🍅关注我不迷路🍅一 、设计说明 1.1 研究背景 互…