首页 文章 精选 留言 我的

精选列表

搜索[批量删除],共10015篇文章
优秀的个人博客,低调大师

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

优秀的个人博客,低调大师

PHP执行批量mysql语句

当有多条mysql语句连起来需要执行,比如 $sqls= “insert table a values(1,2); insert table a values(2,3);” 需要执行的话php中可以使用的方法有三个: mysql_query pdo mysqli 三种方法当sqls语句没有问题的时候都是可以的。 但是 当sql语句是错误的时候会出现问题 第一条sql错误:三个方法都返回false 第一条sql正确,第二条sql错误:mysql_query、pdo、 mysqli:query也是返回true。所以这个时候你是没法判断你的sqls是否有那条语句是错误的。 解决这种办法有几个招: 1 解析sql语句 将每条sql都拆分开来执行。这样每个语句分开执行就解决了。但是这种方法多出了好几种方法,所以不可取。 2 将sqls语句保存为文本 使用cmd执行命令 mysql…. .< sqls.sql, 然后捕获输出。这也是一种方法,但是感觉是绕着问题走,应该还有更好的方法。 3 使用mysqli::multi_query方法 这个方法可以执行多条sql语句,然后使用mysqli::next_result来设置sql的偏移量,使用mysqli::error获取当前偏移的sql的错误状态 下面是第三种方法的示例代码 代码如下: 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 $sql = Config::get( 'sql' ); $content = file_get_contents ( $sql ); $config = Config::get( 'config' ) $mysqli = mysqli_connect( $config [ 'host' ], $config [ 'user' ], $config [ 'password' ], $config [ 'dbname' ]); $ret = $mysqli ->multi_query( $content ); if ( $ret === false) { echo mysqli_error( $mysqli ); } while (mysqli_more_results( $mysqli )) { if (mysqli_next_result( $mysqli ) === false) { echo mysqli_error( $mysqli ); echo "\r\n" ; break ; } } $mysqli ->close(); 这样的话当sqls语句中任意一条有错误的话,程序就会跳出这个错误。 如果你要编写初始化mysql的脚本的话,这招就非常好用了。 本文转自轩脉刃博客园博客,原文链接:http://www.cnblogs.com/yjf512/archive/2012/11/06/2757052.html,如需转载请自行联系原作者

资源下载

更多资源
Nacos

Nacos

Nacos /nɑ:kəʊs/ 是 Dynamic Naming and Configuration Service 的首字母简称,一个易于构建 AI Agent 应用的动态服务发现、配置管理和AI智能体管理平台。Nacos 致力于帮助您发现、配置和管理微服务及AI智能体应用。Nacos 提供了一组简单易用的特性集,帮助您快速实现动态服务发现、服务配置、服务元数据、流量管理。Nacos 帮助您更敏捷和容易地构建、交付和管理微服务平台。

Spring

Spring

Spring框架(Spring Framework)是由Rod Johnson于2002年提出的开源Java企业级应用框架,旨在通过使用JavaBean替代传统EJB实现方式降低企业级编程开发的复杂性。该框架基于简单性、可测试性和松耦合性设计理念,提供核心容器、应用上下文、数据访问集成等模块,支持整合Hibernate、Struts等第三方框架,其适用范围不仅限于服务器端开发,绝大多数Java应用均可从中受益。

Rocky Linux

Rocky Linux

Rocky Linux(中文名:洛基)是由Gregory Kurtzer于2020年12月发起的企业级Linux发行版,作为CentOS稳定版停止维护后与RHEL(Red Hat Enterprise Linux)完全兼容的开源替代方案,由社区拥有并管理,支持x86_64、aarch64等架构。其通过重新编译RHEL源代码提供长期稳定性,采用模块化包装和SELinux安全架构,默认包含GNOME桌面环境及XFS文件系统,支持十年生命周期更新。

WebStorm

WebStorm

WebStorm 是jetbrains公司旗下一款JavaScript 开发工具。目前已经被广大中国JS开发者誉为“Web前端开发神器”、“最强大的HTML5编辑器”、“最智能的JavaScript IDE”等。与IntelliJ IDEA同源,继承了IntelliJ IDEA强大的JS部分的功能。

用户登录
用户注册