Python示例
http request:put
# 定义函数:refresh segement
# curl -X PUT -s --user "****:*****" -H 'Content-Type: application/json' -d '{"startTime":1515283200000, "endTime":1515369600000, "buildType":"REFRESH"}' "*****/kylin/api/cubes/*****/rebuild" || { log "ERROR" "$project" "Build cube failed"; exit 1;} def refreshOneSegment( kylinBaseUrl,cubeName,userName,pwd,startTimestamp,endTimestamp):
urlTemp=kylinBaseUrl+"/api/cubes/"+cubeName+"/rebuild"
dataTemp ={"startTime":startTimestamp, "endTime":endTimestamp, "buildType":"REFRESH"}
base64stringT = base64.encodestring('%s:%s' % (userName, pwd)).replace('\n', '')
requestTemp=urllib2.Request(urlTemp)
requestTemp.add_header("Authorization", "Basic %s" % base64stringT)
requestTemp.add_header("Content-Type", "application/json;charset=UTF-8")
requestTemp.add_data(json.dumps(dataTemp))
request2.get_method = lambda: 'PUT' # or 'DELETE'
response2 = urllib2.urlopen(request2)
data2 = response2.read()
return data2;
外部传参
import urllib
import urllib2
import json
import base64
import datetime
import time
import sys username="*****"
password="*****"
kylinbaseurl='*******'
startLimitDate=sys.argv[1]
endLimitDate=sys.argv[2]
cubeName=sys.argv[3]
外部调用
python Refresh_Kylin_Segments "2018-01-07" "2018-1-10" "******"
http request :get
# 定义函数:get segements
# curl -X GET --user "****:*****" -H 'Content-Type: application/json' "*****/kylin/api/cubes/*****"
def getSegmentsBetweenTimeRange(kylinBaseUrl,cubeName,userName,pwd):
urlTemp=kylinBaseUrl+"/api/cubes/"+cubeName
base64stringT = base64.encodestring('%s:%s' % (userName, pwd)).replace('\n', '')
requestTemp=urllib2.Request(urlTemp)
requestTemp.add_header("Authorization", "Basic %s" % base64stringT)
requestTemp.add_header("Content-Type", "application/json")
responseTemp = urllib2.urlopen(requestTemp)
dataTemp = responseTemp.read()
return dataTemp;
json data :
# 定义函数:get Segments Between Time Range
def getSegmentsBetweenTimeRange(jsonCubeData,minStartDate,maxEndDate):
listResult = [];
decodejsonT = json.loads(jsonCubeData)
segmentsT=decodejsonT['segments']
for i in range(0, len(segmentsT)):
startTimestampT=segmentsT[i]['date_range_start']
endTimestampT=segmentsT[i]['date_range_end']
startDateT=datetime.datetime.utcfromtimestamp(startTimestampT/1000)
endDateT=datetime.datetime.utcfromtimestamp(endTimestampT/1000)
if ( minStartDate < endDateT and minStartDate >= startDateT):
listResult.append({"startTimestamp":startTimestampT,"endTimestamp":endTimestampT});
elif( maxEndDate < endDateT and maxEndDate >= startDateT):
listResult.append({"startTimestamp":startTimestampT,"endTimestamp":endTimestampT});
return listResult;
list
# main process
def main(kylinBaseUrl,cubeName,userName,pwd,startTimestamp,endTimestamp):
listResult = [];
jsonCubeDataOne=getCubeInfo(kylinBaseUrl,cubeName,userName,pwd)
print jsonCubeDataOne
minStartDate=datetime.datetime.strptime(startLimitDate, "%Y-%m-%d")
maxEndDate=datetime.datetime.strptime(endLimitDate, "%Y-%m-%d")
needRefreshSegmentList=getSegmentsBetweenTimeRange(jsonCubeDataOne,minStartDate,maxEndDate)
print needRefreshSegmentList
for i in range(0, len(needRefreshSegmentList)):
startTimestampT=needRefreshSegmentList[i]['startTimestamp']
endTimestampT=needRefreshSegmentList[i]['endTimestamp']
oneResult=refreshOneSegment(kylinBaseUrl,cubeName,userName,pwd,startTimestampT,endTimestampT)
listResult.append(oneResult)
return listResult
Python示例的更多相关文章
- python 示例代码1
第一章 python基础一 在此不再赘述为什么学习python这门编程,网上搜索一箩筐.我在此仅说一句python的好,用了你就会爱上它. 本python示例代码1000+带你由浅入深的了解pyth ...
- [原创]Zabbix3.4_API的python示例
说明: 1.python版本为:python2.7 2.zabbix版本为:zabbix3.4 3.通过python脚本调用zabbix的api接口可以实现批量增删改查主机的信息. 示例如下: #-* ...
- python 示例代码3
示例3:Python获取当前环境下默认编码(字符编码demo1.py) 字符编码,python解释器在加载py文件中的代码时,会对内容进行编码(默认ASCII),windows系统默认编码为GBK,U ...
- 安装zeromq以及zeromq的python示例
下载ZeroMq: wget https://github.com/zeromq/zeromq4-1/releases/download/v4.1.5/zeromq-4.1.5.tar.gz 解压: ...
- C++调Python示例(转载)
C++调Python,代码粘贴如下: #include <iostream> #include <Python.h> using namespace std; void Hel ...
- Python示例项目学习
原文地址:http://www.360doc.com/showweb/0/0/874025604.aspx 「 Python3 实现火车票查询工具 」 相信很多人学Python都是冲着它强大的爬虫 ...
- python 示例代码5
示例5:用户输入和格式化输出2(用户输入demo1)
- python 示例代码4
示例:用户输入和格式化输出(用户输入demo1)
- python 示例代码2
示例2:变量赋值,打印拼接(var.py) 变量定义的规则: 变量名只能是字母.数字或下划线的任意组合 变量名的第一个字符不能是数字 以下关键字不能声明为变量名 ['and', 'as', 'asse ...
随机推荐
- cocos 搭建安卓环境
http://blog.csdn.net/yiye3376/article/details/42219889
- 【Hadoop学习之八】MapReduce开发
环境 虚拟机:VMware 10 Linux版本:CentOS-6.5-x86_64 客户端:Xshell4 FTP:Xftp4 jdk8 hadoop-3.1.1 伪分布式:HDFS和YARN 伪分 ...
- mybatis源码解析9---执行器Executor解析
从前面分析我们知道了sql的具体执行是通过调用SqlSession接口的对应的方法去执行的,而SqlSession最终都是通过调用了自己的Executor对象的query和update去执行的.本文就 ...
- flask 处理表单数据
处理表单数据 表单数据的处理涉及很多内容,从获取数据到保存数据大致有以下步骤: 1. 解析请求,获取表单数据 2. 对数据进行必要的转换,比如讲勾选框的值转换成python的布尔值 3. 验证数 ...
- Linux基础命令---杀死进程pkill
pkill pkill可以给指定的进程发送信息,它可以结束某个执行的进程或者目录登录的用户. 此命令的适用范围:RedHat.RHEL.Ubuntu.CentOS.SUSE.openSUSE.Fedo ...
- Linux基础命令---验证组文件grpck
grpck grpck指令可以验证组文件“/etc/group”和“/etc/gshadow”的完整性.检查的内容包括:正确的字段数.唯一有效的组名称.有效的组标识符.成员和管理员的有效列表.“/et ...
- centos 6.5 防火墙开放指定端口
清除防火墙规则:iptables -F 关闭防火墙 /etc/init.d/iptables stop 关闭防火墙开机自启:chkconfig iptables off 查看iptables 是否开 ...
- windows composer 安装,使用新手入门
一.前期准备: 1.下载安装包,https://getcomposer.org/download/ 2.在php.ini文档中打开extension=php_openssl.dll 3.下载php_s ...
- Django设计模式
单例模式: 建造者模式: 示例: from enum import Enum import time PizzaProgress = Enum('PizzaProgress', 'queued pre ...
- log buffer space等待事件
最近,我们有台服务器在delete操作期间发现一直在等待log buffer space,其他节点就没与这个问题.经查,向重做缓冲区上写入重做记录的进程,为了确保拥有重做缓冲区内必要的空间,需要获得r ...