Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Hive date function to achieve day of week

Tags:

apache

hive

I'm looking for a workaround or hive date functions that gives day of the week ,

Sunday - 1
Monday - 2
Tuesday - 3
Wednesday - 4
Thursday - 5
Friday - 6
Saturday - 7

Requirement in detail : I'm looking for a function that takes date string (YYYYMMDD) as input and outputs the day of the week as per the above table.

like image 357
user3279189 Avatar asked Apr 10 '14 08:04

user3279189


2 Answers

Consider using from_unixtime(your date,'u') - this will return day number of week starting from Monday=1. If your date is not in unixtime format, you can use the following instead:

from_unixtime(unix_timestamp('20140112','yyyyMMdd'),'u')

see: http://docs.oracle.com/javase/7/docs/api/java/text/SimpleDateFormat.html for simple date format documentation.

like image 87
user3731880 Avatar answered Oct 05 '22 19:10

user3731880


You can now use date_format (Hive 1.2):

hive> select date_format('2016-12-01' ,'u');
OK
4
like image 45
iggy Avatar answered Oct 05 '22 19:10

iggy