#mapreduce #group-by #hive #hdfs
#mapreduce #group-by #улей #hdfs
Вопрос:
это просто любопытство: почему в улье не отображается количество пустых разделов, когда я использую group by?
select count(*), partition_date
from table
group by partition_date;
результат:
count----------------partition_date
746 ----------------20160901
1155----------------20160906
589 ----------------20160907
639 ----------------20160908
763 ----------------20160909
1502----------------20160912
1188----------------20160913
601 ----------------20160914
675 ----------------20160915
766 ----------------20160916
Теперь я не смог увидеть 3 раздела: 20160905, 20160904, 20160903.
Если я подсчитываю эти конкретные разделы, это дает мне count = 0.
select count(*) from table where partition_date=20160905;
select count(*) from table where partition_date=20160904;
select count(*) from table where partition_date=20160903;
Но таким образом я сделал это без использования group by, и именно поэтому это дает мне результат.
Если я сделаю это снова, используя group by, я все равно получу пустой результат
select count(*), partition_date from table where partition_date=20160905 group by partition_date;
Я пробовал другими способами, но я все еще не могу получить количество пустых разделов, используя group by…
select count(*), partition_date from table group by partition_date having count(*)>=0;
select count(*), partition_date from table group by partition_date having count(*)=0;
select count(*), partition_date from table where partition_date in (20160905, 20160904, 20160903) group by partition_date;
Это единственное решение, которое я нашел, есть другой способ?
select AA.partition_date,nvl(BB.CN,0) as CC
from (select distinct partition_date as partition_date from table) AA
left join
(select partition_date, count(*) as CN from table group by partition_date) BB
on AA.partition_date = BB.partition_date;
Итак, мои последние вопросы:
- связано ли это с заданиями MapReduce?
- Как эти задания MapReduce работают для получения результатов этих запросов?
- Знаете ли вы хитрый способ подсчета пустых разделов?