实现kylin定时跑当天的任务

说明:

每天自动构建cube,动态在superset里面查看每天曲线变化图

#! /bin/bash

##cubeName cube的名称
##endTime 执行build cube的结束时间 (命令传给Kylin的kylinEndTime = realEndTime + (8小时,转化为毫秒)。只需要给Kylin传入build cube的结束时间即可。)
##buildType BUILD 构建cube操作(还有Refresh、Merge等操作,增量构建为BUILD)

kylinMinusTime=$((8 * 60 * 60 * 1000)) #8小时对应的毫秒时间,这里是UTC时间,需要加8个小时
#today=`date -d now +%Y-%m-%d`
today="2018-11-14"
todayTimeStamp=`date -d "$today 00:00:00" +%s`
errorTimeStamp=`date "+%N"`
res=`echo $errorTimeStamp |grep '^0'`
if [ -z $res ];then
echo $res
else
errorTimeStamp=`echo $errorTimeStamp |cut -c2-10`
fi


todayTimeStampMs=$(($todayTimeStamp*1000 + $errorTimeStamp/1000000)) #将current转换为时间戳,精确到毫秒
endTime=$(($todayTimeStampMs + $kylinMinusTime))

cubeName=xxx_cube

curl -X PUT -H "Authorization: Basic QURNSU46S1lMSU4=" -H 'Content-Type: application/json' -d '{"endTime":'$endTime', "buildType":"BUILD"}' http://ip:7070/kylin/api/cubes/$cubeName/rebuild

 

posted @ 2018-11-08 19:26  wang_zai  阅读(2705)  评论(0编辑  收藏  举报