hive 运行impala-shell从木星笔记本

jmp7cifd  于 2023-10-18  发布在  Hive
关注(0)|答案(1)|浏览(140)

我正在尝试运行impala从jupyter-notebook如下--

from impala.dbapi import connect
conn = connect(host='xx-xx-xx.xx.com', 
               port=21000,
               auth_mechanism="PLAIN",
               user='xxxx',
               password='xxxx',
              )
cursor = conn.cursor()

但我得到了这个错误

TTransportException                       Traceback (most recent call last)
<ipython-input-28-6c858acffc1b> in <module>
.
.
TTransportException: Bad status: 3 (b'Unsupported mechanism type PLAIN')

在尝试了许多不起作用的东西后,我想运行impala命令作为python subprocess.run,但我没有得到输出(返回代码1)--

r = subprocess.run(['impala-shell', '-q', "select xxx...xxx"],
                  stdout=subprocess.PIPE)
print(r.stdout.decode()) # returncode=1

另外,jupyter中的!impala-shell给出了此错误

File "/opt/xxxx/xxxx/xxxx/impala-shell/impala_shell.py", line 262
    print "Query options (defaults shown in []):"
                                                ^
SyntaxError: invalid syntax

谁能告诉我这个问题,并指导我如何解决这个问题?

fykwrbwg

fykwrbwg1#

这是因为Python版本。
Impala与python 2.7.5版本兼容,你很可能会使用python 3或更高版本。
为了解决这个问题

  • 要么你可以降级你的python,
  • 或者可以使用Python 2创建一个虚拟环境,并从该虚拟环境中运行impala。

要创建虚拟环境,请执行以下步骤:

virtualenv venv -p python2
cd venv
source bin/activate
(venv) impala-shell

相关问题