《数据清洗》 第六章 数据转换
目錄
1.對文本文件personnel_data.txt中的數據進行數據粒度的轉換,即將文本文件personnel_data.txt中字段為household_register的數據統一成省份,并輸出到文本文件personnel_data_new.txt中
1.1轉換granularity
1.1.1打開kettle工具,創建轉換
1.1.2配置文本文件輸入控件
1.1.3配置“字段選擇”控件
1.1.4配置“排序記錄”控件
1.1.5配置“表輸入”控件
?1.1.6配置“記錄集連接”控件
1.1.7配置“字段選擇2”控件
?1.18配置“排序記錄3”控件
?1.1.9配置“表輸入2”控件
1.1.10配置“排序記錄4”控件
1.1.11配置“記錄集連接2”控件
1.1.12配置“字段選擇3”控件
1.1.13配置“表輸出”控件
1.2轉換generalization_merge
1.2.1打開kettle工具,創建轉換
1.2.2配置“表輸入”控件
1.2.3配置“字段選擇”控件
1.2.4配置“排序記錄”控件
1.2.5配置“文本文件輸入”控件
1.2.6配置“字段選擇2”控件
1.2.7配置“排序記錄2”控件
1.2.8配置“記錄集連接”控件
1.2.9配置“字段選擇3”控件
1.2.10配置“文本文件輸出”控件
1.3作業generalization
1.3.1打開kettle工具,創建轉換
1.3.2配置“轉換”控件
1.3.3配置“轉換2”控件
1.3.4運行作業generalization
1.3.5查看文本文件
2.對文本文件personnel_data_new.txt中字段為salary的數據進行商務規則計算,即計算每個人的月薪(以22天工作日計算),最終輸出到文本文件personnel_data_monthly_salary.txt中
2.1打開kettle工具,創建轉換
2.2配置“文本文件輸入”控件
?2.3配置“增加常量”控件
2.4配置“計算器”控件
2.5配置“文本文件輸出”控件
2.6 運行轉換monthly_salary
2.7查看文本文件
?
1.對文本文件personnel_data.txt中的數據進行數據粒度的轉換,即將文本文件personnel_data.txt中字段為household_register的數據統一成省份,并輸出到文本文件personnel_data_new.txt中
1.1轉換granularity
1.1.1打開kettle工具,創建轉換
創建轉換granularity,添加“表輸入”、“字段選擇”、“排序記錄”、“記錄集連接”、“過濾記錄”、“空操作”、“表輸出”控件及hop跳連接線
1.1.2配置文本文件輸入控件
進入“文本文件輸入”界面,將要抽取的personnel_data.txt文件添加到generalization轉換中
進入“內容”選項卡,在分隔符處清除默認分隔符“;”,在分隔符處插入一個制表符;取消勾選“頭部”復選框
進入“字段”選項卡,根據personnel_data.txt文件的內容添加對應的字段名稱,并指定數據類型
完成文本文件輸入控件的配置
1.1.3配置“字段選擇”控件
?雙擊“字段選擇”控件,進入“選擇/改名值”界面,在“選擇和修改”選項卡處添加字段名稱
1.1.4配置“排序記錄”控件
雙擊“排序記錄”控件,進入“排序記錄”界面,并在“字段”框中添加字段household_register,對其進行排序
1.1.5配置“表輸入”控件
雙擊“表輸入”控件,進入“表輸入”界面,單擊【新建】按鈕,配置數據庫連接
?1.1.6配置“記錄集連接”控件
雙擊“記錄集連接”控件,進入“合并排序”界面,在“第一個步驟”處的下拉框中選擇“排序記錄”,“第二個步驟”處的下拉框中選擇“排序記錄2”;在“第一個步驟的連接字段”和“第二個步驟的連接字段”處添加連接字段,這里添加的連接字段是household_register和city;在“連接類型”處的下拉框選擇連接類型,這里選擇的LEFT OUTER,即左外連接
1.1.7配置“字段選擇2”控件
雙擊“字段選擇2”控件,進入“選擇/改名值”界面,在“選擇和修改”選項卡處添加字段名稱,這里添加的是記錄集連接流中的字段household_register和pid
?1.18配置“排序記錄3”控件
雙擊“排序記錄 3”控件,進入“排序記錄”界面,在“字段”框中添加字段pid,并對其進行排序
?1.1.9配置“表輸入2”控件
雙擊“表輸入2”控件,進入“表輸入2”界面,單擊【新建】按鈕,配置數據庫連接
1.1.10配置“排序記錄4”控件
雙擊“排序記錄 4”控件,進入“排序記錄”界面,在“字段”框中添加字段pid,并對其進行排序
1.1.11配置“記錄集連接2”控件
雙擊“記錄集連接2”控件,進入“合并排序”界面,在“第一個步驟”處的下拉框中選擇“排序記錄3”,“第二個步驟”處的下拉框中選擇“排序記錄4”;在“第一個步驟的連接字段”和“第二個步驟的連接字段”處添加連接字段,這里添加的連接字段是pid;在“連接類型”處的下拉框選擇連接類型,這里選擇的LEFT OUTER,即左外連接
1.1.12配置“字段選擇3”控件
雙擊“字段選擇3”控件,進入“選擇/改名值”界面,在“選擇和修改”選項卡處添加字段名稱,這里添加的是記錄集連接2流中的字段household_register和Provincial
1.1.13配置“表輸出”控件
雙擊“表輸出”控件,進入“表輸出”配置界面,單擊【新建】按鈕,配置數據庫連接
單擊目標表右側的【瀏覽】按鈕,選擇輸出的目標表,即臨時數據表personnel;勾選“指定數據庫字段”的復選框。單擊【輸入字段映射】按鈕,彈出“映射匹配”對話框,依次選中“源字段”選項框的字段和“目標字段”選項框的字段,再單擊【Add】按鈕,將一對映射字段添加至“映射”選項框中,若“源字段”選項框的字段和“目標字段”選項框的字段相同,則可以單擊【猜一猜】按鈕,讓Kettle自動實現映射
1.2轉換generalization_merge
1.2.1打開kettle工具,創建轉換
創建一個轉換generalization_merge,并添加“表輸入”、“字段選擇”、“排序記錄”、“記錄集連接”、“文本文件輸出”控件
1.2.2配置“表輸入”控件
雙擊“表輸入”控件,進入“表輸入”界面,單擊【新建】按鈕,配置數據庫連接。在SQL框中編寫SQL語句,用于查詢數據表personnel中的數據
1.2.3配置“字段選擇”控件
雙擊“字段選擇”控件,進入“選擇/改名值”界面,在“選擇和修改”選項卡處添加字段名稱
1.2.4配置“排序記錄”控件
雙擊“排序記錄”控件,進入“排序記錄”界面,并在“字段”框中添加字段id,對其進行排序
1.2.5配置“文本文件輸入”控件
雙擊“文本文件輸入”控件,進入“文本文件輸入”界面,單擊【瀏覽】按鈕,選擇要抽取personnel_data.txt文件;單擊【增加】按鈕,將要抽取的personnel_data.txt文件添加到generalization_merge轉換中
?單擊“內容”選項卡,在分隔符處清除默認分隔符“;”,單擊【Insert TAB】按鈕,在分隔符處插入一個制表符;取消勾選“頭部”復選框
?單擊“字段”選項卡,根據personnel_data.txt文件的內容添加對應的字段名稱,并指定數據類型
1.2.6配置“字段選擇2”控件
雙擊“字段選擇2”控件,進入“選擇/改名值”界面,在“選擇和修改”選項卡處添加字段名稱?
1.2.7配置“排序記錄2”控件
雙擊“排序記錄”控件,進入“排序記錄”界面,并在“字段”框中添加字段id,對其進行排序
1.2.8配置“記錄集連接”控件
雙擊“記錄集連接”控件,進入“合并排序”界面,在“第一個步驟”處的下拉框中選擇“排序記錄”,“第二個步驟”處的下拉框中選擇“排序記錄2”;在“第一個步驟的連接字段”和“第二個步驟的連接字段”處添加連接字段,這里添加的連接字段是id;在“連接類型”處的下拉框選擇連接類型,這里選擇的LEFT OUTER,即左外連接
1.2.9配置“字段選擇3”控件
雙擊“字段選擇3”控件,進入“字段選擇”界面,在“選擇和修改”選項卡處添加字段名稱,并將字段household_register_new改為household_register
1.2.10配置“文本文件輸出”控件
雙擊“文本文件輸出”控件,進入“文本文件輸出”界面,單擊“文件名稱”右側的【瀏覽】按鈕,選擇輸出文件,即文本文件personnel_data_new,單擊“內容”選項卡,進入“內容”界面,清除分隔符處的默認分隔符,單擊【插入Tab】按鈕,插入Tab分隔符。并在編碼處的下拉框選擇“UTF-8”編碼,單擊“字段”選項卡,進入“字段”界面,添加要輸出的字段
1.3作業generalization
1.3.1打開kettle工具,創建轉換
新建作業,使用Kettle工具,創建一個作業generalization,并添加“Start”、“轉換”、“成功”控件
1.3.2配置“轉換”控件
雙擊“轉換”控件,進入“轉換”界面,單擊“Transformations”處的【瀏覽】按鈕,選擇添加轉換generalization
1.3.3配置“轉換2”控件
雙擊“轉換2”控件,進入“轉換”界面,單擊“Transformations”處的【瀏覽】按鈕,選擇添加轉generalization_merge
1.3.4運行作業generalization
運行作業generalization,實現將文本文件personnel_data.txt中字段為household_register的數據統一成省份(直轄市),并輸出到文本文件personnel_data_new.txt中
1.3.5查看文本文件
通過文本編輯器工具,查看文本文件personnel_data_new.txt中的數據
2.對文本文件personnel_data_new.txt中字段為salary的數據進行商務規則計算,即計算每個人的月薪(以22天工作日計算),最終輸出到文本文件personnel_data_monthly_salary.txt中
2.1打開kettle工具,創建轉換
使用Kettle工具,創建一個轉換monthly_salary,并添加“文本文件輸入”、“增加常量”、“計算器”、“文本文件輸出”控件
2.2配置“文本文件輸入”控件
雙擊“文本文件輸入”控件,進入“文本文件輸入”界面,單擊【瀏覽】按鈕,選擇要抽取personnel_data_new.txt文件;單擊【增加】按鈕,將要抽取的personnel_data_new.txt文件添加到轉換monthly_salary中
單擊“內容”選項卡,在分隔符處清除默認分隔符“;”,單擊【Insert TAB】按鈕,在分隔符處插入一個制表符;取消勾選“頭部”復選框
?單擊“字段”選項卡,根據personnel_data.txt文件的內容添加對應的字段名稱,并指定數據類型
?2.3配置“增加常量”控件
雙擊“增加常量”控件,進入“增加常量”界面,在字段框中添加一個字段days,并給定一個值22
2.4配置“計算器”控件
雙擊“計算器”控件,進入“計算器”界面,在字段框中添加一個字段monthly_salary,用于存儲月薪,該字段是由字段days和salary進行相乘所得
2.5配置“文本文件輸出”控件
雙擊“文本文件輸出”控件,進入“文本文件輸出”界面,單擊“文件名稱”右側的【瀏覽】按鈕,選擇輸出文件,即文本文件personnel_data_monthly_salary
單擊“內容”選項卡,進入“內容”界面,清除分隔符處的默認分隔符,單擊【插入Tab】按鈕,插入Tab分隔符,并在編碼處的下拉框選擇“UTF-8”編碼,單擊“字段”選項卡,進入“字段”界面,添加要輸出的字段
2.6 運行轉換monthly_salary
單擊轉換工作區頂部的start按鈕,運行轉換monthly_salary,實現將文本文件personnel_data_new.txt中字段為salary的數據進行商務規則計算,即計算每個人的月薪(以22天工作日計算),最終輸出到文本文件
2.7查看文本文件
通過文本編輯器工具,查看文本文件personnel_data_monthly_salary.txt中的數據
總結
以上是生活随笔為你收集整理的《数据清洗》 第六章 数据转换的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: HTML translate 属性
- 下一篇: 云计算 码率适配限速_【省带宽、压成本专