《數(shù)據(jù)采集與預(yù)處理》教學(xué)教案-09用Kettle進(jìn)行數(shù)據(jù)預(yù)處理_第1頁(yè)
《數(shù)據(jù)采集與預(yù)處理》教學(xué)教案-09用Kettle進(jìn)行數(shù)據(jù)預(yù)處理_第2頁(yè)
《數(shù)據(jù)采集與預(yù)處理》教學(xué)教案-09用Kettle進(jìn)行數(shù)據(jù)預(yù)處理_第3頁(yè)
《數(shù)據(jù)采集與預(yù)處理》教學(xué)教案-09用Kettle進(jìn)行數(shù)據(jù)預(yù)處理_第4頁(yè)
全文預(yù)覽已結(jié)束

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡(jiǎn)介

1、數(shù)據(jù)采集與預(yù)處理NO. 9教師姓名授課班級(jí)授課形式理實(shí)一體化授課時(shí)間.年 月 日第周授課時(shí)數(shù)4授課章節(jié)名稱任務(wù)2 用 Kettle進(jìn)行數(shù)據(jù)預(yù)處理教學(xué)目的(1)熟悉 Kettle的相關(guān)基礎(chǔ)知識(shí)。(2)學(xué)會(huì)使用 Kettle完成“北京公交線路信息” 數(shù)據(jù)的預(yù)處理。教材分析教學(xué)重點(diǎn)使用 Kettle完成 “北京公交線路信息” 數(shù)據(jù)的預(yù)處理教學(xué)難點(diǎn)使用 Kettle完成 “北京公交線路信息” 數(shù)據(jù)的預(yù)處理更新、 補(bǔ)充、刪節(jié)內(nèi)容課外作業(yè)積極動(dòng)手實(shí)踐, 熟練完成相關(guān)任務(wù)的實(shí)施操作教學(xué)提示教學(xué)過程教學(xué)提示一、知識(shí)準(zhǔn)備:Kettle的中文名稱為水壺。在數(shù)據(jù)處理中,Kettle是一個(gè)ETL工具集, 它可以管理來

2、自不同數(shù)據(jù)庫(kù)的數(shù)據(jù),通過提供一個(gè)圖形化的用戶環(huán)境來描 述想做什么,而不是怎么做。Kettle中有兩種腳本文件:Transformation Jobo其中,Transformation用于完成針對(duì)數(shù)據(jù)的基礎(chǔ)轉(zhuǎn)換,而Job用于完成 整個(gè)工作流的控制。Kettle的三大模塊Spoon轉(zhuǎn)換/工作設(shè)計(jì)工具(GUI方式)。Kitchen工作執(zhí)行器(命令行方式)。Pan轉(zhuǎn)換執(zhí)行器(命令行方式)。Kettle的組件創(chuàng)建一個(gè)新的Transformation, Kettle中Transformation文件的默認(rèn)后 綴名為ktro創(chuàng)建一個(gè)新的Job, Kettle中Job文件的默認(rèn)后綴名為kjboTransfor

3、mation 組件樹 Main Tree:列出了一個(gè)Transformation的基本屬性,可以通過各個(gè) 節(jié)點(diǎn)進(jìn)行查看。DB 連接:顯示當(dāng)前 Transformation中的數(shù)據(jù)庫(kù)連接,每一個(gè) Transformation的數(shù)據(jù)庫(kù)連接都需要單獨(dú)配置。Steps: 一個(gè)Transformation中應(yīng)用到的環(huán)節(jié)列表。 Hops: 一個(gè)Transformation中應(yīng)用 到的節(jié)點(diǎn)連接列表。核心對(duì)象菜單列出的是Transformation中可以調(diào)用的環(huán)節(jié)列表,可以 通過鼠標(biāo)拖動(dòng)的方式對(duì)環(huán)節(jié)進(jìn)行添加。Job組件樹Main Tree:列出了一個(gè)Job的基本屬性,可以通過各個(gè)節(jié)點(diǎn)進(jìn)行 查看。DB連接:顯示

4、當(dāng)前Job中的數(shù)據(jù)庫(kù)連接,每一個(gè)Job的數(shù)據(jù)庫(kù)連 接都需要單獨(dú)配置。Job Entries:即作業(yè)項(xiàng) 目一個(gè)Job中引用的環(huán)節(jié)列表。核心對(duì)象菜單列出的是Job中可以調(diào)用的環(huán)節(jié)列表,可以通過鼠標(biāo)拖 動(dòng)的方式對(duì)環(huán)節(jié)進(jìn)行添加。每一個(gè)環(huán)節(jié)都可以通過鼠標(biāo)拖動(dòng)操作被添加到 主窗口中,并可通過 “Shift” 鍵+鼠標(biāo)拖動(dòng),實(shí)現(xiàn)環(huán)節(jié)之間的連接。二、任務(wù)實(shí)施:1,修改數(shù)據(jù)庫(kù)默認(rèn)字符集并創(chuàng)建數(shù)據(jù)庫(kù)數(shù)據(jù)存入 MySQL時(shí)會(huì)出現(xiàn)中文亂碼問題,因此需要將 MySQL數(shù)據(jù) 庫(kù)的默認(rèn)字符集設(shè)為UTF-8O具體操作如下。(1)進(jìn)入默認(rèn) MySQL安裝目錄,查看 f文件,如圖4-4所示。:$ cd /etc/nysql:$

5、sudo gedit f打開9) 向f The MySQL database server configuration file.You can copy this to one of:- /etc/mysql/f to set global options, - /f to set user-specific options.One can use all long options that the program supports.n Run program with -help to get a list of available options and with ff -print-d

6、efaults to see which tt would actually understand and use.For explanations see* IMPORTANT: Additional settings that can override those from this file! n The files must end with .cnf, otherwise theyll be ignored.Ulincludedir /etc/mysql/conf.d/圖4-4 查看 f文件從圖4-4可以看出 f文件引用了 conf.d與 兩個(gè)目錄 中的文件。(2)編輯conf.d目

7、 錄中的 f文件。(3)修改 mysql.conf.d 目 錄中的 f 文件,在mysqld中 添加character-set-server=utf8(4)進(jìn)入 MySQL 數(shù)據(jù)庫(kù),執(zhí)行 “show variables like%char%; 命令, 查看數(shù)據(jù)庫(kù)字符集。.創(chuàng)建數(shù)據(jù)表進(jìn)入student數(shù)據(jù)庫(kù),創(chuàng)建 bus info數(shù)據(jù)表,用于存儲(chǔ)執(zhí)行數(shù)據(jù)清洗 操作后的數(shù)據(jù)。.創(chuàng)建 Transformations(1)進(jìn)入/usr/local/kettle 目錄,執(zhí)行/spoon.sh” 命令,啟動(dòng) Kettle。(2)新建 Transformations。首先,新建一個(gè) Transformati

8、ons (雙擊 Transformations 圖標(biāo)即可)o其次,選擇“Design”選項(xiàng)卡,先后將“Input”節(jié)點(diǎn)中的Text file input”、 “Transform” 節(jié)點(diǎn)中的 “Unique rows、“Utility” 節(jié)點(diǎn)中的 If field value is null”及“Output”節(jié)點(diǎn)中的“Table output”拖動(dòng)到工作區(qū)中。最后,按住 “Shift” 鍵,拖動(dòng) “Text file input” 圖標(biāo)到 “Unique rows” 圖標(biāo),進(jìn)行連線,以此操作實(shí)現(xiàn)各個(gè)環(huán)節(jié)間的連線,如圖4-16所示。(3)設(shè)置 “Text file input”。雙擊“Text

9、 file input”圖標(biāo),進(jìn)入“Text file input”設(shè)置界面,如圖 4-17所示。在“Text file input”界面中單擊“Browse”按鈕,設(shè)置目錄為“公 交線路數(shù)據(jù)” 所在目錄,并選中要清洗的資源文件 “bus info.csv,單 擊“確定”按鈕。在“Text file input”界面中單擊“Add”按鈕,導(dǎo)入 資源文件,如圖4-18所示。選擇“Content”選項(xiàng)卡,設(shè)置Separator為(Separator表示文件分 隔符),設(shè)置Format為“mixed,設(shè)置Encoding為“UTF-8(這里設(shè)置 的字符集編碼要和文件字符集的編碼一致),如圖4-19所

10、示,設(shè)置完畢后 單擊“OK”按鈕。選擇“Fields”選項(xiàng)卡,并單擊“Get Fields”按鈕,在彈出的對(duì)話框 中設(shè)置獲單數(shù)據(jù)的行數(shù),這里設(shè)置為 “100”,設(shè)置完畢后單擊 “0K” 按 鈕。再次選擇“Content”選項(xiàng)卡,單擊“Preview rows”按鈕,預(yù)覽數(shù)據(jù), 查看完畢后單擊“Close”按鈕,限后單擊“0K”按鈕,如圖4-21所示。(4)設(shè)置“Unique rows”的相關(guān)參數(shù)。雙擊 “Unique rows”圖標(biāo),進(jìn)入 “Unique rows” 設(shè)置界面,Unique rows 組件的功能是去重,單擊“Get”按鈕,獲得字段名,設(shè)置完畢后單擊“0K” 按鈕。(5)雙擊 “

11、If field value is null”圖標(biāo),進(jìn)入 “Replace null value”設(shè) 置界面,設(shè)置 “If field value is null”相關(guān)內(nèi)容,將 “Replace by value” 設(shè) 置為 “空值”(即將數(shù)據(jù)中所有的空數(shù)據(jù)填充為 “空值”)。(6)雙擊“Tableoutput”圖標(biāo),進(jìn)入“Tableoutput”設(shè)重界面,設(shè)置 “Table output” 相關(guān)參數(shù)。.運(yùn)行任務(wù)單擊窗口左上方的“A”按鈕,彈出“Run Options”對(duì)話框,單擊“Run” 按鈕,運(yùn)行數(shù)據(jù)清洗任務(wù)。此時(shí),進(jìn)入保存程序文件界面,設(shè)貴保存的文件名稱和保存位置,單 擊“確定”按鈕。

12、執(zhí)行數(shù)據(jù)清洗操作,并將清洗后的數(shù)據(jù)批量導(dǎo)入到數(shù)據(jù)庫(kù)中。重新打開一個(gè)終端,進(jìn)入MySQL,進(jìn)入student數(shù)據(jù)庫(kù),檢驗(yàn)清洗后的數(shù) 據(jù)是否正確導(dǎo)入數(shù)據(jù)庫(kù),如圖 4-5 所示。如已經(jīng)正確導(dǎo)入,則數(shù)據(jù)庫(kù)的 busjnfo表中會(huì)有數(shù)據(jù)存在。:.$ nysql -uroot -pEnter password:Welcome to the MySQL monitor. Commands end with ; or g.Your MySQL connection id is 22Server version: 5.7.23-0ubuntu6.16.04.1 (Ubuntu)Copyright (c) 2000, 2618, Oracle and/or its affiliates. All rights reserved.Oracle is a registered trademark of Oracle Corporation and/or its affiliates. Other names may be trademarks of their respective owners.Type help;* or h1 for help. Type c* to clear the current input statement.mysql use

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。

評(píng)論

0/150

提交評(píng)論