kettle加工處理月累 年累資料

2021-10-09 18:41:11 字數 2210 閱讀 5742

有需要算 月累(當月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...