日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

kettle入门教程

發布時間:2023/12/31 编程问答 29 豆豆
生活随笔 收集整理的這篇文章主要介紹了 kettle入门教程 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

目錄

1.kettle敘述

1.1什么是kettle

1.2kettle工程存儲方式

1.3kettle兩種設計

1.4kettle的組成

1.5kettle的下載安裝

2.kettle教程

2.1轉換

2.1.1普通轉換

2.1.2執行sql腳本

2.1.3條件判斷Switch Case

2.1.4自定義java代碼

2.2作業

1.kettle敘述

1.1什么是kettle

Kettle是一款開源的ETL(Extract-Transform-Load)工具,純java編寫,可以在Window、Linux、Unix上運行,綠色無需安裝,數據抽取高效穩定。

1.2kettle工程存儲方式

(1)以XML形式存儲
(2)以資源庫方式存儲(數據庫資源庫和文件資源庫)

1.3kettle兩種設計

Transformation(轉換):完成對數據的基本轉換

Job(工作):完成整個工作流的控制

區別:

(1)作業是步驟流,轉換是數據流。

(2)作業的每一個步驟必須要等到前面的步驟都跑完了,后面的步驟才會執行,而轉換會一次性把所有控件全部先啟動(一個控件對應啟動一個線程),然后數據流會從第一個控件開始,一條記錄一條記錄的流向最后控件。

1.4kettle的組成

1.勺子(Spoon.bat/spoon.sh) :是-個圖形化的界面,可以讓我們用圖形化的方式開發轉換和作業。windows選擇.bat; Linux選擇.sh。
2.煎鍋(Pan.bat/pan.sh) : 利用Pan可以用命令行的形式調用Trans。
3.廚房(Kitchen batkitchen.sh) : 利用Kitchen可以使用命令行調用]ob
4.菜單(Carte.bat/ Carte.sh): Carte是一 個輕量級的Web容器,用于建立專用、遠程的ETL Server。

1.5kettle的下載安裝

kettle中文官網

將mysql驅動和oracle驅動放在kettle包下面的lib包下面即可。

2.kettle教程

2.1轉換

2.1.1普通轉換

-- oracle腳本 create tablespace kettle datafile 'Z:\oracle\oracle_data\tablespace\kettle.dbf' size 10m autoextend on next 10mcreate user kettle identified by kettle default tablespace kettlegrant dba to kettle;create table flower(id varchar2(32) default sys_guid() primary key,flower_name varchar2(200),color varchar2(100),origin varchar2(200),moral varchar2(200),create_time timestamp default sysdate,update_time timestamp );-- 數據 insert all into flower(flower_name,color, moral, update_time) values('紅玫瑰', 'red', '熱戀與濃烈的愛', sysdate)into flower(flower_name,color, moral, update_time) values('紫玫瑰', 'purple', '深沉守護的愛情', sysdate)into flower(flower_name,color, moral, update_time) values('白玫瑰', 'white', '純潔、純真的愛', sysdate)into flower(flower_name,color, moral, update_time) values('粉玫瑰', 'pink', '初戀、寵愛', sysdate)into flower(flower_name,color, moral, update_time) values('黃玫瑰', 'yellow', '已逝的愛、為愛道歉', sysdate)into flower(flower_name,color, moral, update_time) values('香檳玫瑰', 'Milky yellow', '愛上你是我今生最幸福的', sysdate)into flower(flower_name,color, moral, update_time) values('白色郁金香', 'white', '純潔無暇', sysdate) into flower(flower_name,color, moral, update_time) values('紅色色郁金香', 'red', '熱情與喜愛', sysdate) into flower(flower_name,color, moral, update_time) values('粉色郁金香', 'pink', '幸福與憐愛', sysdate) into flower(flower_name,color, moral, update_time) values('紫色郁金香', 'purple', '神秘與高貴', sysdate)into flower(flower_name,color, moral, update_time) values('向日葵', 'yellow', '沉默的愛', sysdate)into flower(flower_name,color, moral, update_time) values('滿天星', 'write、blue、purple、pink、', '甘愿做配角,默默愛著一個人', sysdate)into flower(flower_name,color, moral, update_time) values('百合', 'write、purple、pink、yellow、black、golden', '百年好合、美好家庭、深深祝福', sysdate)into flower(flower_name,color, moral, update_time) values('康乃馨', 'write、yellow、purple、pink、', '愛、美麗、尊敬之情', sysdate)into flower(flower_name,color, moral, update_time) values('洋桔梗', 'write、purple、pink、', '純潔、感激和真誠的愛', sysdate)into flower(flower_name,color, moral, update_time) values('洋牡丹', 'write、yellow、purple、pink、', '愛、美麗、尊敬之情', sysdate)into flower(flower_name,color, moral, update_time) values('白色紫羅蘭', 'write、', '想和愛人更近一步', sysdate)into flower(flower_name,color, moral, update_time) values('紫色紫羅蘭', 'purple', '永恒的美', sysdate)into flower(flower_name,color, moral, update_time) values('藍色紫羅蘭', 'blue', '永恒的美', sysdate) into flower(flower_name,color, moral, update_time) values('勿忘我', 'write、yellow、purple、pink、blue', '愛、美麗、尊敬之情', sysdate) select * from dual;

?a.在主對象樹->DB連接,創建兩個DB連接,這里用oracle和mysql數據庫進行轉換

?b.核心對象->輸入,選擇表輸入

?

?

c.核心對象->輸出,選擇插入/更新,并且按住Shift將輸入和輸出連接起來

?

2.1.2執行sql腳本

a.建兩個DB連接和上面步驟一樣

b.選擇核心對象->表輸入,選擇表輸出,并雙擊配置sql查詢語句

?

?c.選擇核心對象->腳本,選擇sql腳本,按鈕Shift將輸入和腳本連接起來

?

?d.執行即可

2.1.3條件判斷Switch Case

a.還是建兩個DB數據庫連接

b.核心對象->表輸入,雙擊對表輸入進行sql配置

?

?b.核心對象->流程,選擇Switch/Case,按住Shift將表輸入和Sitch/Case連接起來

?ORIGIN值為空執行sql腳本,否則執行插入/更新操作。

?d.一個分支選擇插入/更新,一個分支選擇sql腳本

2.1.4自定義java代碼

a.創建兩個DB連接

b.核心對象->表輸入,進行sql配置

?

c.核心對象->腳本,選擇Java代碼,按住Shift將表輸入和Java代碼連接起來,配置Java代碼

?選擇Main,再進行自定義java代碼

?

?Java沒有寫好確定,測試類->確定前是沒有數據的,會提示異常信息,打不開dialog框,屬于正常。

?啟動執行,可以查看預覽數據,但是不會改變源數據表里面的內容。

?如果產生了新的字段需要進行配置,上面用到還是表中的字段,下面是產生了新的表字段,不會改變原表數據。

2.2作業

a.文件->新建->作業

?開始表里沒有數據的,執行以后將數據進行插入,再次執行會進行字段更新,根據轉換設置的那些需要更新的字段進行更新

總結

以上是生活随笔為你收集整理的kettle入门教程的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。