/ / Відокремлена колона в вулику - хадоп, вулик, хівекл

Відокремлена колона в вулику - хадоп, вулик, хівекл

Я намагаюся отримати результат запиту в HiveQL з одним стовпцем як відмінним. Однак результати не відповідають. У таблиці є майже 20 стовпців.

create table uniq_us row format delimited fields terminated by "," lines terminated by "n" as select distinct(a),b,c,d,e,f,g,h,i,j from ctry_us_join;

Отримане число рядків: 513238

select count(distinct a) from ctry_us_join;

Отримане число рядків: 151616

Як це можливо, і щось не так у моєму першому або другому запиті

Відповіді:

0 для відповіді № 1

U потрібно використовувати subselect з групою за висловом.

select count(a) from (
select a, count(*) from ctry_us_join group by a) b

Це лише одне рішення для цього.


0 для відповіді № 2

Distinct це ключове слово, а не функція. Це стосується всіх стовпців, які ви перелічені у вашому select пост. Цілком розумно, що у вашому стіл у стовпці є лише 151,616 різних значень a, але кілька строк із тим самим значенням у стовпці a мають інші значення в інших стовпцях. Це може дати вам 513 238 різних рядків.