Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/hadoop/6.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 2.7 使用ODBC使用远程执行的Python代码运行impala查询_Python 2.7_Hadoop_Odbc_Cloudera_Impala - Fatal编程技术网

Python 2.7 使用ODBC使用远程执行的Python代码运行impala查询

Python 2.7 使用ODBC使用远程执行的Python代码运行impala查询,python-2.7,hadoop,odbc,cloudera,impala,Python 2.7,Hadoop,Odbc,Cloudera,Impala,我目前一直在尝试设置Python代码,以便能够对远程impala服务器执行impala查询 在我的本地Windows上,我正在使用一个ODBC驱动程序,该驱动程序已经设置好,可以成功地用于在Tableau中使用Impala检索数据。 我们使用的Hadoop环境是Kerberised的。 要使用ODBC administrator成功进行连接测试,我们需要SASL和可信的.pem证书 我已经尝试使用多个库进行连接,但我不确定如何设置连接属性以及需要哪些属性 我试着跟着开始 我通过设置以下内容来试验

我目前一直在尝试设置Python代码,以便能够对远程impala服务器执行impala查询

在我的本地Windows上,我正在使用一个ODBC驱动程序,该驱动程序已经设置好,可以成功地用于在Tableau中使用Impala检索数据。 我们使用的Hadoop环境是Kerberised的。 要使用ODBC administrator成功进行连接测试,我们需要SASL和可信的.pem证书

我已经尝试使用多个库进行连接,但我不确定如何设置连接属性以及需要哪些属性

我试着跟着开始

我通过设置以下内容来试验
pyodbc

驱动程序、主机、端口、数据库、AuthMech=3、UseSASL=1、UID、PWD、SSL=1

在我的连接字符串中,但我总是以:

错误:('HY000','[HY000][Cloudera][ImpalaODBC](100)错误 来自黑斑羚节俭API:没有更多数据可读取。(100) (SQLDriverConnect);[HY000][Cloudera][ImpalaODBC](100)来自的错误 黑斑羚节俭API:无需读取更多数据。(100)

我不确定应该如何设置证书,这样可能会导致此错误。 我还研究了
impyla
,但我也不确定如何在那里设置连接参数


有人能解释一下如何从本地windows用户向kerberised Impala服务器运行查询吗?需要设置哪些参数以及它们期望的值是什么?欢迎使用代码示例。我不在乎使用哪个库,尽管我似乎无法安装
thrift sasl
。请询问任何所需的附加信息,我将更新我的问题。

因此,显然我可以从以前配置的ODBC驱动程序/连接中获益。 通过提供我在ODBC管理员工具中找到的DSN,我可以解决我的问题。我最终使用了pyodbc

import pyodbc

cfg = {'username':'...', ...}
connString = '''DSN={3};UID={0};PWD={1};Database={2}'''.format(cfg['username'],cfg['password'],cfg['database'],cfg['dsn'])
pyodbc.autocommit = True
conn = pyodbc.connect(connString, autocommit = True)
cursor = conn.cursor()