之前写过py访问oracle的代码,这次在之前的基础上加工而成,把过程记录下来,方便日后查阅!
def pyVisitHive(params ,sql_text):
from pyhive import hive
import pandas as pd
conn=hive.Connection(host = params.get('ip'),
port = params.get('port'),
username = params.get('username'),
database = params.get('database'),
auth = params.get('auth'),
password = params.get('password'))
cursor=conn.cursor()
cursor.execute(sql_text)
#data=pd.DataFrame(cursor.fetchall())
# 读取字段列名
index = cursor.description
row = list()
for i in range(len(index)):
row.append(index[i][0])
#获取返回信息
data = cursor.fetchall()
result = pd.DataFrame(list(data), columns = row)
#关闭连接,释放资源
cursor.close()
conn.close()
if __name__=="__main__":
import pandas as pd
import numpy as np
params = {'ip' : 'IP地址',
'port': '端口' ,
'username':'用户名',
'database':'数据库名',
'password':'密码',
'auth':'CUSTOM'}
sql_text :'select * from 表名'
data_df = pyVisitHive(params , sql_text)