【问题标题】:How to provide user and password in Impyla connection如何在 Impyla 连接中提供用户名和密码
【发布时间】:2015-12-10 07:01:33
【问题描述】:

我正在尝试从 python 连接到 impala,并为此目的使用 Impyla 模块。下面是sn-p用来连接的代码。

connect(host='<impala_host>', port=21050)

当我尝试执行任何查询时,由于授权异常而失败。确切的例外是,

impala.error.HiveServer2Error: AuthorizationException: User '<user>' does not have privileges to execute 'SELECT' on: <table>

如何为连接方法提供用户名和密码?

【问题讨论】:

    标签: python-2.7 python-module


    【解决方案1】:

    用户名可以在游标参数中定义,例如

    conn = connect(host='myhost');
    cursor = conn.cursor(user='myuser')
    cursor.execute('select user();')
    

    【讨论】:

      【解决方案2】:

      我有同样的问题。通过添加 use_ssl 解决它:

      connect(host='my.impala.host', port=21050, user='myuser', password='mypassword', use_ssl=True)
      

      【讨论】:

        【解决方案3】:

        查看代码,userpassword 参数似乎默认设置为 None。您应该可以使用以下方式自己设置它们:

        connect(host='my.impala.host', port=21050, user='myuser', password='mypassword')
        

        您可以在此处查看文档https://github.com/cloudera/impyla/blob/master/impala/dbapi.py

        【讨论】:

        • 我有同样的问题,但user='myuser', password='mypassword' 没有帮助。我正在尝试在 Windows 上连接,impyla 连接到我的 Windows 帐户(操作系统用户名)。你有什么建议吗? (我必须使用 Windows... :( 谢谢!!
        猜你喜欢
        • 1970-01-01
        • 2019-12-18
        • 1970-01-01
        • 1970-01-01
        • 2015-04-24
        • 1970-01-01
        • 2015-06-12
        • 2013-01-04
        • 2019-07-28
        相关资源
        最近更新 更多