0

使用 Python 的 impala.dbapi 连接时出现,每次执行只能运行一个命令。我正在使用 Python 2.7。

我想创建两个公用表表达式然后加入它们,但我无法让它工作。

如果我使用 Impala 在 HUE 中运行 SQL,它会失败,因为每次执行只能运行一个命令。

如果我在 python 中的两个单独执行中创建公用表表达式并尝试在第三次执行中加入两个 CTE,我得到错误无法解析“cte ...”,第一次执行后 CTE 似乎没有留在内存中是完全的。解决方法是在 Impala 中创建临时表,而不是使用 CTE。最终我将使用 Spark 数据帧并加入这些数据帧,但权限问题是阻止 Spark API 在不久的将来从 Impala 表中读取。

4

1 回答 1

0

根据我进行的测试,使用 impala.dbapi 的 Python 2.7 似乎无法使用公用表表达式。这是因为 CTE 不会与后续的 cursor.execute 命令一起留在内存中,并且在一个 cursor.execute 实例中运行两个 SQL 命令会返回错误。

于 2017-12-17T03:22:57.327 回答