本文介绍了蜂巢-选择计数(*)不能与Tez一起使用,但可以与MR一起使用的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我有一个包含木地板数据的Hive外部表.

I have a Hive external table with parquet data.

当我运行select count(*) from table1时,它与Tez一起失败.

When I run select count(*) from table1, it fails with Tez.

但是,当执行引擎更改为MR时,它可以工作.知道为什么Tez失败了吗?我在Tez中遇到以下错误:

But when execution engine is changed to MR it works. Any idea why it's failing with Tez? I'm getting the following error with Tez:

推荐答案

您必须将tez.tar.gz文件放在hdfs上.我认为您可能会错过这一步.

You have to put tez.tar.gz file on hdfs. I think you might be miss this step.

在hdfs上创建一个apps文件夹

make a apps folder on 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的权限

give the permission to that folder and 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

这篇关于蜂巢-选择计数(*)不能与Tez一起使用,但可以与MR一起使用的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持!

06-09 20:34