Home | About | Sematext search-lucene.com search-hadoop.com
 Search Hadoop and all its subprojects:

Switch to Plain View
Hive, mail # user - Parse MAP viarable Keys in HIVE


+
R J 2013-07-25, 18:08
+
Arafat, Moiz 2013-07-25, 18:20
Copy link to this message
-
Re: Parse MAP viarable Keys in HIVE
Stephen Sprague 2013-07-25, 19:01
that sure looks like a nice candidate for a UDF, eh?  Come to think of it
i'm surprised there isn't a jar file out there in openSource land that
contains higher order functions already.
On Thu, Jul 25, 2013 at 11:20 AM, Arafat, Moiz <[EMAIL PROTECTED]>wrote:

>  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 <[EMAIL PROTECTED]> 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.
>
>
>
>
+
R J 2013-07-26, 23:02
+
Stephen Sprague 2013-07-27, 00:01