首页 技术 正文
技术 2022年11月16日
0 收藏 589 点赞 2,469 浏览 1509 个字

一.批量添加分区: use bigdata;alter table siebel_memberadd if not existspartition(dt=’20180401′) location ‘20180401’partition(dt=’20180402′) location ‘20180402’partition(dt=’20180403′) location ‘20180403’partition(dt=’20180404′) location ‘20180404’; 二.批量删除分区 alter table siebel_member drop if existspartition(dt=’20180401′),partition(dt=’20180402′),partition(dt=’20180403′),partition(dt=’20180404′); 三.大量分区的添加虽说是批量添加分区,但是一下子添加2000个分区,如果把2000个分区写在一个语句里面,hive是不允许的。所以只好一个月一个月的加,尝试了使用shell 生成 line=”hive -e “xxxxx””  ${line} ,但是解析错误,采用python + shell 解决了问题。python 代码如下: #!/usr/bin/env python#encoding=utf8 import datetimeimport osimport sys  def dateRange(beginDate, endDate):    dates = []    dt = datetime.datetime.strptime(beginDate, “%Y%m%d”)    date = beginDate[:]    while date < endDate:        dates.append(date)        dt = dt + datetime.timedelta(1)        date = dt.strftime(“%Y%m%d”)    return dates  def genSql(datelist, table):    sql = “””hive -e “use bigdata;alter table “”” + table + “””add if not exists “””    for i in datelist:        sql = sql + “””partition(dt='””” + i + “””‘) location ‘””” + i + “””‘ “””    sql = sql.strip() + “””;” “””    os.system(sql)  if __name__ == ‘__main__’:    if sys.argv.__len__() != 4:        print(“参数错误”)        sys.exit()    st = sys.argv[1]    et = sys.argv[2]    table = sys.argv[3]    datelist = dateRange(st,et)    genSql(datelist,table)  shell 用来调度 py#添加分区,按月添加分区 会添加到et所在月的最后一天function add_par(){st=$1et=$2tbname=$3while [ ${et} -ge ${st} ]dopet=$(date –date=”+1 month ${et}” +”%Y%m%d”)python a.py ${et} ${pet} ${tbname}et=$(date –date=”1 month ago ${et}” +”%Y%m%d”)done}              

相关推荐
python开发_常用的python模块及安装方法
adodb:我们领导推荐的数据库连接组件bsddb3:BerkeleyDB的连接组件Cheetah-1.0:我比较喜欢这个版本的cheeta…
日期:2022-11-24 点赞:878 阅读:9,492
Educational Codeforces Round 11 C. Hard Process 二分
C. Hard Process题目连接:http://www.codeforces.com/contest/660/problem/CDes…
日期:2022-11-24 点赞:807 阅读:5,907
下载Ubuntn 17.04 内核源代码
zengkefu@server1:/usr/src$ uname -aLinux server1 4.10.0-19-generic #21…
日期:2022-11-24 点赞:569 阅读:6,740
可用Active Desktop Calendar V7.86 注册码序列号
可用Active Desktop Calendar V7.86 注册码序列号Name: www.greendown.cn Code: &nb…
日期:2022-11-24 点赞:733 阅读:6,495
Android调用系统相机、自定义相机、处理大图片
Android调用系统相机和自定义相机实例本博文主要是介绍了android上使用相机进行拍照并显示的两种方式,并且由于涉及到要把拍到的照片显…
日期:2022-11-24 点赞:512 阅读:8,132
Struts的使用
一、Struts2的获取  Struts的官方网站为:http://struts.apache.org/  下载完Struts2的jar包,…
日期:2022-11-24 点赞:671 阅读:5,295