kettle工具实现数据的颗粒度转换以及珊瑚橘商务规划计算
一.實(shí) 現(xiàn) 對(duì) 文 本 文 件personnel_data.txt中 的 數(shù) 據(jù) 進(jìn) 行 數(shù) 據(jù) 粒 度 的 轉(zhuǎn) 換 ,即 將 文 本 文 件personnel_data.txt中字段為household_register的數(shù)據(jù)統(tǒng)一成省份(直轄市),并輸出到文本文件personnel_data_new.txt中。
(1)打開Kettle工具,新建轉(zhuǎn)換
使用Kettle工具,創(chuàng)建一個(gè)轉(zhuǎn)換generalization,并添加文本文件輸入控件、表輸入控件、字段選擇控件、排序記錄控件、記錄集連接控件、表輸出控件以及Hop跳連接線。
(2)配置文本文件輸入控件
雙擊“文本文件輸入”控件,進(jìn)入“文本文件輸入”界面,單擊【瀏覽】按鈕,選擇要抽取personnel_data.txt文件;單擊【增加】按鈕,將要抽取的personnel_data.txt文件添加到generalization轉(zhuǎn)換中。
單擊“內(nèi)容”選項(xiàng)卡,在分隔符處清除默認(rèn)分隔符“;”,單擊【Insert TAB】按鈕,在分隔符處插入一個(gè)制表符;取消勾選“頭部”復(fù)選框?!皟?nèi)容”選項(xiàng)卡的配置具體效果如圖。
單擊“字段”選項(xiàng)卡,根據(jù)personnel_data.txt文件的內(nèi)容添加對(duì)應(yīng)的字段名稱,并指定數(shù)據(jù)類型。“字段”選項(xiàng)卡的配置,如圖。單擊【確定】按鈕,完成“文本文件輸入”控件的配置。
(3)配置字段選擇控件
雙擊“字段選擇”控件,進(jìn)入“選擇/改名值”界面,在“選擇和修改”選項(xiàng)卡處添加字段名稱,具體如圖。
(4)配置排序記錄控件
雙擊“排序記錄”控件,進(jìn)入“排序記錄”界面,并在“字段”框中添加字段household_register,對(duì)其進(jìn)行排序,具體如圖。
(5)配置表輸入控件
雙擊“表輸入”控件,進(jìn)入“表輸入”界面,如圖。
單擊【新建】按鈕,配置數(shù)據(jù)庫(kù)連接,配置完成后單擊【確認(rèn)】按鈕。MySQL數(shù)據(jù)庫(kù)連接的配置,具體如圖。
在上圖中的SQL框中編寫SQL語句,用于查詢city數(shù)據(jù)表(注:該表需提前創(chuàng)建,讀者執(zhí)行本書提供的data.sql腳本文件可生成city數(shù)據(jù)表)中字段city和pid的數(shù)據(jù),用于與personnel_data.txt文件中household_register字段進(jìn)行合并連接,具體如圖。
(6)配置排序記錄2控件
雙擊“排序記錄 2”控件,進(jìn)入“排序記錄”界面,在“字段”框中添加字段city,并對(duì)其進(jìn)行排序,具體如圖。
(7)配置記錄集連接控件
雙擊中的“記錄集連接”控件,進(jìn)入“合并排序”界面,在“第一個(gè)步驟”處的下拉框中選擇“排序記錄”,“第二個(gè)步驟”處的下拉框中選擇“排序記錄2”;在“第一個(gè)步驟的連接字段”和“第二個(gè)步驟的連接字段”處添加連接字段,這里添加的連接字段是household_register和city;在“連接類型”處的下拉框選擇連接類型,這里選擇的LEFT OUTER,即左外連接,具體如圖。
(8)配置字段選擇2控件
雙擊圖中的“字段選擇2”控件,進(jìn)入“選擇/改名值”界面,在“選擇和修改”選項(xiàng)卡處添加字段名稱,這里添加的是記錄集連接流中的字段household_register和pid,具體如圖。
9)配置排序記錄3控件
雙擊“排序記錄 3”控件,進(jìn)入“排序記錄”界面,在“字段”框中添加字段pid,并對(duì)其進(jìn)行排序,具體如圖。
(10)配置表輸入2控件
雙擊“表輸入2”控件,進(jìn)入“表輸入2”界面,如圖4所示。
在SQL框中編寫SQL語句,用于查詢provincial數(shù)據(jù)表(注:該表需提前創(chuàng)建,讀者執(zhí)行本書提供的data.sql腳本文件可生成provincial數(shù)據(jù)表)中字段Provincial和pid的數(shù)據(jù),用于與household_register字段進(jìn)行合并連接,具體如圖6所示。
(11)配置排序記錄4控件
雙擊“排序記錄 4”控件,進(jìn)入“排序記錄”界面,在“字段”框中添加字段pid,并對(duì)其進(jìn)行排序,具體如圖所示。
(12)配置記錄集連接2控件
雙擊“記錄集連接2”控件,進(jìn)入“合并排序”界面,在“第一個(gè)步驟”處的下拉框中選擇“排序記錄3”,“第二個(gè)步驟”處的下拉框中選擇“排序記錄4”;在“第一個(gè)步驟的連接字段”和“第二個(gè)步驟的連接字段”處添加連接字段,這里添加的連接字段是pid;在“連接類型”處的下拉框選擇連接類型,這里選擇的LEFT OUTER,即左外連接,具體如圖所示。
(13)配置字段選擇3控件
雙擊“字段選擇3”控件,進(jìn)入“選擇/改名值”界面,在“選擇和修改”選項(xiàng)卡處添加字段名稱,這里添加的是記錄集連接2流中的字段household_register和Provincial,具體如圖。
(14)配置表輸出控件
雙擊圖8-1中的“表輸出”控件,進(jìn)入“表輸出”配置界面,如圖。
單擊【新建】按鈕,配置數(shù)據(jù)庫(kù)連接,配置完成后單擊【確認(rèn)】按鈕。MySQL數(shù)據(jù)庫(kù)連接的配置,具體如圖。
單擊目標(biāo)表右側(cè)的【瀏覽】按鈕,選擇輸出的目標(biāo)表,即臨時(shí)數(shù)據(jù)表personnel;勾選“指定數(shù)據(jù)庫(kù)字段”的復(fù)選框,具體如圖
單擊【輸入字段映射】按鈕,彈出“映射匹配”對(duì)話框,依次選中“源字段”選項(xiàng)框的字段和“目標(biāo)字段”選項(xiàng)框的字段,再單擊【Add】按鈕,將一對(duì)映射字段添加至“映射”選項(xiàng)框中,若“源字段”選項(xiàng)框的字段和“目標(biāo)字段”選項(xiàng)框的字段相同,則可以單擊【猜一猜】按鈕,讓Kettle自動(dòng)實(shí)現(xiàn)映射,具體如圖。
單擊映射匹配對(duì)話框的【確定】按鈕,“表輸出”界面最終顯示的效果如圖8-24所示,單擊【確定】按鈕,完成“表輸出”控件的配置。
(15)打開Kettle工具,創(chuàng)建一個(gè)新轉(zhuǎn)換
使用Kettle工具,創(chuàng)建一個(gè)轉(zhuǎn)換generalization_merge,并添加表輸入控件、字段選擇控件、排序記錄控件、記錄集連接控件、文本文件輸出控件以及Hop跳連接線,具體效果如圖。
(16)配置表輸入控件
雙擊“表輸入”控件,進(jìn)入“表輸入”界面,如圖。
單擊【新建】按鈕,配置數(shù)據(jù)庫(kù)連接,配置完成后單擊【確認(rèn)】按鈕。MySQL數(shù)據(jù)庫(kù)連接的配置,具體如圖。
在SQL框中編寫SQL語句,用于查詢數(shù)據(jù)表personnel中的數(shù)據(jù),具體如圖。
(17)配置字段選擇控件
雙擊“字段選擇”控件,進(jìn)入“選擇/改名值”界面,在“選擇和修改”選項(xiàng)卡處添加字段名稱,具體如圖。
(18)配置排序記錄控件
雙擊“排序記錄”控件,進(jìn)入“排序記錄”界面,并在“字段”框中添加字段id,對(duì)其進(jìn)行排序,具體如圖所示。
(19)配置文本文件輸入控件
雙擊“文本文件輸入”控件,進(jìn)入“文本文件輸入”界面,單擊【瀏覽】按鈕,選擇要抽取personnel_data.txt文件;單擊【增加】按鈕,將要抽取的personnel_data.txt文件添加到generalization_merge轉(zhuǎn)換中,如圖所示。
單擊“內(nèi)容”選項(xiàng)卡,在分隔符處清除默認(rèn)分隔符“;”,單擊【Insert TAB】按鈕,在分隔符處插入一個(gè)制表符;取消勾選“頭部”復(fù)選框?!皟?nèi)容”選項(xiàng)卡的配置具體效果如圖所示。
單擊“字段”選項(xiàng)卡,根據(jù)文本文件personnel_data.txt的內(nèi)容添加對(duì)應(yīng)的字段名稱,并指定數(shù)據(jù)類型?!白侄巍边x項(xiàng)卡的配置,如圖所示。
(20)配置字段選擇2控件
雙擊圖中的“字段選擇2”控件,進(jìn)入“選擇/改名值”界面,在“選擇和修改”選項(xiàng)卡處添加字段名稱,具體如圖所示。
(21)配置排序記錄2控件
雙擊“排序記錄”控件,進(jìn)入“排序記錄”界面,并在“字段”框中添加字段id,對(duì)其進(jìn)行排序,具體如圖所示。
(22)配置記錄集連接控件
雙擊“記錄集連接”控件,進(jìn)入“合并排序”界面,在“第一個(gè)步驟”處的下拉框中選擇“排序記錄”,“第二個(gè)步驟”處的下拉框中選擇“排序記錄2”;在“第一個(gè)步驟的連接字段”和“第二個(gè)步驟的連接字段”處添加連接字段,這里添加的連接字段是id;在“連接類型”處的下拉框選擇連接類型,這里選擇的LEFT OUTER,即左外連接,具體如圖所示。
(23)配置字段選擇3控件
雙擊“字段選擇3”控件,進(jìn)入“字段選擇”界面,在“選擇和修改”選項(xiàng)卡處添加字段名稱,并將字段household_register_new改為household_register,具體如圖所示。
(24)配置文本文件輸出控件
雙擊“文本文件輸出”控件,進(jìn)入“文本文件輸出”界面,單擊“文件名稱”右側(cè)的【瀏覽】按鈕,選擇輸出文件,即文本文件personnel_data_new,如圖6-38所示;單擊“內(nèi)容”選項(xiàng)卡,進(jìn)入“內(nèi)容”界面,清除分隔符處的默認(rèn)分隔符,單擊【插入Tab】按鈕,插入Tab分隔符。并在編碼處的下拉框選擇“UTF-8”編碼;單擊“字段”選項(xiàng)卡,進(jìn)入“字段”界面,添加要輸出的字段,如圖所示。
(25)打開Kettle工具,新建作業(yè)
使用Kettle工具,創(chuàng)建一個(gè)作業(yè)generalization,并添加Start控件、轉(zhuǎn)換控件、成功控件以及Hop作業(yè)項(xiàng)連接線,具體效果如圖所示。
(26)配置轉(zhuǎn)換控件
雙擊“轉(zhuǎn)換”控件,進(jìn)入“轉(zhuǎn)換”界面,單擊“Transformations”處的【瀏覽】按鈕,選擇添加轉(zhuǎn)換generalization,具體如圖所示。
(27)配置轉(zhuǎn)換2控件
雙擊“轉(zhuǎn)換2”控件,進(jìn)入“轉(zhuǎn)換”界面,單擊“Transformations”處的【瀏覽】按鈕,選擇添加轉(zhuǎn)換generalization_merge,具體如圖所示。
(28)運(yùn)行作業(yè)generalization
單擊作業(yè)工作區(qū)頂部的按鈕,運(yùn)行作業(yè)generalization,實(shí)現(xiàn)將文本文件personnel_data.txt中字段為household_register的數(shù)據(jù)統(tǒng)一成省份(直轄市),并輸出到文本文件personnel_data_new.txt中。運(yùn)行作業(yè)generalization的效果所示。
(29)查看文本文件personnel_data_new.txt中的數(shù)據(jù)
通過文本編輯器工具,查看文本文件personnel_data_new.txt中的數(shù)據(jù),查看結(jié)果如圖所示。
從上圖可以看出,文本文件personnel_data_new.txt中字段為household_register的數(shù)據(jù)均統(tǒng)一成省份(直轄市)。
二.數(shù)據(jù)的商務(wù)規(guī)則計(jì)算
(1)打開Kettle工具,新建轉(zhuǎn)換
使用Kettle工具,創(chuàng)建一個(gè)轉(zhuǎn)換monthly_salary,并添加文本文件輸入控件、增加常量控件、計(jì)算器控件、文本文件輸出控件以及Hop跳連接線,具體效果如圖所示。
(2)配置文本文件輸入控件
雙擊“文本文件輸入”控件,進(jìn)入“文本文件輸入”界面,單擊【瀏覽】按鈕,選擇要抽取personnel_data_new.txt文件;單擊【增加】按鈕,將要抽取的personnel_data_new.txt文件添加到轉(zhuǎn)換monthly_salary中。
單擊“內(nèi)容”選項(xiàng)卡,在分隔符處清除默認(rèn)分隔符“;”,單擊【Insert TAB】按鈕,在分隔符處插入一個(gè)制表符。“內(nèi)容”選項(xiàng)卡的配置具體效果如圖所示。
單擊“字段”選項(xiàng)卡,根據(jù)personnel_data_new.txt文件的內(nèi)容添加對(duì)應(yīng)的字段名稱,并指定數(shù)據(jù)類型?!白侄巍边x項(xiàng)卡的配置,如圖所示。
(3)配置增加常量控件
雙擊“增加常量”控件,進(jìn)入“增加常量”界面,在字段框中添加一個(gè)字段days,并給定一個(gè)值22。增加常量控件的配置,如圖所示。
(4)配置計(jì)算器控件
雙擊“計(jì)算器”控件,進(jìn)入“計(jì)算器”界面,在字段框中添加一個(gè)字段monthly_salary,用于存儲(chǔ)月薪,該字段是由字段days和salary進(jìn)行相乘所得。計(jì)算器控件的配置,如圖所示。
(5)配置文本文件輸出控件
雙擊“文本文件輸出”控件,進(jìn)入“文本文件輸出”界面,單擊“文件名稱”右側(cè)的【瀏覽】按鈕,選擇輸出文件,即文本文件personnel_data_monthly_salary;單擊“內(nèi)容”選項(xiàng)卡,進(jìn)入“內(nèi)容”界面,清除分隔符處的默認(rèn)分隔符,單擊【插入Tab】按鈕,插入Tab分隔符,并在編碼處的下拉框選擇“UTF-8”編碼;單擊“字段”選項(xiàng)卡,進(jìn)入“字段”界面,添加要輸出的字段。
(6)運(yùn)行轉(zhuǎn)換monthly_salary
單擊轉(zhuǎn)換工作區(qū)頂部的按鈕,運(yùn)行轉(zhuǎn)換monthly_salary,實(shí)現(xiàn)將文本文件personnel_data_new.txt中字段為salary的數(shù)據(jù)進(jìn)行商務(wù)規(guī)則計(jì)算,即計(jì)算每個(gè)人的月薪(以22天工作日計(jì)算),最終輸出到文本文件personnel_data_monthly_salary.txt中。
(7)查看文本文件personnel_data_monthly_salary.txt中的數(shù)據(jù)
通過文本編輯器工具,查看文本文件personnel_data_monthly_salary.txt中的數(shù)據(jù),查看結(jié)果如圖所示。
從圖可以看出,文本文件personnel_data_monthly_salary.txt中字段為monthly_salary存儲(chǔ)著月薪。
對(duì)personnel_data.txt文件的商務(wù)規(guī)則計(jì)算完成。
總結(jié)
以上是生活随笔為你收集整理的kettle工具实现数据的颗粒度转换以及珊瑚橘商务规划计算的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 论文排版的正确方式—LaTeX【分享贴】
- 下一篇: LM317的直流可调稳压电源Multis