美文网首页
如何利用API构建Cube更新Kylin数据

如何利用API构建Cube更新Kylin数据

作者: 紫萝藤下 | 来源:发表于2018-11-23 16:57 被阅读0次

    思路:kylin提供了api来创建job,详情可以参考:http://kylin.apache.org/cn/docs/howto/howto_use_restapi.html#build-cube

    由于我这是写了个通用的sh来作为kylin cube的job调度的,所以需要在sh后面传入job name参数,如:kylin上有个aa的cube,那调度的时候执行 ./test.sh aa 就相当于在跑aa 的cube数据了。

    aa.sh 内容如下:

    #!/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"

    #时间需要转成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   

    #时间参数start_time,end_time ;cube名 job_name

    每天更新增量数据就运行这个aa.sh xxx_cube 就好了,简单方便!

    相关文章

      网友评论

          本文标题:如何利用API构建Cube更新Kylin数据

          本文链接:https://www.haomeiwen.com/subject/vwajqqtx.html