<em>Mac</em>Book项目 2009年学校开始实施<em>Mac</em>Book项目,所有师生配备一本<em>Mac</em>Book,并同步更新了校园无线网络。学校每周进行电脑技术更新,每月发送技术支持资料,极大改变了教学及学习方式。因此2011
2021-06-01 09:32:01
Kettle是一款開源的ETL工具,純java編寫,可以在Window、Linux、Unix上執行,綠色無需安裝,資料抽取高效穩定。
1) 以XML形式儲存
2) 以資源庫方式儲存(資料庫資源庫和檔案資源庫)
簡述:Transformation(轉換):完成針對資料的基礎轉換。
Job(作業):完成整個工作流的控制。
區別:(1)作業是步驟流,轉換是資料流,這是作業和轉換的最大區別
(2)作業的每一個步驟,必須等到前面的步驟都跑完了,後面的步驟才會執行;而轉換會一次性把所有控制元件全部先啟動(一個空間對應啟動一個執行緒),然後資料流會從第一個控制元件開始,一條記錄,一條記錄地流向最後的控制元件。
免費開源:基於Java的免費開源的軟體,對商業使用者也沒有限制
易設定:可以在window、Linux、unix上執行,綠色無需安裝,資料抽取高效穩定
不同資料庫:ETL工具集,它允許你管理來自不同資料庫的資料
兩種指令碼檔案:transformation和job,transformation完成針對資料的基礎轉換,job則完成整個工作流的控制
圖形化介面設計:通過圖形化設計實現做什麼業務,無需寫程式碼去實現
定時功能:在job下的start模組,有一個定時功能,可以每日、每週等方式進行定時。
官網地址
下載地址
https://sourceforge.net/projects/pentaho/files/Data%20Integration/
kettle各版本國內映象下載地址:http://mirror.bit.edu.cn/pentaho/(下載速度相對快一些)
在實際企業開發中,都是在本地環境下進行kettle的job和Transformation開發的,可以在本地執行,也可以連線遠端機器執行
1) 安裝jdk
2) 下載kettle壓縮包,因kettle為可攜式軟體,解壓縮到任意本地路徑即可
3) 雙擊Spoon.bat,啟動圖形化介面工具,就可以直接使用了
1) 案例一 把stu1的資料按id同步到stu2,stu2有相同id則更新資料
(1)在mysql中建立兩張表
mysql> create database kettle; mysql> use kettle; mysql> create table stu1(id int,name varchar(20),age int); mysql> create table stu2(id int,name varchar(20));
(2)往兩張表中插入一些資料
mysql> insert into stu1 values(1001,'zhangsan',20),(1002,'lisi',18), (1003,'wangwu',23); mysql> insert into stu2 values(1001,'wukong');
(3)在kettle中新建轉換
(4)分別在輸入和輸出中拉出表輸入和插入/更新
(5)雙擊表輸入物件,填寫相關設定,測試是否成功
(6)雙擊 更新/插入物件,填寫相關設定
編輯對映,新增需要的欄位,因為表stu2中沒有age,所以不需要Add
(7)儲存轉換,啟動執行,去mysql表檢視結果
注意:如果需要連線mysql資料庫,需要要先將mysql的連線驅動包複製到kettle的根目錄下的lib目錄中,否則會報錯找不到驅動。
2) 案例2:使用作業執行上述轉換,並且額外在表stu2中新增一條資料
(1)新建一個作業
(2) 按圖示拉取元件
(3)雙擊Start編輯Start
(4)雙擊轉換,選擇案例1儲存的檔案
(5)雙擊SQL,編輯SQL語句
(6)儲存執行
執行之前,檢視資料:
執行之後檢視結果:會發現除了剛才我們寫的,insert語句之外,stu1表中的id為1004的也插入到stu2中了,因為我們執行了stu1tostu2.ktr轉換。
注:轉換和作業的字尾不同
3)案例3:將hive表的資料輸出到hdfs
(1)因為涉及到hive和hbase的讀寫,需要修改相關組態檔。
修改解壓目錄下的data-integrationpluginspentaho-big-data-plugin下的plugin.properties,設定active.hadoop.configuration=hdp26,並將如下組態檔從叢集上拷貝到data-integrationpluginspentaho-big-data-pluginhadoop-configurationshdp26下
注意:以上操作完,需要重啟kettle才能生效
(2)啟動hdfs,yarn,zookeeper,hbase叢集的所有程序,啟動hiveserver2服務
[root@node4 hadoop-2.6.4]# sbin/start-dfs.sh [root@node4 hadoop-2.6.4]# sbin/start-yarn.sh
三臺伺服器分別開啟HBase前啟動Zookeeper
[root@node4 hadoop-2.6.4]# zkServer.sh start [root@node5 hadoop-2.6.4]# zkServer.sh start [root@node6 hadoop-2.6.4]# zkServer.sh start
開啟hbase
[root@node4 hbase-1.2.3]# bin/start-hbase.sh
開啟hive2
[root@node4 ~]# hiveserver2
(3)進入beeline,檢視10000埠開啟情況
[root@node4 ~]# beeline(回車)
Beeline version 2.1.0 by Apache Hive
beeline> !connect jdbc:hive2://node4:10000
Connecting to jdbc:hive2://node4:10000
Enter username for jdbc:hive2://node4:10000: root(輸入使用者名稱,回車)
Enter password for jdbc:hive2://node4:10000: ******(輸入密碼,回車)
SLF4J: Class path contains multiple SLF4J bindings.
SLF4J: Found binding in [jar:file:/opt/module/hive/apache-hive-2.1.0-bin/lib/hive-jdbc-2.1.0-standalone.jar!/org/slf4j/impl/StaticLoggerBinder.class]
SLF4J: Found binding in [jar:file:/opt/module/hadoop/hadoop-2.6.4/share/hadoop/common/lib/slf4j-log4j12-1.7.5.jar!/org/slf4j/impl/StaticLoggerBinder.class]
SLF4J: See http://www.slf4j.org/codes.html#multiple_bindings for an explanation.
SLF4J: Actual binding is of type [org.apache.logging.slf4j.Log4jLoggerFactory]
Connected to: Apache Hive (version 2.1.0)
Driver: Hive JDBC (version 2.1.0)
20/05/23 20:05:58 [main]: WARN jdbc.HiveConnection: Request to set autoCommit to false; Hive does not support autoCommit=false.
Transaction isolation: TRANSACTION_REPEATABLE_READ
0: jdbc:hive2://node4:10000>(到了這裡說明成功開啟10000埠)
(4)建立兩張表dept和emp
CREATE TABLE dept(deptno int, dname string,loc string) ROW FORMAT DELIMITED FIELDS TERMINATED BY 't';
CREATE TABLE emp( empno int, ename string, job string, mgr int, hiredate string, sal double, comm int, deptno int) ROW FORMAT DELIMITED FIELDS TERMINATED BY 't';
(5)插入資料
insert into dept values(10,'accounting','NEW YORK'),(20,'RESEARCH','DALLAS'),(30,'SALES','CHICAGO'),(40,'OPERATIONS','BOSTON');
insert into emp values (7369,'SMITH','CLERK',7902,'1980-12-17',800,NULL,20), (7499,'ALLEN','SALESMAN',7698,'1980-12-17',1600,300,30), (7521,'WARD','SALESMAN',7698,'1980-12-17',1250,500,30), (7566,'JONES','MANAGER',7839,'1980-12-17',2975,NULL,20);
(6)按下圖建立流程圖
(7)設定表輸入,連線hive
表輸入1
表輸入2
(8)設定排序屬性
(9)設定連線屬性
(10)設定欄位選擇
“選擇和修改”、“後設資料”什麼都不操作即可,只操作“移除”。如果操作了“後設資料”,那麼要注意和“移除”比較一下,欄位是否一致,不然會報錯。
(11)設定檔案輸出
跟前端頁面一致
(12)儲存並執行檢視hdfs
我們下載下來看一下:
4)案例4:讀取hdfs檔案並將sal大於1000的資料儲存到hbase中
(1) 在HBase中建立一張表用於存放資料
[root@node4 ~]# hbase shell
hbase(main):002:0> create 'people','info'
(2)按下圖建立流程圖
(3)設定檔案輸入,連線hdfs
(4)設定過濾記錄
(5)設定HBase output
注意:若報錯沒有許可權往hdfs寫檔案,在Spoon.bat中第119行新增引數
"-DHADOOP_USER_NAME=node4" "-Dfile.encoding=UTF-8"
(6) 保持並執行,檢視hbase
資料庫資源庫是將作業和轉換相關的資訊儲存在資料庫中,執行的時候直接去資料庫讀取資訊,很容易跨平臺使用
1)點選右上角connect,選擇Other Resporitory
2) 選擇Database Repository
3) 建立新連線
4) 填好之後,點選finish,會在指定的庫中建立很多表,至此資料庫資源庫建立完成
5) 連線資源庫
預設賬號密碼為admin
6) 將之前做過的轉換匯入資源庫
(1)選擇從xml檔案匯入
(2)隨便選擇一個轉換
(3)點選儲存,選擇儲存位置及檔名
(4)開啟資源庫檢視儲存結果
將作業和轉換相關的資訊儲存在指定的目錄中,其實和XML的方式一樣
建立方式跟建立資料庫資源庫步驟類似,只是不需要使用者密碼就可以存取,跨
平臺使用比較麻煩
1)選擇connect
2)點選add後點選Other Repositories
3)選擇File Repository
4)填寫資訊
到此這篇關於kettle在windows上安裝設定與實踐案例的文章就介紹到這了,更多相關kettle在windows安裝內容請搜尋it145.com以前的文章或繼續瀏覽下面的相關文章希望大家以後多多支援it145.com!
相關文章
<em>Mac</em>Book项目 2009年学校开始实施<em>Mac</em>Book项目,所有师生配备一本<em>Mac</em>Book,并同步更新了校园无线网络。学校每周进行电脑技术更新,每月发送技术支持资料,极大改变了教学及学习方式。因此2011
2021-06-01 09:32:01
综合看Anker超能充系列的性价比很高,并且与不仅和iPhone12/苹果<em>Mac</em>Book很配,而且适合多设备充电需求的日常使用或差旅场景,不管是安卓还是Switch同样也能用得上它,希望这次分享能给准备购入充电器的小伙伴们有所
2021-06-01 09:31:42
除了L4WUDU与吴亦凡已经多次共事,成为了明面上的厂牌成员,吴亦凡还曾带领20XXCLUB全队参加2020年的一场音乐节,这也是20XXCLUB首次全员合照,王嗣尧Turbo、陈彦希Regi、<em>Mac</em> Ova Seas、林渝植等人全部出场。然而让
2021-06-01 09:31:34
目前应用IPFS的机构:1 谷歌<em>浏览器</em>支持IPFS分布式协议 2 万维网 (历史档案博物馆)数据库 3 火狐<em>浏览器</em>支持 IPFS分布式协议 4 EOS 等数字货币数据存储 5 美国国会图书馆,历史资料永久保存在 IPFS 6 加
2021-06-01 09:31:24
开拓者的车机是兼容苹果和<em>安卓</em>,虽然我不怎么用,但确实兼顾了我家人的很多需求:副驾的门板还配有解锁开关,有的时候老婆开车,下车的时候偶尔会忘记解锁,我在副驾驶可以自己开门:第二排设计很好,不仅配置了一个很大的
2021-06-01 09:30:48
不仅是<em>安卓</em>手机,苹果手机的降价力度也是前所未有了,iPhone12也“跳水价”了,发布价是6799元,如今已经跌至5308元,降价幅度超过1400元,最新定价确认了。iPhone12是苹果首款5G手机,同时也是全球首款5nm芯片的智能机,它
2021-06-01 09:30:45