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 错误

  • 相关阅读:
    UESTC_王之迷宫 2015 UESTC Training for Search Algorithm & String<Problem A>
    UESTC_The Most Wonderful Competition CDOJ 56
    UESTC_神秘绑架案 CDOJ 881
    MFC 自定义消息的一般过程
    MFC 如何添加自定义消息
    MFC子窗口向父窗口发送消息
    MFC子窗口和父窗口
    单链表
    C++ STL基本容器的使用
    C++ Primer 3rd 读书笔记
  • 原文地址:https://www.cnblogs.com/stone1989/p/12698389.html
Copyright © 2011-2022 走看看