時間和日期我有數據的一個表,該表具有日期和時間作爲兩個單獨的字段,其中日期格式爲過濾器的Hadoop中
日/月/年和DD-MM-YYYY和時間格式是這樣HH :mm:ss(例如:6:52:53)
我需要篩選特定時間段的記錄,包括時間和日期明智過濾。
是否有任何預定義的過濾器可用於配置單元或豬?
時間和日期我有數據的一個表,該表具有日期和時間作爲兩個單獨的字段,其中日期格式爲過濾器的Hadoop中
日/月/年和DD-MM-YYYY和時間格式是這樣HH :mm:ss(例如:6:52:53)
我需要篩選特定時間段的記錄,包括時間和日期明智過濾。
是否有任何預定義的過濾器可用於配置單元或豬?
Hive確實將某些字符串識別爲unixtime日期。
您可以嘗試將where時間條件連接在一起的時間&日期格式轉換爲unixtime格式。
在蜂巢日期函數有些文檔/格式都坐落在這裏:https://cwiki.apache.org/confluence/display/Hive/LanguageManual+UDF#LanguageManualUDF-DateFunctions
我想你必須有兩個日期格式,即一列。 DD/MM/YYYY和DD-MM-YYYY
什麼你可以嘗試
1)更換 '/' 到 ' - ',這樣完整的列將成爲DD-MM-yyyy格式。
2)嘗試concatanating此字段與時間字段
3)通過Casting concatinated字段進行過濾。
希望這會有所幫助。
只是可能性: - 你有沒有嘗試將連接字段轉換爲日期數據類型,然後嘗試日期函數爲所需的輸出?
例如。 TO_DATE()
https://cwiki.apache.org/confluence/display/Hive/LanguageManual+UDF
'更新cdr_data設置TD =(選擇的concat(CONCAT(CONCAT(CONCAT(SUBSTR(日期,7), 「 - 」),CONCAT(SUBSTR(日期,4,2),「 - 「)),concat(substr(date,1,2),」「)),time)from cdr_data) 根據你的指令,我改變了日期格式,使用substring和concatenation操作的hive時間戳, 提供所需時間格式但無法將值直接更新到表中的select語句是否有任何方法可以做到這一點? – 2014-09-29 05:06:20