Try this:

select
distinct arr   --- Distinct Values
from
(
select
explode(arr) as arr     -- Breaks Array in every column, as separate row .
(
select
map_keys(KV) as arr         -- Returns an array of the Key Names for every row .
from
<table Name>
)a
) c
order by arr;

Thanks,
Moiz


On Jul 25, 2013, at 2:08 PM, R J 
<rj201...@yahoo.com<mailto:rj201...@yahoo.com>> wrote:

Hi All,

I have a table in Apache Hive and I am interested in a specific field of the 
table. Table name: Table1 and field name f1. The field f1 is of type 
MAP<string, string>.

The table is huge. How could I find the distinct key values of the MAP variable 
f1 above?

I tried:
$hive -e "select distinct map_keys(f1) from Table1;"
$hive -e "select k from Table1 LATERAL VIEW explode(f1) et as k,v;"

Each of the above returned syntax error. Could you please help.

If the existing values for a few fields of the table ate:
<x, y>
<x, p>
<m, n>
<empty>
<m, m>
<p, q>

I want the return to be:
x
m
p

Thanks a lot.



Reply via email to