思路:kylin提供了api來創(chuàng)建job,詳情可以參考:http://kylin.apache.org/cn/docs/howto/howto_use_restapi.html#build-cube
由于我這是寫了個通用的sh來作為kylin cube的job調(diào)度的,所以需要在sh后面?zhèn)魅雑ob name參數(shù)首妖,如:kylin上有個aa的cube浸策,那調(diào)度的時候執(zhí)行 ./test.sh aa 就相當(dāng)于在跑aa 的cube數(shù)據(jù)了冈涧。
aa.sh 內(nèi)容如下:
#!/bin/bash
if [ $# -lt 2 ];then
_YYYY_MM_DD=$(date +%Y-%m-%d -d "0 days ago")
job_name=$1
else
_YYYY_MM_DD=$1
_YYYY_MM_DD=`date -d "${_YYYY_MM_DD} -1 days ago" "+%Y-%m-%d"`
job_name=$2
fi
echo $1
echo $2
echo $job_name
start_time=$(date -d "${_YYYY_MM_DD} 00:00:00" +%s)"000"
#時間需要轉(zhuǎn)成1542902400000格式
date_time=`date -d "${_YYYY_MM_DD} -1 days ago" "+%Y-%m-%d"`
end_time=$(date -d "$date_time 00:00:00" +%s)"000"
echo $_YYYY_MM_DD
echo $date_time
echo $start_time
echo $end_time
curl -c /home/liuxh/cookiefile.txt -X POST -H "Authorization: Basic QURNSU46S1lMSU4=" -H 'Content-Type: application/json' http://192.168.1.111:7070/kylin/api/user/authentication
#生成cookiefile文件
curl -b /home/liuxh/cookiefile.txt -X PUT -H 'Content-Type: application/json' -d '{"startTime":'$start_time', "endTime":'$end_time', "buildType":"BUILD"}' http://192.168.1.111:7070/kylin/api/cubes/$job_name/rebuild? ?
#時間參數(shù)start_time兵琳,end_time ;cube名 job_name
每天更新增量數(shù)據(jù)就運(yùn)行這個aa.sh xxx_cube 就好了,簡單方便!