大數據技術之kettle(2)——練習三個基本操做

1、同一數據庫兩表數據關聯更新java

  實現效果:把stu1的數據按id同步到stu2stu2有相同id則更新數據mysql

  步驟:sql

  1.mysql中建立兩張表:數據庫

    mysql>create database kettle;測試

 

    mysql>use kettle;spa

 

    mysql>create table stu1 (id int ,name varchar(20),age int);3d

 

    mysql>create table stu2 (id int ,name varchar(20));code

 

  2.往兩張表中插入一些數據:orm

    mysql>insert into stu1 values(1001,’zhangsan’,20),(1002,’lisi’,18),(1003,’wangwu’,23);對象

    mysql>insert into stu2 values(1001,’wukong’);

  3.kettle中新建轉換,點擊左上角文件—新建—轉換到核心對象界面,點擊輸入,找到表輸入拖拽到中間

    

 

    

   4.雙擊表輸入,在數據庫鏈接中配置mysql數據庫鏈接(注意jarmysql-connector-java-5.1.34-bin.jar要放在kettlelib文件夾中)

 

    

 

 

    輸入完信息後點擊測試,顯示正確鏈接。

 

    

    5.sql語句中輸入select * from stu1;

 

    

    點擊預覽能夠看到數據

 

 

    

 

 

 

 

    6.在輸出中找到插入/更新組件拖拽到中間,點住表輸入shift+鼠標左鍵鏈接到插入/更新組件上

 

     

 

 

     

    雙擊插入/更新,點擊目標表瀏覽,選擇stu2

    

 

    點擊獲取字段獲取到3個字段

 

 

     

 

    因爲stu1stu2經過id關聯,故刪除name和age字段,而後點擊編輯映射,編輯2個表之間的映射

    

 

 

 

 

     肯定後如圖:

       

    更新處,修改id的屬性爲n,肯定。而後保存運行,到數據庫中查看結果。

 

 

    

 

 

 

 

     最後生成了一個文件,以下:

    

 

 

 

 

 

 

 

 

2、使用做業執行生成的轉換文件

    實現效果:使用做業執行「一」中的轉換,而且額外在表stu2中添加一條數據

    步驟:

    新建一個做業

    

 

   點擊通用將start拖拽到做業中

    

 

 

     將轉換拖拽過來,將start與轉換相鏈接

 

     

 

    

    雙擊轉換,選擇以前作好的job

    

    左側腳本中選擇sql組件拖拽過來並鏈接

     

 

 

 

    新建鏈接配置mysql數據庫,並寫插入sql語句

       

    肯定,保存job並執行

 

 

 

3、將A數據庫中的a表通過ETL過程導入B數據庫中

  sql語句地址:https://pan.baidu.com/s/1Eba9TEO3UO9Fjaz522VONw

  實現效果:hr數據庫中的employees表,通過ETL過程,導入到scott數據庫中;將列FIRST_NAMELAST_NAME相連,中間用空格隔開,取名爲「NAME」;將列PHONE_NUMBER中的區號加上括號(例如515.123.4567改成(515)123.4567),列名不變;在scott數據庫中,該表的列名不變,表名改成dw_dim_employees

  實現步驟:

  1.雙擊桌面的 圖標進入到kettleTransformation界面,雙擊轉換切換到操做界面

   在覈心對象目錄樹下找到輸入,點擊前面的展開三角,找到表輸入組件拖入到右側工做區

      一樣的在輸出中,找到表輸出拖入到右側工做區;在轉換中找到字段選擇拖入到右側工做區。

 

  2.將這3個組件鏈接起來,先選中表輸入,Shift+鼠標左鍵拖拽到字段選擇上,再選中字段選擇一樣的Shift+鼠標左鍵拖拽到表輸出上並選定爲主輸出步驟。

 

 

  3.雙擊表輸入,數據庫鏈接處點擊新建,鏈接名稱填寫hr,鏈接類型選擇mysql。。。與「上邊一中的操做一致」

 

  4.點擊下面測試,彈出正確鏈接數據庫hr,點擊肯定保存設置

 

 

 

在表輸入的SQL框中輸入以下SQL語句

 

SELECT EMPLOYEE_ID, CONCAT(FIRST_NAME, ' ', LAST_NAME) AS NAME , EMAIL , CONCAT('(', SUBSTR(PHONE_NUMBER, 1, 3), ')', SUBSTR(PHONE_NUMBER, 5)) AS PHONE_NUMBER , HIRE_DATE, JOB_ID, SALARY, COMMISSION_PCT, NAGER_ID , DEPARTMENT_ID FROM employees

 

 

  點擊預覽數據,確認無誤後點擊肯定關閉

 

  5.雙擊字段選擇,點擊獲取選擇的字段,獲得10個字段後點擊肯定關閉

 

     雙擊表輸出,依然在數據庫鏈接處點擊新建

 

     在數據庫鏈接界面填入以下信息:回到表輸出界面,在目標表中填寫表名:dw_dim_employees,勾選指定數據庫字段,點擊下面數據庫字段點擊獲取字段。

 

     點擊右下角SQL按鈕,點擊啓動

 

          彈出保存提示,選擇是,找到一個文件路徑(如桌面/項目腳本),爲job起個名字

 

     運行成功

相關文章
相關標籤/搜索