我得到一个长错误。下面是前几行
TExecuteStatementResp(status = TStatus(statusCode = 3,infoMessages = [“ * org.apache.hive.service.cli.HiveSQLException:编译语句时出错:FAILED:SemanticException 0:0在以下位置创建临时文件夹时出错: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 CREATE TABLE sematicException 0:0
我正在从用户具有写访问权的数据库运行查询。因此,在下面的查询中,用户对write
和db2
具有read
和db1
的{{1}}权限
查询
db3
此外,通过登录到Shell控制台执行查询时,它运行良好。但是,使用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;
从程序运行时,会发生此错误。我正在使用下面的配置来运行查询。使用python-pyhive
和default
引擎,可从shell成功执行查询。仅使用tez
会收到此错误
pyhive
答案 0 :(得分:0)
请检查用户是否有权在该位置创建临时文件夹。