【開源】基於 SpringBoot 的 web kettle 在線采集平台


kettle-scheduler-boot

陳釗/kettle-scheduler-boot
gitee

開發計划

序號 項目 狀態 優先級
1 在線管理,編輯kettle腳本 緊急
2 通過源碼實現集群,多線程執行任務 緊急
2 重構jpa部分,改為mybatis 一般

介紹

基於Spring-boot的kettle調度項目,參考了zhaxiaodong9860的代碼並引用了其中的頁面管理,后台代碼自行參考了API進行工具化編寫,方便使用
在原代碼的基礎上加入以下功能
1、修改數據庫為oracle
2、增加mybatis相關依賴,陸續將jpa替換為mybatis
3、增加向kettle腳本中傳遞參數,用於動態化腳本
4、刪除轉換名不允許重復約束
5、頁面上增加轉換描述顯示
6、增加了一些擴展功能
7、增加在線編輯腳本

演示環境

點擊查看演示環境
賬號:demo
密碼:demo@1234
演示環境,請善待。

點擊下載可運行程序包 提取碼:jenp

點擊查看完整更新記錄

2020-11-30 更新說明
1、【優化】完善腳本在線預覽功能(持續完善中)
avatar
在線預覽腳本

已知Bug列表

項目截圖

avatar
登錄頁截圖

avatar
首頁截圖(已更新風格)

avatar
** 新增轉換任務(已更新風格) **
轉換任務增加頁面傳遞參數,手動寫json格式的數據
數據庫k_trans表中增加trans_params字段,對應的實體類中也需要增加,通過執行任務時,從trans中獲取參數,並設置到相應的腳本中

//className  org.kettle.scheduler.system.biz.quartz.TransQuartz

@Override
public void execute(JobExecutionContext jobExecutionContext) throws JobExecutionException {
...........
Integer transId = jobExecutionContext.getMergedJobDataMap().getInt("id");
// 獲取轉換
Trans trans = transService.getTransById(transId);
// 設置執行參數
Map<String, String> params = new HashMap<>(2);
String transParams = trans.getTransParams();
Map jsonToMap = JSON.parseObject(transParams);
params.putAll(jsonToMap);
if (StringUtil.hasText(trans.getSyncStrategy())) {
	Integer day = Integer.valueOf(trans.getSyncStrategy().substring(2, trans.getSyncStrategy().length()));
	params.put("start_time", DateUtil.getDateTimeStr(DateUtil.addDays(DateUtil.getTodayStartTime(), -day)));
	params.put("end_time", DateUtil.getDateTimeStr(DateUtil.addDays(DateUtil.getTodayEndTime(), -day)));
}
............
}

web_kettle
在線編輯kettle腳本工具,和桌面端的kettle一樣用法
項目地址:https://github.com/HiromuHota/pentaho-kettle
資源庫字典:https://35youth.cn/kettleRepository.html

安裝教程

1、導入docs中的1_XXX.sql 2_XXX、3_XXX文件至oracle數據庫

使用說明

  1. 執行kettle-scheduler-starter下面docs下面的kettle-scheduler-oracle.sql腳本創建表

  2. 生成環境執行時修改application-prod.yml中的數據庫連接配置,開發環境修改application-dev.yml中的數據庫配置,如果需要修改端口就在application.yml中修改

  3. 修改application-kettle.yml配置,設置日志存儲路徑、kettle腳本保存路徑、kettle-home路徑(如果沒有指定home路徑,那么.kettle文件夾就在當前用戶根路徑下)

  4. 如果需要自定義變量在kettle.properties中編寫,並把kettle.properties文件拷貝到kettle-home路徑下面的.kettle文件夾下

  5. 啟動項目使用調度平台(用戶名:admin,密碼:admin)

  6. 如果要使用【文件資源庫】需要單獨把項目下【file-rep】拷貝到設置好的路徑下,並在管理頁面配置好文件資源庫,因為打包后kettle不能訪問到jar中的文件,所以需要單獨存放

參與貢獻

  1. Fork 本倉庫
  2. 新建 Feat_xxx 分支
  3. 提交代碼
  4. 新建 Pull Request

關於我

  1. 半碼農


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM