2017-02-21 69 views
2

一個日期我怎麼能一個。減去數日期的天,有另一個日期的結果,例如:2016年1月12日 - 10 = 21/11/2016天。減去在HIVE APACHE

+0

在哪裏?就像在HiveQL查詢中一樣? – TehTris

+1

歡迎來到SO!這裏的人很興奮,渴望幫助你解決你的問題,但幫助他們幫助你很重要。考慮構建一個[最小,完整和可驗證示例](http://stackoverflow.com/help/mcve)。這很重要,因爲它顯示了你已經嘗試了什麼,你的思考過程以及你希望達到的目標。還要考慮使用代碼段的[backticks](http://stackoverflow.com/editing-help#comment-formatting),它會提高可讀性。例如'41 + 1 = 42'比41 + 1 = 42更容易閱讀。再次歡迎和良好技能前進:) – mbigras

回答

1

還有一個配置單元udf可以減去配置單元的天數,你有兩個選擇,將你的日期轉換爲下面的格式來使用UDF直接

yyyy-MM-dd 

,或者你可以改變你的當前日期和時間標記應用UDF,例如

date_sub(from_unixtime(unix_timestamp('12/03/2010' , 'dd/MM/yyyy')), 10) -- subs 10 days 

我希望它有幫助, 問候!

1

(日期參數)

hive> select date_sub(date '2016-12-01',10); 
OK 
2016-11-21 

(字符串參數)

hive> select date_sub('2016-12-01',10); 
OK 
2016-11-21 

DATE_SUB(日期/時間戳/串STARTDATE,TINYINT/SMALLINT/INT天)

減去開始日期的天數:date_sub('2008-12-31',1)= '2008-12-30'。在Hive 2.1.0(HIVE-13248)之前,返回類型爲 字符串,因爲在創建方法時不存在日期類型。

https://cwiki.apache.org/confluence/display/Hive/LanguageManual+UDF