首先需要安装以下Python 包:(我用的是Python 2)

在安装Python包之前需要安装一些依赖工具:

Debian/Ubuntu: apt-get install python-dev libsasl2-dev gcc
CentOS/RHEL: yum install gcc-c++ python-devel.x86_64 cyrus-sasl-devel.x86_64 mysql-devel
bitarray-0.8.3.tar.gz
impyla-0.14.0.tar.gz
MySQL-python-1.2.5.zip

新建HiveHelper.py
# -*- coding: utf-8 -*-
from impala.dbapi import connect class HiveHelper(object):
def __init__(self):
self.host = ''
self.port =
self.database = ''
self.user = ''
self.password = ''
self.auth_mechanism = ''
self.connect() def connect(self):
""" connect
Args:
null
Returns:
null
"""
self.conn = connect(
host=self.host,
port=self.port,
database=self.database,
user=self.user,
password=self.password,
auth_mechanism=self.auth_mechanism)
self.cursor = self.conn.cursor() def close(self):
""" close
Args:
null
Returns:
null
"""
self.cursor.close()
self.conn.close() def query(self, sql):
""" query
Args:
sql
Returns:
sql result
"""
result = ()
try:
self.cursor.execute(sql)
result = self.cursor.fetchall()
except Exception as e:
print e.message
return result def execute(self, sql):
try:
self.cursor.execute(sql)
self.conn.commit()
except:
self.conn.rollback()

  

新建HiveSearch.py
#!/usr/bin/python
# -*- coding: utf-8 -*- import os,sys
import re
import json
import math
import time
import operator
import urlparse
import threading
import HiveHelper
import requests
import calendar
import datetime class PcdnSearch:
def __init__(self):
self.sql = HiveHelper.HiveHelper()
self.punch_data = {}
self.flow_data = {} def get_flow_data(self, time, clientid):
sql = "" # print sql
try:
result = self.sql.query(sql)
for item in result:
guid = item[1]
flow = item[3]
band = round(float(flow)*8/1000/1000/3600*1.1, 2)
self.flow_data[guid] = (flow, band)
except Exception, e:
pass def get_punch_data(self, time, clientid):
sql = "" def get_result(self): if __name__ == '__main__':
if len(sys.argv) == 3:
run_time = sys.argv[1]
client_id = int(sys.argv[2])
else:
print 'param error'
exit(0)
cb = PcdnSearch()
cb.get_punch_data(run_time, client_id)
cb.get_flow_data(run_time, client_id)
cb.get_result()

  


python 连接 hive数据库环境搭建的更多相关文章

  1. python 连接 hive

    1.python连接hive,其实是连接hiveserver,连接的包的impyla impyla安装: error: cc1plus 没有文件或目录 需要安装gcc 和g++,并且版本保持一致 er ...

  2. python 连接 hive 的 HiveServer2 的配置坑

    环境: hadoop 2.7.6 hive 2.3.4 Hive 的 thirft 启动: hadoop 单机或者集群需要: 启动 webhdfs 修改 hadoop 的代理用户 <proper ...

  3. Hive 教程(九)-python with hive

    本文介绍用 python 远程连接 hive,此时需要 hive 启动 hiveserver2 服务 windows 下报如下错误 thrift.transport.TTransport.TTrans ...

  4. 在 windows 下搭建 IDEA + Spark 连接 Hive 的环境

    为了开发测试方便,想直接在 IDEA 里运行 Spark 程序,可以连接 Hive,需不是打好包后,放到集群上去运行.主要配置工作如下: 1. 把集群环境中的 hive-core.xml, hdfs- ...

  5. InfluxDB 分布式时间序列数据库环境搭建——据qcon大会2016qiniu说集群很坑且闭源了

    InfluxDB 分布式时间序列数据库环境搭建   1. 环境说明 Ubuntu14.04  + influxDB V0.10.1 搭建3个节点的分布式数据库,副本数量2,各节点之间自动进行数据备份并 ...

  6. 《OD大数据实战》Hive环境搭建

    一.搭建hadoop环境 <OD大数据实战>hadoop伪分布式环境搭建 二.Hive环境搭建 1. 准备安装文件 下载地址: http://archive.cloudera.com/cd ...

  7. Python+Selenium+webdriver环境搭建(windows)以及相关资源下载链接

    今天记录一下测试小菜鸟alter在测试入门的一点关于python+Selenium+webdriver环境搭建的经历以及资源分享.欢迎交流学习,批评指正. 一.Python的下载与安装 1.pytho ...

  8. Python之Django环境搭建(MAC+pycharm+Django++postgreSQL)

    Python之Django环境搭建(MAC+pycharm+Django++postgreSQL) 转载请注明地址:http://www.cnblogs.com/funnyzpc/p/7828614. ...

  9. 【Python实战】使用Python连接Teradata数据库???未完成

    1.安装Python 方法详见:[Python 05]Python开发环境搭建 2.安装Teradata客户端ODBC驱动 安装包地址:TTU下载地址 (1)安装TeraGSS和tdicu(ODBC依 ...

随机推荐

  1. zabbix的简单操作(自动发现)

    zabbix需要监控很多服务器,比如公司进购一批新的服务器,如何自动添加到zabbix服务上 自动发现: zabbix Server主动发现所有客户端,然后将客户端记录下来 自动注册: zabbix ...

  2. 解决Javaweb中HTTP500的问题

    当我们新建一个Web项目后,运行时可能出现HTTP-500的错误如下图所示  一般是由于路径配置出错 即你电脑上的Tomcat版本与代码本身版本不一致或没有配置路径造成的 解决方法如下 一.鼠标右击你 ...

  3. python生成二维码图片

    依赖Pillow库. import qrcode # 简单用法 img = qrcode.make('Hello World!') img.save('qr_code.png') # 高级用法 qr ...

  4. 18.configparser模块

    # 创建配置文件 import configparser config = configparser.ConfigParser() # 相当于config = {} 空字典 config[" ...

  5. IntelliJ IDEA常用快捷键总结

    之前开发项目一直用的是eclipse进行开发,近期在使用IDEA这个工具进行项目开发,之前在eclipse上能使用的快捷键方法放在IDEA上很多都不适用了,因此在此总结一下关于IDEA快捷键的使用方法 ...

  6. CSS 按钮

    总结有关按钮的各种样式 ㈠基本按钮样式 看一下没有进行css样式设计时按钮的样子与进行样式设计的按钮样子 <!DOCTYPE html> <html> <head> ...

  7. PHP基础回顾

    变量:声明变量以$开始,变量名可以用中文但是不要用:不能使用特殊字符,比如@,下划线除外:变量名区分大小写.可变变量 $a = b; $b = c; => $$a = c;  理论上$可以无限使 ...

  8. (转)window.parent和window.opener区别

    下面一段代码是关于window.parent和window.opener区别 来讲的,我们如果要用到iframe的值传到另一框架就要用到window.opener.document.getElemen ...

  9. CGI中使用Cookie

    在 http 协议一个很大的缺点就是不对用户身份的进行判断,这样给编程人员带来很大的不便, 而 cookie 功能的出现弥补了这个不足. cookie 就是在客户访问脚本的同时,通过客户的浏览器,在客 ...

  10. xwiki使用中的问题

    xwiki 内存限制 问题重现: xwiki启动后内存.cpu一直上涨,不回落,启动后服务访问速度越来越慢,最后无法访问 分析: xwiki在启动时会消耗大量内存和cpu,增加tomcat最大内存限制 ...