如何在 Impyla 连接中提供用户名和密码

Posted

技术标签:

【中文标题】如何在 Impyla 连接中提供用户名和密码【英文标题】:How to provide user and password in Impyla connection 【发布时间】: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>

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

【问题讨论】:

【参考方案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... :( 谢谢!!

以上是关于如何在 Impyla 连接中提供用户名和密码的主要内容,如果未能解决你的问题,请参考以下文章

如何使用Python Impyla客户端连接Hive和Impala

如何在ConnectionString中加密sql用户名和密码? [关闭]

在 Kafka Connect 中使用文件屏蔽密码,如何提供文件路径?

Visual Studio 2013和Oracle 11g表达:如何连接?

宽带连接显示 已拒绝远程连接,因为未识别出你提供的用户名和密

如何使用用户名和密码登录?