Alb*_*rto 1 sql hadoop hive python-3.x
我需要连接到需要使用用户/密码进行身份验证的 hadoop (apache hive) 数据库。我通常使用 DBeaver(安装了 JDBC 驱动程序)访问它,但现在我需要使用 Python 3.7(不是 Python 2.x)中的脚本使用简单查询来检索数据。我尝试了几种方法都没有成功。有人有有效的解决方案吗?
我试过 pyhive、presto、pyhs2、impala、ibis
您可以按照以下步骤在 Windows 机器上通过 ODBC 驱动程序从 python 连接配置单元,
- 安装 Hive 所需的驱动程序。如果您使用 Cloudera/Hortonworks,您可以在他们的网站上找到相应的驱动程序。
- 安装完成后,从启动菜单或控制面板转到64 位 ODBC 管理器。
- 填写所需的服务器详细信息以及连接用户 ID 和密码。下面是相同的屏幕截图。
- 完成后,单击“测试”按钮检查测试连接,并检查它是否成功。
- 您可以在从 python 连接 hive 时使用相同的 DSN,下面是相同的代码片段。
import pyodbc
import pandas as pd
with pyodbc.connect("DSN=<replace DSN name>", autocommit=True) as conn:
df = pd.read_sql("<Hive Query>", conn)
Run Code Online (Sandbox Code Playgroud)