python连接数据库(Redis、Hive、MySQL、HDF5)

1. 连接Redis

import sys
reload(sys)
sys.setdefaultencoding('utf-8')
 
import redis
 
redis_pool = redis.ConnectionPool(host='10.94.220.22', port=6379)
redis_cursor = redis.Redis(connection_pool=redis_pool)
pipe = redis_cursor.pipeline(transaction=True)
 
flag = 'day_' + date
# 存数据
redis_cursor.set(flag, 'OK')
pipe.execute()
print("write to redis done")
 
# 取数据
myflag = cursor.get(flag)
result = cursor.hget(uid, "familiar_route")

2. 连接Hive

PyHive是Python语言编写的用于操作Hive的简便工具库。

2.1  数据查询

from pyhive import hive

conn = hive.Connection(host='localhost', port=10000,
    auth='NOSASL', database='db_name',
    username='zz', password='hive')
cursor = conn.cursor()
print('*' * 20, 'hive已连接')
cursor.execute('select * from XX limit 10')
for result in cursor.fetchall():
    print(result)

# conn.commit()
cursor.close()
conn.close()
print('*' * 20, 'hive连接已关闭')

1.fetchall() 一次读取所有数据,返回一个list对象,并且list里每个元素都是一个tuple对象。

2. fetchone()  一次读取一行数据

3.fetchmany(size=n) 一次读取n行数据

备注:PyHive是通过与HiveServer2通讯来进行Hive数据的操作的。类似Beeline原理(使用的是Hive JDBC),所以当PyHive出现连接有问题时,

你可能感兴趣的:(python,python,hive)