在令牌 TOK_TMP_FILE 附近遇到 Hive 查询错误

Posted

技术标签:

【中文标题】在令牌 TOK_TMP_FILE 附近遇到 Hive 查询错误【英文标题】:Hive query error encountered near token TOK_TMP_FILE 【发布时间】:2018-12-14 10:43:40 【问题描述】:

我收到一个很长的错误。下面是前几行

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 CREATE TABLE sematicException 0:0

我正在从用户具有写入权限的数据库运行我的查询。所以在下面的查询中,用户拥有writedb2 的权限和readdb1db3 的权限

查询

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 的程序运行时,会发生此错误。我正在使用下面的配置来运行查询。使用defaulttez 引擎,查询从shell 成功执行。仅使用 pyhive 我收到此错误

set hive.execution.engine=tez
set hive.vectorized.execution.enabled = true
set hive.vectorized.execution.reduce.enabled = true

【问题讨论】:

【参考方案1】:

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

【讨论】:

以上是关于在令牌 TOK_TMP_FILE 附近遇到 Hive 查询错误的主要内容,如果未能解决你的问题,请参考以下文章

HIV组件

与真实设备的附近交互问题

HIV T2

抗逆转录病毒药物_HIV和HBV共同患者_生命危险

通过 npm 安装 firebase 时遇到错误 |在 [关闭] 附近解析时 JSON 输入意外结束

太奇妙!免疫系统无视HIV病毒,反而能救命?