हमारे पास एक छोटी (16 एम पंक्तियां) विशिष्ट तालिका और एक बड़ी (6 बी पंक्तियां) स्काईड टेबल के बीच एक सुअर शामिल है। एक नियमित रूप से 2 घंटों में समाप्त होता है (कुछ tweaking के बाद)। हमने using skewed
को आजमाया और प्रदर्शन को 20 मिनट तक सुधारने में सक्षम रहा।सुअर एक बड़े टेबल के साथ जुड़ने का कारण बनता है "स्प्लिट मेटाडाटा आकार 10000000 से अधिक हो गया"
हालांकि, जब तक हम बड़ी विषम तालिका (19B पंक्तियाँ) की कोशिश है, हम नमूना नौकरी से यह संदेश प्राप्त:
Split metadata size exceeded 10000000. Aborting job job_201305151351_21573 [ScriptRunner]
at org.apache.hadoop.mapreduce.split.SplitMetaInfoReader.readSplitMetaInfo(SplitMetaInfoReader.java:48)
at org.apache.hadoop.mapred.JobInProgress.createSplits(JobInProgress.java:817) [ScriptRunner]
यह हर बार जब हम कोशिश using skewed
प्रतिलिपि प्रस्तुत करने योग्य है, और ऐसा नहीं होता है जब हम का उपयोग नियमित रूप से शामिल हों।
हमने mapreduce.jobtracker.split.metainfo.maxsize=-1
सेट करने का प्रयास किया और हम इसे job.xml फ़ाइल में देख सकते हैं, लेकिन यह कुछ भी नहीं बदलेगा!
यहां क्या हो रहा है? क्या यह using skewed
द्वारा बनाए गए वितरण नमूने के साथ एक बग है? यह पैरामीटर को -1
में बदलने में क्यों मदद नहीं करता है?
ने जिरा बग दर्ज करने का निर्णय लिया: https://issues.apache.org/jira/browse/PIG-3411, – ihadanny
अपडेट करेगा, हमने पाया है कि mapreduce.jobtracker.split.metainfo बदल रहा है। अधिकतम आकार नौकरी स्तर में काम नहीं करने के लिए जाना जाता है, केवल नौकरी ट्रैकर स्तर में, यहां देखें: https://groups.google.com/a/cloudera.org/forum/#!topic/cdh-user/UWBMKplvGkg – ihadanny
क्या आपने कभी इस समस्या का हल ढूंढें? हम एक समान मुद्दे का सामना कर रहे हैं। – KennethJ