Python - 使用 JayDeBeApi 连接到 Hive 时出错
Posted
技术标签:
【中文标题】Python - 使用 JayDeBeApi 连接到 Hive 时出错【英文标题】:Python - Error connecting to Hive using JayDeBeApi 【发布时间】:2017-10-01 23:17:09 【问题描述】:我正在尝试使用 Python 脚本中的 JayDeBeApi 连接 Hortonworks 中的 Hive。我已经安装了 Python 64 位并使用 PyCharm IDE 进行了设置。我也安装了 JayDeBeApi。我收到以下错误,不确定我缺少什么。
C:\Python27\python.exe C:/Projects_Work/primex/tableau/TDEConnect.py
Opening connection.....
Traceback (most recent call last):
File "C:/Projects_Work/primex/tableau/TDEConnect.py", line 47, in <module>
main()
File "C:/Projects_Work/primex/tableau/TDEConnect.py", line 19, in main
with connect() as conn:
File "C:/Projects_Work/primex/tableau/TDEConnect.py", line 30, in __enter__
'user': sslUser, 'password': sslPassword, driverPath, )
File "C:\Python27\lib\site-packages\jaydebeapi\__init__.py", line 381, in connect
jconn = _jdbc_connect(jclassname, url, driver_args, jars, libs)
File "C:\Python27\lib\site-packages\jaydebeapi\__init__.py", line 159, in _jdbc_connect_jpype
import jpype
File "C:\Python27\lib\site-packages\jpype\__init__.py", line 17, in <module>
from ._jpackage import *
File "C:\Python27\lib\site-packages\jpype\_jpackage.py", line 18, in <module>
import _jpype
ImportError: DLL load failed: %1 is not a valid Win32 application.
Process finished with exit code 1
任何输入都会很棒。谢谢。
【问题讨论】:
【参考方案1】:JayDebeApi 包含用于从 Python 运行 Java 类的 JPype。 安装 JayDebeApi 之前是否需要安装 C++ Compiler for Python
窗户
适用于 Python 2.7 的 Visual Studio 2008。见:https://docs.python.org/2.7/using/windows.html#compiling-python-on-windows
适用于 Python 3.4 的 Visual Studio 2010。见:https://docs.python.org/3.4/using/windows.html#compiling-python-on-windows
【讨论】:
【参考方案2】:或者,您可以直接获取 Jpype ***(如果由于身份验证原因您无法安装 C++ 开发套件)
jpype wheel files
【讨论】:
以上是关于Python - 使用 JayDeBeApi 连接到 Hive 时出错的主要内容,如果未能解决你的问题,请参考以下文章
适用于 Netezza 和 MySQL 的 jaydebeapi
使用 python 与 securityMechanism=13 连接 db2