令牌TOK_TMP_FILE

时间:2018-12-14 10:43:41

标签: hive

我得到一个长错误。下面是前几行

  

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

我正在从用户具有写访问权的数据库运行查询。因此,在下面的查询中,用户对writedb2具有readdb1的{​​{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-pyhivedefault引擎,可从shell成功执行查询。仅使用tez会收到此错误

pyhive

1 个答案:

答案 0 :(得分:0)

请检查用户是否有权在该位置创建临时文件夹。