zoukankan      html  css  js  c++  java
  • python2和python3使用pyhive

    ModuleNotFoundError: No module named 'cloudera'

    背景:
    python3使用pyhs2连接hiveserver2

    解决方法:

    1、使用python2
    2、python3 环境使用pyhive

    1、python3 使用pyhive

    sudo yum install cyrus-sasl-devel -y
    sudo yum install gcc-c++  -y
    pip3 install sasl
    pip3 install thrift
    pip3 install thrift-sasl
    pip3 install pyhive
    

    2、连接hive查询数据

    # -*- coding: utf-8 -*-
    from pyhive import hive
    
    conn = hive.Connection(host='192.168.1.72', port=10000, username='root', database='testdalu',auth="CUSTOM")#host主机ip,port:端口号,username:用户名,database:使用的数据库名称,auth:使用账户密码连接。
    cursor=conn.cursor()
    cursor.execute('select * from t_t1')#执行查询
    for result in cursor.fetchall():
         print(result)                      #将查询结果打印出来
    conn.close()
    

    3、问题记录

    3.1、Password should be set if and only if in LDAP or CUSTOM mode;

    配置auth="CUSTOM"
    

    3.2、thrift.transport.TTransport.TTransportException: Could not start SASL: Error in sasl_client_start (-4) SASL(-4): no mechanism available: No worthy mechs found

    解决办法:

    yum install cyrus-sasl-plain  cyrus-sasl-devel  cyrus-sasl-gssapi -y
    

    3.3、ImportError: cannot import name TFrozenDict

    python2 使用pyhive

    yum install -y gcc libffi-devel python-devel openssl-devel gcc-c++ cyrus-sasl-plain  cyrus-sasl-devel  cyrus-sasl-gssapi
    
    pip install pyhive[hive]
    

    注意这里要加上[hive]后缀,否则有些关联的包装不上,会导致报错,我就遇到如下报错信息:

    ImportError: cannot import name TFrozenDict 错误

  • 相关阅读:
    前端开发者应该知道的 CSS 小技巧
    css3制作六边形图片
    css3 绘制优惠券
    flex css 布局
    js 微信分享
    JS判断移动设备最佳方法 并实现跳转至手机版网页
    ajax 提交成功页面跳转问题
    css相关tips
    无阻塞加载和defer、async
    常用排序算法
  • 原文地址:https://www.cnblogs.com/stone1989/p/12698389.html
Copyright © 2011-2022 走看看