从Beeline连接时,Hive查询在Tez上失败,但在Map-Reduce上成功

我遇到一个奇怪的错误。我正在运行带有where子句的简单select *查询,以下是查询执行状态的摘要

  1. 从EMR(Tez引擎)连接到Hive-成功
  2. 从EMR(MR引擎)连接到Hive-成功
  3. 从Beeline(Tez引擎)连接到Hive-失败
  4. 从Beeline(MR引擎)连接到Hive-成功

我需要解决第3点。 这是我得到的错误跟踪,无法找到此失败的根本原因以及此错误日志试图传达的内容。

    at org.apache.hive.service.cli.operation.Operation.toSQLException(Operation.java:380)
    at org.apache.hive.service.cli.operation.SQLOperation.runQuery(SQLOperation.java:257)
    at org.apache.hive.service.cli.operation.SQLOperation.access$800(SQLOperation.java:91)
    at org.apache.hive.service.cli.operation.SQLOperation$BackgroundWork$1.run(SQLOperation.java:348)
    at java.security.accessController.doPrivileged(Native Method)
    at javax.security.auth.Subject.doAs(Subject.java:422)
    at org.apache.hadoop.security.UserGroupInformation.doAs(UserGroupInformation.java:1840)
    at org.apache.hive.service.cli.operation.SQLOperation$BackgroundWork.run(SQLOperation.java:362)
    at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:511)
    at java.util.concurrent.Futuretask.run(Futuretask.java:266)
    at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149)
    at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624)
    at java.lang.Thread.run(Thread.java:748)' SQL<select `ID`,`ISDELETED`,`accOUNTID`,`CREATEDBYID`,`CREATEDDATE`,`FIELD`,`OLDVALUE`,`NEWVALUE`,`AUDIT_UPD_TS`,`SRC_OP_TYP`,`GG_INGEST_TS` from `t4i_ent_sfdc_b2b_psa`.`sf_accounthistory` x WHERE SRC_OP_TYP='NA'>```
fybbbg 回答:从Beeline连接时,Hive查询在Tez上失败,但在Map-Reduce上成功

我能够解决这个问题。问题是我没有通过指定用户就通过JDBC将应用程序连接到Hive。对于需要简单数据流的查询,它是成功的,但是在触发Map-Reduce作业以写入HDFS的情况下,写入操作失败,并显示错误

Failed to execute tez graph.
    org.apache.hadoop.security.AccessControlException: Permission denied: user=anonymous,access=WRITE,inode="/user":hdfs:hadoop:drwxr-xr-x

要解决此问题,我添加了user = hadoop;在JDBC URL中,查询现在可以正常运行。

,

尝试如下调用beelineTez engine),然后运行查询:

beeline -u "jdbc:hive2://<host>:<port>,/;serviceDiscoveryMode=zooKeeper;zooKeeperNamespace=hiveserver2-batch?tez.queue.name=<yarn-queue-name>"

如果上述方法不起作用,请尝试修复SQL中的任何问题。我在您的SQL查询的Where子句前看到“ x”,这可能是问题所在。尝试删除它并运行查询。

`sf_accounthistory` x WHERE SRC_OP_TYP='NA'

希望这很有帮助

本文链接:https://www.f2er.com/3139705.html

大家都在问