Home | About | Sematext search-lucene.com search-hadoop.com
NEW: Monitor These Apps!
elasticsearch, apache solr, apache hbase, hadoop, redis, casssandra, amazon cloudwatch, mysql, memcached, apache kafka, apache zookeeper, apache storm, ubuntu, centOS, red hat, debian, puppet labs, java, senseiDB
 Search Hadoop and all its subprojects:

Switch to Threaded View
Hive >> mail # user >> Finding maximum across a row


Copy link to this message
-
RE: Finding maximum across a row
Seems like you would want the results as:
7
3

Here is one way to get the maximum value for a collection of columns with a case statement.
(this not done in Hive but hive case statements should work same way)

## data in table xyz

select * from xyz ;
c1 | c2 | c3
----+----+----
  2 |  1 |  3
  3 |  2 |  1
  1 |  2 |  3
(3 rows)

## Use case statements
select
   case when (c1 > c2) and (c1 > c3 )      then  c1
        when (c2 > c1) and (c2 > c3 )      then  c2
        else c3
   end  max_col
   from xyz
;

## results

max_col
---------
       3
       3
       3
(3 rows)

From: Sachin Sudarshana [mailto:[EMAIL PROTECTED]]
Sent: Friday, March 01, 2013 11:47 AM
To: [EMAIL PROTECTED]
Subject: Finding maximum across a row

Hi,

Is there any function/method to find the maximum across a row in hive?

Suppose i have a table like this:

ColA   ColB   ColC
2          5          7
3          2          1

I want the function to return

7
1
Its urgently required. Any help would be greatly appreciated!

--
Thanks and Regards,
                Sachin Sudarshana
NEW: Monitor These Apps!
elasticsearch, apache solr, apache hbase, hadoop, redis, casssandra, amazon cloudwatch, mysql, memcached, apache kafka, apache zookeeper, apache storm, ubuntu, centOS, red hat, debian, puppet labs, java, senseiDB