3

我有一个带有镶木地板数据的 Hive 外部表。

当我跑步select count(*) from table1时,Tez 失败了。

但是当执行引擎更改为 MR 时,它可以工作。知道为什么 Tez 会失败吗?Tez 出现以下错误:

错误:org.apache.hive.service.cli.HiveSQLException:处理语句时出错:FAILED:执行错误,从 org.apache.hive 的 org.apache.hadoop.hive.ql.exec.tez.TezTask 返回代码 1。 service.cli.operation.Operation.toSQLException(Operation.java:380) 在 org.apache.hive.service.cli.operation.SQLOperation.runQuery(SQLOperation.java:257) 在 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 ) 在 org.apache.hive.service.cli.operation 的 org.apache.hadoop.security.UserGroupInformation.doAs(UserGroupInformation.java:1698) 的 javax.security.auth.Subject.doAs(Subject.java:422)。SQLOperation$BackgroundWork.run(SQLOperation.java:362) 在 java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:511) 在 java.util.concurrent.FutureTask.run(FutureTask.java:266) 在 java .util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149) 在 java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624) 在 java.lang.Thread.run(Thread.java:748) (状态=08S01,代码=1)624)在java.lang.Thread.run(Thread.java:748)(状态=08S01,代码=1)624)在java.lang.Thread.run(Thread.java:748)(状态=08S01,代码=1)

4

1 回答 1

0

你必须把tez.tar.gz文件放在hdfs上。我想你可能会错过这一步。

apps在hdfs上创建一个文件夹

hdfs dfs -mkdir -p /hadoop/apps/tez/

tez.tar.gz文件

hdfs dfs -put /usr/hadoop/tez/lib/tez.tar.gz /hadoop/apps/tez/

授予该文件夹和 tar 的权限

hdfs dfs -chown -R $HDFS_USER:$HADOOP_USER /hadoop
hdfs dfs -chmod -R 555 /hadoop/apps/tez
hdfs dfs -chmod -R 444 /hadoop/apps/tez/tez.tar.gz
于 2018-03-27T05:59:38.970 回答