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 <moiz.ara...@teamaol.com>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 <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. > > > >