Hive 无法在cloudera的配置单元中创建存储桶

Hive 无法在cloudera的配置单元中创建存储桶,hive,bigdata,cloudera,bucket,Hive,Bigdata,Cloudera,Bucket,我试图在Cloudera的蜂巢中创建一个带扣的桌子。但是,创建的普通表没有任何存储桶 首先,我使用Hive CLI使用命名标记创建了一个普通表 CREATE TABLE marks_temp( id INT, Name string, mark int ) ROW FORMAT DELIMITED FIELDS TERMINATED BY ','; 我已将以下数据从文本文件“Desktop/data/littlebigdata.txt”加载到marks_temp表中 101,Firdaus,

我试图在Cloudera的蜂巢中创建一个带扣的桌子。但是,创建的普通表没有任何存储桶

首先,我使用Hive CLI使用命名标记创建了一个普通表

CREATE  TABLE marks_temp(
id INT,
Name string,
mark int
)
ROW FORMAT DELIMITED
FIELDS TERMINATED BY ',';
我已将以下数据从文本文件“Desktop/data/littlebigdata.txt”加载到marks_temp表中

101,Firdaus,88
102,Pranav,78
103,Rahul,65
104,Sanjoy,65
105,Firdaus,88
106,Pranav,78
107,Rahul,65
108,Sanjoy,65
109,Amar,54
110,Sahil,34
111,Rahul,45
112,Rajnish,67
113,Ranjeet,56
114,Sanjoy,34 
我已经用下面的命令加载了上面的数据

LOAD DATA LOCAL INPATH 'Desktop/Data/littlebigdata.txt'
INTO TABLE  marks_temp;
成功加载数据后,我将创建一个名为marks_temp的带扣表

CREATE TABLE marks_bucketed(
id INT,
Name string,
mark int
)
CLUSTERED BY (id) INTO 4 BUCKETS;
现在,我在marks_temp表的marks_bucketed表中插入数据

INSERT INTO marks_bucketed
SELECT id,Name, mark FROM marks_temp;
在此之后,一些作业开始运行。什么,我在作业日志中观察到它说“由于没有reduce操作符,reduce任务的数量设置为0”

甚至,色调文件浏览器也只显示一个文件。附上截图。

来自Hive文档

仅限版本0.x和1.x

命令set hive.enforce.bucketing=true;允许正确的 按列列出的减速器和群集的数量将自动 根据表格选择。否则,您需要设置 减速机数量应与机组铲斗数量相同 mapred.reduce.tasks=256;并有一个集群由。。。条款 选择

因此,您需要设置属性以强制bucketing,或者选择manual选项,然后像这样运行查询

set mapred.reduce.tasks = 4;
select id,Name,mark from marks_temp cluster by id;
set mapred.reduce.tasks = 4;
select id,Name,mark from marks_temp cluster by id;