首先 cur.execute(“show tables”)或者
cur.execute(“select * from table limit 100”)
这些都能运行成功;
报错时执行的语句中含有count(1),现在需要查明原因?
首先看下具体的报错内容:
Traceback (most recent call last):
File "C:/Users/admin/PycharmProjects/pythonhive/0914xwqy.py", line 7, in <module>
cur.execute("select enttype_cn, count(1) as num from xwqy.onlyxwqy group by enttype_cn")
File "C:\Users\admin\PycharmProjects\pythonhive\venv\lib\site-packages\impala\hiveserver2.py", line 331, in execute
self._wait_to_finish() # make execute synchronous
File "C:\Users\admin\PycharmProjects\pythonhive\venv\lib\site-packages\impala\hiveserver2.py", line 412, in _wait_to_finish
raise OperationalError(resp.errorMessage)
impala.error.OperationalError: Error while processing statement:
FAILED: Execution Error, return code 1 from org.apache.hadoop.hive.ql.exec.mr.MapRedTask. Permission denied: user=admin, access=EXECUTE, inode="/tmp/hadoop-yarn":anonymous:supergroup:drwx-----