Thanks, but there is something fishy going on. Im using hive 0.5.0 with hadoop 0.20.1
I tried the column as both a bigint and a string. According the hive ddl: string from_unixtime(int unixtime) Converts the number of seconds from unix epoch (1970-01-01 00:00:00 UTC) to a string representing the timestamp of that moment in the current system time zone in the format of "1970-01-01 00:00:00" It looks like the input is int, that would be too small for my 1270145333155 timestamp. Any ideas? Example below: /tom hive> describe ut; OK cola bigint colb string Time taken: 0.101 seconds hive> select * from ut; OK 1270145333155 tuesday Time taken: 0.065 seconds hive> select from_unixtime(cola,'yyyy-MM-dd HH:mm:ss'),colb from ut; Total MapReduce jobs = 1 Launching Job 1 out of 1 Number of reduce tasks is set to 0 since there's no reduce operator Starting Job = job_201003031204_0083, Tracking URL = http://master:50030/jobdetails.jsp?jobid=job_201003031204_0083 Kill Command = /usr/local/hadoop/bin/../bin/hadoop job -Dmapred.job.tracker=master:54311 -kill job_201003031204_0083 2010-04-01 16:57:32,407 Stage-1 map = 0%, reduce = 0% 2010-04-01 16:57:45,577 Stage-1 map = 100%, reduce = 0% 2010-04-01 16:57:48,605 Stage-1 map = 100%, reduce = 100% Ended Job = job_201003031204_0083 OK 42219-04-22 00:05:55 tuesday Time taken: 18.066 seconds hive> describe ut; OK cola string colb string Time taken: 0.077 seconds hive> select * from ut; OK 1270145333155 tuesday Time taken: 0.065 seconds hive> select from_unixtime(cola,'yyyy-MM-dd HH:mm:ss'),colb from ut; FAILED: Error in semantic analysis: line 1:7 Function Argument Type Mismatch from_unixtime: Looking for UDF "from_unixtime" with parameters [class org.apache.hadoop.io.Text, class org.apache.hadoop.io.Text] On Thu, Apr 1, 2010 at 1:37 PM, Carl Steinbach <[email protected]> wrote: > Hi Tom, > > I think you want to use the from_unixtime UDF: > > hive> describe function extended from_unixtime; > describe function extended from_unixtime; > OK > from_unixtime(unix_time, format) - returns unix_time in the specified > format > Example: > > SELECT from_unixtime(0, 'yyyy-MM-dd HH:mm:ss') FROM src LIMIT 1; > '1970-01-01 00:00:00' > Time taken: 0.647 seconds > hive> > > Thanks. > > Carl > > On Thu, Apr 1, 2010 at 1:11 PM, tom kersnick <[email protected]> wrote: > >> hive> describe ut; >> OK >> time bigint >> day string >> Time taken: 0.128 seconds >> hive> select * from ut; >> OK >> 1270145333155 tuesday >> Time taken: 0.085 seconds >> >> When I run this simple query, I'm getting a NULL for the time column with >> data type bigint. >> >> hive> select unix_timestamp(time),day from ut; >> Total MapReduce jobs = 1 >> Launching Job 1 out of 1 >> Number of reduce tasks is set to 0 since there's no reduce operator >> Starting Job = job_201003031204_0080, Tracking URL = >> http://master:50030/jobdetails.jsp?jobid=job_201003031204_0080 >> Kill Command = /usr/local/hadoop/bin/../bin/hadoop job >> -Dmapred.job.tracker=master:54311 -kill job_201003031204_0080 >> 2010-04-01 16:03:54,024 Stage-1 map = 0%, reduce = 0% >> 2010-04-01 16:04:06,128 Stage-1 map = 100%, reduce = 0% >> 2010-04-01 16:04:09,150 Stage-1 map = 100%, reduce = 100% >> Ended Job = job_201003031204_0080 >> OK >> NULL tuesday >> Time taken: 16.981 seconds >> >> Any ideas? >> >> Thanks! >> >> /tom >> > >
