在linux环境下自动执行python脚本

说明:此文针对需要用hive来查询长时间数据的人员,而且是需要按照天来输出查询数据,考虑到如果查询多天的,数据量过大会造成集群拥堵,所以按天输出,最终再做汇总。
需求来源:如果你每天接触的都是日志类数据,日志每天的产生量都非常庞大,而你想对过去几个月的数据进行分析,就需要考虑如何有效的实现这种方式。
假设想查询8月-10月的流量数据,可以这样:

 #!/usr/bin/env python
 # -*- coding: UTF-8 -*-

import sys
import os
import re
#假设hive数据文件以日期为分区。
for i in range(0,92):
    if i<31:
        date=20160801+i
    elif i<61:
        date=20160901+i-31
    else:
        date=20161001+i-61
#输出数据到以.data结尾的数据文件中,此处用了hive -e的用法
    sql = "hive -e \"hive sql执行脚本,日期分区用%d参数代替,假设有一处用到;\" >%d.data" % (date,date)
    print sql
    os.system(sql)

以上脚本测试成功后,可以让linux环境下自动执行,假设上述脚本为test.py具体操作如下:

nohup python test.py & ---已经自动执行
自动执行时会生成执行文件nohup.out,可以查看文件是否执行成功或者执行到什么地步,cat nohup.out
退出shell环境时,不要像平常一样直接简单粗暴右上角点叉叉,用exit,我们这次温柔一点。

所有分区执行完毕后,可以用cat *.data >hahaha.data将所有数据汇总到hahaha.data的文件中。然后sz hahaha.data就可以把数据下载到本地进行分析啦。

  • 0
    点赞
  • 7
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值