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

  • 相关阅读:
    [Linux] day04——Linux 入门
    react 资源汇总
    画原型图工具
    Atom 插件安装
    react 编写组件 五
    webstom 配置git 后左侧菜单栏配色调整
    Webstorm 不识别es6 import React from ‘react’——webstorm不支持jsx语法怎么办
    Es6 之for of
    一个react的完整项目展示
    前后端分离 接口管理神器——Rap本地搭建
  • 原文地址:https://www.cnblogs.com/stone1989/p/12698389.html
Copyright © 2011-2022 走看看