में विभाजन की भविष्यवाणी करते समय भी कोई विभाजन अनुमान नहीं मिला है, मेरे पास hdfs में एक तालिका pos.pos_inv है जो yyyymm द्वारा विभाजित है। नीचे दिए गए क्वेरी है:विभाजन को वर्तमान में क्वेरी
select DATE_ADD(to_date(from_unixtime(unix_timestamp(Inv.actvydt, 'MM/dd/yyyy'))),5),
to_date(from_unixtime(unix_timestamp(Inv.actvydt, 'MM/dd/yyyy'))),yyyymm
from pos.pos_inv inv
INNER JOIN pos.POSActvyBrdg Brdg ON Brdg.EIS_POSActvyBrdgId = Inv.EIS_POSActvyBrdgId
where to_date(from_unixtime(unix_timestamp(Inv.nrmlzdwkenddt, 'MM/dd/yyyy')))
BETWEEN DATE_SUB(to_date(from_unixtime(unix_timestamp(Inv.actvydt, 'MM/dd/yyyy'))),6)
and DATE_ADD(to_date(from_unixtime(unix_timestamp(Inv.actvydt, 'MM/dd/yyyy'))),6)
and inv.yyyymm=201501
मैं 201,501 के रूप में क्वेरी के लिए विभाजन मूल्य प्रदान की है, लेकिन अभी भी मैं त्रुटि "प्राप्त
Error while compiling statement: FAILED: SemanticException [Error 10041]: No partition predicate found for Alias "inv" Table "pos_inv"
(स्कीमा) विभाजन, YYYYMM पूर्णांक प्रकार और actvydt है दिनांक स्ट्रिंग प्रकार के रूप में संग्रहीत किया जाता है।
जेफ़, आप जिस छिद्र का उपयोग कर रहे हैं, मुझे लगता है कि कुछ खुले जिरा मुद्दे हैं (https://issues.apache.org/jira/browse/HIVE-4905, https://issues.apache.org/जिरा/ब्राउज/HIVE-10454 ) इस समस्या से संबंधित जब विभाजन पूर्वानुमान कॉलम का उपयोग जुड़ने के संयोजन में किया जाता है, यदि आप हाइव के पुराने संस्करण का उपयोग कर रहे हैं, तो मैपर्ड मोड को गैर-प्रतिबंधित करने के लिए सेट करें और क्वेरी 'set hive.mapred' चलाएं। मोड = nonstrict' – Aditya
यदि मैं set hive.mapred.mode = nonstrict सेट का उपयोग करता हूं, तो संपूर्ण डेटा सेट को विशेष विभाजन मान के बजाय स्कैन किया जाता है। – jeff
जेफ़, मैंने सोचा कि यह अभी के लिए एक कामकाज है, हो सकता है कि यह पैच नवीनतम संस्करण में अपडेट हो जाएं, हाइव का कौन सा संस्करण आपका है, यह उच्च संस्करण में प्रयास करना संभव है? – Aditya