首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >当使用impyla执行时,如何在hive查询中传递参数?

当使用impyla执行时,如何在hive查询中传递参数?
EN

Stack Overflow用户
提问于 2018-05-24 19:15:13
回答 1查看 1.7K关注 0票数 2

我指的是How to use variables in SQL statement in Python?

但得不到答案。

我正在尝试你建议的方法,但我得到了这个错误- :(

代码语言:javascript
复制
tbl_nm = 'EMPLOYEE_TABLE'

con.execute('select max(emp_id) from schema.?', tbl_nm)

获取以下错误:

代码语言:javascript
复制
Traceback (most recent call last): File "", line 1, in File "/usr/local/lib/python2.7/site-packages/impala/hiveserver2.py", line 302,

in execute configuration=configuration) File "/usr/local/lib/python2.7/site-packages/impala/hiveserver2.py", line 343,

in execute_async self._execute_async(op) File "/usr/local/lib/python2.7/site-packages/impala/hiveserver2.py", line 362,

in _execute_async operation_fn() File "/usr/local/lib/python2.7/site-packages/impala/hiveserver2.py", line 334,

in op parameters) File "/usr/local/lib/python2.7/site-packages/impala/interface.py", line 267,

in _bind_parameters

raise ProgrammingError("Query parameters argument should be a "
impala.error.ProgrammingError: Query parameters argument should be a list, tuple, or dict object

>
EN

回答 1

Stack Overflow用户

发布于 2018-05-24 20:42:34

建议您将查询作为字符串存储到变量中,并将其传递给execute方法,而不是直接将原始配置单元查询传递给execute方法。

在您的案例中:

代码语言:javascript
复制
tbl_nm = 'EMPLOYEE_TABLE'
query = "select max(emp_id) from schema.{}".format(tbl_nm)
con.execute(query)

如果这有帮助,请告诉我。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/50507947

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档