DBeaver一样的配置,host代表ip端口默认是10000,然后数据库名,用户名,密码等,一样通过ssh链接,一样需要配置好这个跳板机服务器的ip,port,用户名,密码。链接超时的话代表服务器响应过慢,把链接时间扩大添加个0即可,所以的客户端都是通用的原理。
安装依赖包:其中sasl安装可能会报错,可以去https://www.lfd.uci.edu/~gohlke/pythonlibs/#sasl下载对应版本安装。
下载下来后可以直接本地安装
Python操作Hive的两种方法总结_Clany的博客-程序员宅基地
技术标签: Hive Linux
方法一:使用PyHive库
安装依赖包:其中sasl安装可能会报错,可以去https://www.lfd.uci.edu/~gohlke/pythonlibs/#sasl下载对应版本安装。
pip install sasl
pip install thrift
pip install thrift-sasl
pip install PyHive
Python脚本代码操作:
from pyhive import hive # or import hive
conn = hive.Connection(host='****', port=****, username='****', database='****')
cursor.execute(''SELECT * FROM my_awesome_data LIMIT 10'')
for i in range(****):
sql = "INSERT INTO **** VALUES ({},'username{}')".format(value, str(username))
cursor.execute(sql)
def getData():
conn = hive.Connection(host="1.0.1.38", auth="CUSTOM", username='hive', password="pvXxHTsdqrt8", port=10000, database='tapro_atg')
df = pd.read_sql("select * from sales_data_leisure_view", conn)
records = df.head(n=100000)
print(records.to_json(orient='records'))
getData();
#下面是官网代码:
from pyhive import presto # or import hive
cursor = presto.connect('localhost').cursor()
cursor.execute('SELECT * FROM my_awesome_data LIMIT 10')
print(cursor.fetchone())
print(cursor.fetchall())
方法二:使用 impyla库
impyla依赖包:
pip install six
pip install bit_array
pip install thriftpy
为了支持Hive还需要以下两个包:
pip install sasl
pip install thrift_sasl
可在Python PyPI中下载impyla及其依赖包的源码
Python脚本代码:
from impala.dbapi import connect
conn = connect(host ='****',port = ****)
cursor = conn.cursor()
cursor.execute('SELECT * FROM mytable LIMIT 100')
print cursor.description # 打印结果集的schema
results = cursor.fetchall()