[HADOOP] Hive에서 datetime에 분을 추가하십시오.
HADOOPHive에서 datetime에 분을 추가하십시오.
Hive에 dat (DATEADD (datepart, number, date)와 비슷한 datetime에 분을 (int로) 추가하는 데 사용할 수있는 함수가 있는가?) 여기서 datepart는 분이 될 수 있습니다. DATEADD (분, 2, '2014-07-06 01:28:02')는 2014-07-06 01:28:02를 반환합니다. 반면, Hive의 date_add (문자열 startdate, int 일)는 일입니다. 그 중 몇 시간 동안?
해결법
-
==============================
1.당신의 문제는 Hive Udf로 쉽게 해결할 수 있습니다.
당신의 문제는 Hive Udf로 쉽게 해결할 수 있습니다.
package HiveUDF; import java.text.ParseException; import java.text.SimpleDateFormat; import java.util.Date; import org.apache.hadoop.hive.ql.exec.UDF; public class addMinuteUdf extends UDF{ final long ONE_MINUTE_IN_MILLIS=60000; private SimpleDateFormat formatter = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss"); public String evaluate(String t, int minute) throws ParseException{ long time=formatter.parse(t.toString()).getTime(); Date AddingMins=new Date(time + (minute * ONE_MINUTE_IN_MILLIS)); String date = formatter.format(AddingMins); return date; } }
AddMinuteUdf.jar을 만든 후 하이브에 등록하십시오.
ADD JAR /home/Kishore/AddMinuteUdf.jar; create temporary FUNCTION addMinute as 'HiveUDF.addMinuteUdf'; hive> select date from ATable; OK 2014-07-06 01:28:02 Time taken: 0.108 seconds, Fetched: 1 row(s)
기능 적용 후
hive> select addMinuteUdf(date, 2) from ATable; OK 2014-07-06 01:30:02 Time taken: 0.094 seconds, Fetched: 1 row(s)
-
==============================
2.UDF를 사용하는 대신 datetime에 초를 더하고 unix_timestamp ()로 변환 한 다음 결과를 다시 datetime으로 변환 할 수 있습니다.
UDF를 사용하는 대신 datetime에 초를 더하고 unix_timestamp ()로 변환 한 다음 결과를 다시 datetime으로 변환 할 수 있습니다.
예:
select from_unixtime(unix_timestamp('2015-12-12 16:15:17')+3600);
여기에 한 시간 추가했습니다.
hive> select from_unixtime(unix_timestamp('2015-11-12 12:15:17')+${seconds_in_hour}); OK 2015-11-12 13:15:17 Time taken: 0.121 seconds, Fetched: 1 row(s)
따라서, 분을 추가 할 경우 분당 * 60을 더해야합니다.
from https://stackoverflow.com/questions/30399544/add-minutes-to-datetime-in-hive by cc-by-sa and MIT license
'HADOOP' 카테고리의 다른 글
[HADOOP] 날짜를 변환하는 방법 2017-sep-12 2017-09-12에서 HIVE (0) | 2019.06.12 |
---|---|
[HADOOP] Spark SQL saveAsTable이 빈 결과를 반환합니다. (0) | 2019.06.12 |
[HADOOP] Hadoop은 Datajoin을 사용하여 측면 조인을 줄입니다. (0) | 2019.06.12 |
[HADOOP] org.apache.hadoop.conf.Configuration은 hadoop-core.jar에 존재하지 않습니다. (0) | 2019.06.12 |
[HADOOP] Hadoop ClassNotFoundException (0) | 2019.06.11 |