我得到一个很长的错误。下面是前几行
TExecuteStatementResp(status=TStatus(statusCode=3, infoMessages=["*org.apache.hive.service.cli.HiveSQLException:Error while compile statement: FAILED: SemanticException 0:0 Error Creating temporary folder on: maprfs:/user/hive /warehouse/wh_db.db。在令牌 'TOK_TMP_FILE':28:27"、'org.apache.hive.service.cli.operation.Operation:toSQLException:Operation.java:388'、'org.apache.hive'附近遇到错误.service.cli.operation.SQLOperation:prepare:SQLOperation.java:193','org.apache.hive.service.cli.operation.SQLOperation:runInternal:SQLOperation.java:276',`
根据这个线程,基于选择查询创建表时的错误是因为用户没有对用户连接的数据库的写权限。 HIVE 创建表 sematicException 0:0
我正在从用户具有写访问权限的数据库运行我的查询。所以在下面的查询中,用户有write
权限db2
和read
权限db1
db3
询问
use db2;
CREATE TABLE tbl123 AS
SELECT FROM db1.tbl1 t1
INNER JOIN tbl2 t2 ON t1.key = t2.key
INNER JOIN db3.tbl3 t3 ON t1.key2 = t3.key;
此外,当通过登录到 shell 控制台执行查询时,它运行良好。但是,当从使用 的程序运行时python-pyhive
,会发生此错误。我正在使用以下配置来运行查询。使用default
和tez
引擎,查询从 shell 成功执行。只有使用pyhive
我得到这个错误
set hive.execution.engine=tez
set hive.vectorized.execution.enabled = true
set hive.vectorized.execution.reduce.enabled = true