2013-02-15 53 views
6

क्या कोई मुझे बता सकता है कि मुझे अपने परिणाम सेट में प्रत्येक f0, माह, दिन, घंटा, MINUTE समूह के लिए क्यों नहीं मिल रहा है?HIVE - तिथि समारोह द्वारा समूह

परिणाम सेट:

result set

क्वेरी:

SELECT t.f0, MONTH(TO_DATE(Hex2Dec(t.f2))), DAY(TO_DATE(Hex2Dec(t.f2))), HOUR(TO_DATE(Hex2Dec(t.f2))), MINUTE(TO_DATE(Hex2Dec(t.f2))), COUNT(DISTINCT t.f1) 
FROM table t 
WHERE (t.f0 = 1 OR t.f0 = 2) 
AND (t.f3 >= '2013-02-06' AND t.f3 < '2013-02-15') 
AND (Hex2Dec(t.f2) >= 1360195200 AND Hex2Dec(t.f2) < 1360800000) 
AND *EXTRA CONDITIONS* 
GROUP BY t.f0, MONTH(TO_DATE(Hex2Dec(t.f2))), DAY(TO_DATE(Hex2Dec(t.f2))), HOUR(TO_DATE(Hex2Dec(t.f2))), MINUTE(TO_DATE(Hex2Dec(t.f2))) 

स्कीमा:

f0 INT (विभाजन स्तंभ)
f1 INT
f2 STRING
f3 STRING (पी artition कॉलम)
F4 STRING
F5 STRING
F6 STRING
F7 एमएपी <STRING,STRING>

* f2 हेक्साडेसिमल प्रारूप में एक यूनिक्स टाइमस्टैम्प

+0

के मुख्य पुस्तकालय से लिया जाता है तो आप अपने इनपुट डेटा के बारे में कुछ जानकारी साझा कर सकते हैं? अभी मैं केवल क्वेरी और आउटपुट देखता हूं, यह जानना मुश्किल है कि आप अपनी क्वेरी में क्या गलत हैं, यह जानने के बिना कि आप इसे किस पर लागू कर रहे हैं। –

+0

@ चार्ल्स: आम तौर पर, मैं विवरणों की कमी के बारे में आपसे सहमत हूं। हालांकि, डेटा स्रोत जो मैं कर रहा हूं वह स्वामित्व है और मैं अपने प्रश्न में अस्पष्टता और/या अस्पष्टता का जोखिम उठाने के बावजूद "सुरक्षित" पक्ष पर हूं। – Jubbles

+0

क्या आपको आउट समूह के साथ कोई डेटा मिला? –

उत्तर

9

यह हो सकता है कर रहा है क्योंकि TO_DATE रिटर्न शून्य जब उस पर लागू हो जाता है एक यूनिक्स समय।
Hive manual के अनुसार:

TO_DATE (स्ट्रिंग टाइमस्टैम्प):
एक टाइमस्टैम्प स्ट्रिंग की तारीख हिस्सा देता है: TO_DATE ("1970-01-01 00:00:00") = "1970-1901 -01 "

उपयोग from_unixtime बजाय सही दिनांक भागों वापस पाने के लिए।

नोट:
मुझे लगता है HEX2DEC यूडीएफ HIVE-1545