python 连接 hive数据库环境搭建
首先需要安装以下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数据库环境搭建的更多相关文章
- python 连接 hive
1.python连接hive,其实是连接hiveserver,连接的包的impyla impyla安装: error: cc1plus 没有文件或目录 需要安装gcc 和g++,并且版本保持一致 er ...
- python 连接 hive 的 HiveServer2 的配置坑
环境: hadoop 2.7.6 hive 2.3.4 Hive 的 thirft 启动: hadoop 单机或者集群需要: 启动 webhdfs 修改 hadoop 的代理用户 <proper ...
- Hive 教程(九)-python with hive
本文介绍用 python 远程连接 hive,此时需要 hive 启动 hiveserver2 服务 windows 下报如下错误 thrift.transport.TTransport.TTrans ...
- 在 windows 下搭建 IDEA + Spark 连接 Hive 的环境
为了开发测试方便,想直接在 IDEA 里运行 Spark 程序,可以连接 Hive,需不是打好包后,放到集群上去运行.主要配置工作如下: 1. 把集群环境中的 hive-core.xml, hdfs- ...
- InfluxDB 分布式时间序列数据库环境搭建——据qcon大会2016qiniu说集群很坑且闭源了
InfluxDB 分布式时间序列数据库环境搭建 1. 环境说明 Ubuntu14.04 + influxDB V0.10.1 搭建3个节点的分布式数据库,副本数量2,各节点之间自动进行数据备份并 ...
- 《OD大数据实战》Hive环境搭建
一.搭建hadoop环境 <OD大数据实战>hadoop伪分布式环境搭建 二.Hive环境搭建 1. 准备安装文件 下载地址: http://archive.cloudera.com/cd ...
- Python+Selenium+webdriver环境搭建(windows)以及相关资源下载链接
今天记录一下测试小菜鸟alter在测试入门的一点关于python+Selenium+webdriver环境搭建的经历以及资源分享.欢迎交流学习,批评指正. 一.Python的下载与安装 1.pytho ...
- Python之Django环境搭建(MAC+pycharm+Django++postgreSQL)
Python之Django环境搭建(MAC+pycharm+Django++postgreSQL) 转载请注明地址:http://www.cnblogs.com/funnyzpc/p/7828614. ...
- 【Python实战】使用Python连接Teradata数据库???未完成
1.安装Python 方法详见:[Python 05]Python开发环境搭建 2.安装Teradata客户端ODBC驱动 安装包地址:TTU下载地址 (1)安装TeraGSS和tdicu(ODBC依 ...
随机推荐
- supdf
https://github.com/sumatrapdfreader/sumatrapdf/tree/master/src c++ java
- 清北学堂提高组突破营游记day3
讲课人更换成dms. 真的今天快把我们逼疯了.. 今天主攻数据结构, 基本上看完我博客能理解个大概把, 1.LCA 安利之前个人博客链接.之前自己学过QWQ. 2.st表.同上. 3.字符串哈希.同上 ...
- BZOJ3555 [Ctsc2014]企鹅QQ[暴力+字符串hash]
菜到自闭,一道省选小水题都能给我做繁. 要求有一位不同,则对每个串每一位暴力枚举把这一位删掉,放一个分隔符,算一下hash,插表,相似的都应该会被插入同一个桶.最后把hash统计一下即可.复杂度$O( ...
- CH5104 I-country[线性DP+分类讨论]
http://contest-hunter.org:83/contest/0x50%E3%80%8C%E5%8A%A8%E6%80%81%E8%A7%84%E5%88%92%E3%80%8D%E4%B ...
- python基础(while、运算符、编码初始)
------------恢复内容开始------------ <!doctype html> while循环 while循环 循环:不断重复着某件事就是循环 while 关键字 死循环:w ...
- Linux—查看路由
下面那些命令可以用来查看Linux主机的默认路由() A.route B.ifconfig C.ping D.netstat 分析: A.route命令用来显示目前本机路由表的内容,并且还可以针对路由 ...
- Protocol Buffers 开发者指南
欢迎来到 protocol buffers 的开发者指南.protocol buffers 是一个语言中立,平台中立针对通讯协议,数据存储和其他领域中对结构化数据进行序列化的扩展方法. 本文档主要针对 ...
- 快速搭建 Serverless 人脸识别离线服务
简介 首先介绍下在本文出现的几个比较重要的概念: 函数计算(Function Compute):函数计算是一个事件驱动的服务,通过函数计算,用户无需管理服务器等运行情况,只需编写代码并上传.函数计算准 ...
- Struts2笔记(学struts2只需要这一篇文章)
1.如何将struts2框架引入到web项目中 1.把struts2相关jar包引入到项目中 2.把struts2的配置文件直接放到src下面,名字要叫做struts.xml.(运行时配置文 ...
- CodeForces–471D--MUH and Cube Walls(KMP)
Time limit 2000 ms Memory limit 262144 kB Polar bears Menshykov and Uslada from the zoo of ...