簡體   English   中英

蜂巢-選擇計數(*)不適用於Tez,但適用於MR

[英]Hive - Select count(*) not working with Tez with but works with MR

我有一個帶有木地板數據的Hive外部表。

當我select count(*) from table1運行select count(*) from table1 ,它出現Tez失敗。

但是,當執行引擎更改為MR時,它將起作用。 知道為什么Tez失敗了嗎? 我在Tez中遇到以下錯誤:

錯誤:org.apache.hive.service.cli.HiveSQLException:處理語句時出錯:失敗:執行錯誤,從org.apache.hive的org.apache.hadoop.hive.ql.exec.tez.TezTask返回代碼1。 org.apache.hive.service.cli.operation.SQLOperation.runQuery(SQLOperation.java:257)處的service.cli.operation.Operation.toSQLException(Operation.java:380)在org.apache.hive.service.cli中。 org.apache.hive.service.cli.operation.SQLOperation $ BackgroundWork $ 1.run(SQLOperation.java:348)處的operation.SQLOperation.access $ 800(SQLOperation.java:91)在java.security.AccessController.doPrivileged(本機方法) ),位於org.apache.hive.service.cli.operation的org.apache.hadoop.security.UserGroupInformation.doAs(UserGroupInformation.java:1698)的javax.security.auth.Subject.doAs(Subject.java:422)處。 Java上的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.ThreadPool Executor.runWorker(ThreadPoolExecutor.java:1149)at java.util.concurrent.ThreadPoolExecutor $ Worker.run(ThreadPoolExecutor.java:624)at java.lang.Thread.run(Thread.java:748)(狀態= 08S01,代碼= 1)

您必須將tez.tar.gz文件放在hdfs上。 我認為您可能會錯過這一步。

在hdfs上創建一個apps文件夾

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

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM