squid 日志分析 - hive 删除

简介:

 #!/usr/bin/env python

#-*-coding:utf8-*-
 
import os,re,threading,tarfile,shutil,time,sys,datetime
import sys,traceback
sys.path.append('/usr/local/hive/lib/py')
from thrift import Thrift
from thrift.transport import TSocket
from thrift.transport import TTransport
from thrift.protocol import TBinaryProtocol
from hive_service import ThriftHive
from hive_service.ttypes import HiveServerException
 
transport = TSocket.TSocket('127.0.0.1',10000)
transport = TTransport.TBufferedTransport(transport)
protocol = TBinaryProtocol.TBinaryProtocol(transport)
client = ThriftHive.Client(protocol)
transport.open()
client.execute("use squid")
 
 
class threads_del(threading.Thread):
    def __init__(self,pt_ip,pt_dt):
        threading.Thread.__init__(self)
        self.pt_ip = pt_ip
        self.pt_dt = pt_dt
 
    def run(self):
        client.execute("set hive.exec.dynamic.partition=true")
        client.execute("set hive.exec.dynamic.partition.mode=nonstrict")
        sql = "alter table squid_log drop partition(pt_ip = '%s', pt_dt=%s)"%(self.pt_ip,self.pt_dt)
        client.execute(sql)
 
def work():
    client.execute('show partitions squid_log')
    info = client.fetchAll()
    infos = {}
    for i in info:
        a = re.split("/",i)
        try:
            infos[re.split("=",a[0])[1]].append(re.split("=",a[1])[1])
        except:
            infos[re.split("=",a[0])[1]] = []
            infos[re.split("=",a[0])[1]].append(re.split("=",a[1])[1])
 
    for k,v in infos.items():
        st = threads_del(k,min(v))
        st.start()
        st.join()
 
    while threading.active_count() >1:
        time.sleep(1)
 
    transport.close()
 
 
if __name__ == "__main__":
    st = work()
 

本文转自 swq499809608 51CTO博客,原文链接:http://blog.51cto.com/swq499809608/1142457
相关实践学习
日志服务之使用Nginx模式采集日志
本文介绍如何通过日志服务控制台创建Nginx模式的Logtail配置快速采集Nginx日志并进行多维度分析。
相关文章
|
监控 数据安全/隐私保护
Squid服务器ACL与日志分析
Squid服务器ACL与日志分析
222 0
Squid服务器ACL与日志分析
|
SQL 监控 HIVE
网站流量日志分析--统计分析--漏斗模型转化分析 &hive 级联求和问题|学习笔记
快速学习网站流量日志分析--统计分析--漏斗模型转化分析 &hive 级联求和问题
260 0
网站流量日志分析--统计分析--漏斗模型转化分析 &hive 级联求和问题|学习笔记
|
SQL 监控 HIVE
网站流量日志分析--统计分析--sql 补充扩展--如何编写 hive sql|学习笔记
快速学习网站流量日志分析--统计分析--sql 补充扩展--如何编写 hive sql
89 0
|
SQL 监控 Linux
网站流量日志分析--统计分析--hive 级联求和问题案例|学习笔记
快速学习网站流量日志分析--统计分析--hive 级联求和问题案例
109 0
网站流量日志分析--统计分析--hive 级联求和问题案例|学习笔记
|
SQL 监控 HIVE
网站流量日志分析—扩展—hive 函数分类(udf、 udtf 、vdaf)|学习笔记
快速学习网站流量日志分析—扩展—hive 函数分类(udf、 udtf 、vdaf)
101 0
网站流量日志分析—扩展—hive 函数分类(udf、 udtf 、vdaf)|学习笔记
|
SQL 监控 HIVE
网站流量日志分析--扩展--hive lateral view 侧视图的使用|学习笔记
快速学习网站流量日志分析--扩展--hive lateral view 侧视图的使用
169 0
网站流量日志分析--扩展--hive lateral view 侧视图的使用|学习笔记
|
Shell 前端开发 JavaScript
|
17天前
|
Java
使用Java代码打印log日志
使用Java代码打印log日志
73 1
|
18天前
|
Linux Shell
Linux手动清理Linux脚本日志定时清理日志和log文件执行表达式
Linux手动清理Linux脚本日志定时清理日志和log文件执行表达式
72 1