当使用python的impala.dbapi connect时,每次执行只能运行一个命令。我使用的是python2.7。
我想创建两个常用的表表达式,然后将它们连接起来,但我无法让它工作。
如果我像在hue中使用impala那样运行sql,它就会失败,因为每次执行只能运行一个命令。
如果我在python中的两个单独的执行中创建公共表表达式,并尝试在第三个执行中连接两个cte,那么我得到的错误是无法解析“cte…”在第一个执行完成后,cte似乎不会留在内存中。解决方法是在impala中创建临时表,而不是使用cte。最终,我将使用sparkDataframe并连接这些Dataframe,但在不久的将来,一个权限问题将阻止sparkapi从impala表中读取数据。
1条答案
按热度按时间k97glaaz1#
根据我所做的测试,在使用impala.dbapi的Python2.7中使用公共表表达式似乎是不可能的。这是因为cte不会与后续的cursor.execute命令一起留在内存中,并且在一个cursor.execute示例中运行两个sql命令会返回一个错误。