python操作hive

1 安装依赖包

pip install sasl
pip install thrift
pip install thrift-sasl
pip install PyHive

注意事项:安装sasl可能会安装失败, 这里可以直接到官网下载

2 案例

from pyhive import hive
import pandas as pd

'''
	读取hive表
'''
def select_pyhive(sql):
	# 配置仅显示列名(默认显示 表名.列名)
    hive_config={'hive.resultset.use.unique.column.names': 'false'}
	
    # 创建hive连接
    conn = hive.Connection(host='localhost', 
                           port=10000,  // hiveserver2服务记得开启
                           auth='CUSTOM', // 注意:如果hive jdbc配置密码了 这个参数需要设置
                           username='***', 
                           password='***',
                           configuration = hive_config,
                           database='ads')
    cur = conn.cursor()
    try:
        # c = cur.fetchall()
        df = pd.read_sql(sql, conn)
        return df
    finally:
        if conn:
            conn.close()


if __name__ == '__main__':
	sql='select * from ads_table1 limit 10'
	df = select_pyhive(sql)
	print(df)

3. 遇到的问题及解决方案

注意:TTransportException: Bad status: 3 (b'Error validating the login') 遇到这个报错,就是输入的账号密码报错了(如果不确定hive jdbc账号密码有问题 可以使用dbeaver连接测试一下)

  • 1
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值