有需要算 月累(當月1號至當前日期)、年累(當年1月1號至當前日期的銷售數量、金額等)資料時, 資料只能一天一天累計加工。
先初始化加工資料,可以掃瞄日期檔案,用kettle加工資料, 一天加工一次;指令碼排程掃瞄日期一天一天執行。
#指令碼所在路徑
work_dir=/home/hadoop/ktl_wks
log_date=
`date +%y%m%d`
log_time=
`date +%h%m%s`
kettle_home=/home/hadoop/software/pdi-ce-7.1/data-integration
logfile=
$/kettle_log/$
$_start_***_dd.log
# kettle命令
starttruns=/home/hadoop/software/pdi-ce-7.1/data-integration/pan.sh
startjob=/home/hadoop/software/pdi-ce-7.1/data-integration/kitchen.sh
echo
`date +'%y-%m-%d %h:%m:%s'
`" start_***_dd start:"
>>
$ 2>
&1#迴圈讀取day_inint.txt,並執行相應的轉換
echo
`date +'%y-%m-%d %h:%m:%s'
`" cat file day_inint.txt while read line "
>>
$ 2>
&1date_id=
''cat
$/kettle_param/day_inint.txt |
while
read line
do
date_id=
`echo $line |
awk -f ';'''`
echo
"param file :"
$line
>>
$ 2>
&1 #啟動kettle資料載入
echo
`date +'%y-%m-%d %h:%m:%s'
`" ***_dd start:"
>>
$ 2>
&1$ -rep=kettle -user=admin -pass=admin -dir=/***x/tran -level=basic -trans=***_dd -param:date_id=
$>>
$ 2>
&1done
echo
`date +'%y-%m-%d %h:%m:%s'
`" ***_dd end."
>>
$ 2>&1
#檢查執行是否正常
error_log=
`cat $
|grep
'error'
|awk -f ' '''`
if[ -z $];
then
echo
`date +'%y-%m-%d %h:%m:%s'
`" 日誌檢查結束,檢查結果為:未發現異常."
>>
$ 2>
&1else
echo
`date +'%y-%m-%d %h:%m:%s'
`" 日誌檢查結束,檢查結果為:發現異常!!"
>>
$ 2>
&1fi
echo
`date +'%y-%m-%d %h:%m:%s'
`" start_***_dd end."
>>
$ 2>
&1最後,初始化號資料以後,如果需要每天處理前幾天的資料,可以生成乙個day_2020.txt日期檔案,kettle排程轉換或者job時 掃瞄日期 一天一天執行。
kettle 空串處理
今天在用kettle對mysql插入空值 時,發現對空值的處理在插入mysql時,會自動轉轉換為null值,在網上找一下,需要在kettle.properties檔案中新增如下引數,就不會自動轉換了 windows下檔案的位置 c users 使用者名稱 kettle目錄中找到kettle.prop...
資訊加工處理 Excel
教學過程 匯入 上課,同學們好,請坐。最近呢,同學們剛剛經歷了一次期中考試,現在老師想把同學們的期中考試成績進行統計和分析,老師可以使用哪些方法呢?有的同學說,老師可以列印一張成績單 將這次的考試成績記錄在紙上。也有同學說,老師可以使用excel軟體,excel軟體能夠幫助老師快速統計,排序學生的考...
Kettle入門操作處理excel資料
實驗要求 用kettle完成下列實驗,結果儲存到mysql 或者csv 已知excel檔案,包含列 姓名,年齡,身份證號碼,性別,日期時間,門診號 資料若干 自己模擬 生成資料1,包含列 日,性別,兒童 青年 中年 老年,人次 兒童 青年 中年 老年的年齡段自己定義 生成資料2,包含列 省份,hou...