Невозможно создать ведра в Hive в cloudera - PullRequest
0 голосов
/ 01 июня 2018

Я пытаюсь создать стол с нарезкой в ​​Улей в Клодере.Но нормальная таблица создается без каких-либо сегментов.

Во-первых, я создал нормальную таблицу, используя именованную marks_temp, используя Hive CLI

CREATE  TABLE marks_temp(
id INT,
Name string,
mark int
)
ROW FORMAT DELIMITED
FIELDS TERMINATED BY ',';

Я загрузил следующие данные в таблицу marks_temp изтекстовый файл 'Desktop / Data / littlebigdata.txt'

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_bucketed из таблицы marks_temp.

INSERT INTO marks_bucketed
SELECT id,Name, mark FROM marks_temp;

После этого начинают выполняться некоторые задания.Что, я заметил в журналах заданий, что там написано, что «Число задач уменьшения установлено на 0, так как нет оператора уменьшения»

hive> insert into marks_bucketed
        > select id,Name,mark from marks_temp;
    Query ID = cloudera_20180601035353_29b25ffe-541e-491e-aea6-b36ede88ed79
    Total jobs = 3
    Launching Job 1 out of 3
    Number of reduce tasks is set to 0 since there's no reduce operator
    Starting Job = job_1527668582032_0004, Tracking URL = http://quickstart.cloudera:8088/proxy/application_1527668582032_0004/
    Kill Command = /usr/lib/hadoop/bin/hadoop job  -kill job_1527668582032_0004
    Hadoop job information for Stage-1: number of mappers: 1; number of reducers: 0
    2018-06-01 03:54:01,328 Stage-1 map = 0%,  reduce = 0%
    2018-06-01 03:54:14,444 Stage-1 map = 100%,  reduce = 0%, Cumulative CPU 2.21 sec
    MapReduce Total cumulative CPU time: 2 seconds 210 msec
    Ended Job = job_1527668582032_0004
    Stage-4 is selected by condition resolver.
    Stage-3 is filtered out by condition resolver.
    Stage-5 is filtered out by condition resolver.
    Moving data to: hdfs://quickstart.cloudera:8020/user/hive/warehouse/marks_bucketed/.hive-staging_hive_2018-06-01_03-53-45_726_2788383119636056364-1/-ext-10000
    Loading data to table default.marks_bucketed
    Table default.marks_bucketed stats: [numFiles=1, numRows=14, totalSize=194, rawDataSize=180]
    MapReduce Jobs Launched: 
    Stage-Stage-1: Map: 1   Cumulative CPU: 2.21 sec   HDFS Read: 3937 HDFS Write: 273 SUCCESS
    Total MapReduce CPU Time Spent: 2 seconds 210 msec
    OK
    Time taken: 31.307 seconds

Даже в браузере файлов Hue отображается только один файл.Скриншот прилагается. Снимок экрана Hue File Browser для таблицы marks_bucketed

1 Ответ

0 голосов
/ 01 июня 2018

Из документации Hive

Только версии 0.x и 1.x

Команда set hive.enforce.bucketing = true;позволяет автоматически выбирать правильное количество редукторов и кластер по столбцам на основе таблицы.В противном случае вам нужно будет установить количество редукторов равным количеству сегментов, как указано в set mapred.reduce.tasks = 256;и в предложении select есть предложение CLUSTER BY ...

, поэтому вам нужно будет установить свойство, чтобы принудительно использовать сегментирование, или перейти к ручному параметру и выполнить запрос как

* 1010.*
...