की कुंजीपटल के लिए क्लासकास्ट एक्सेप्शन फेंकता है मैं अपने क्लस्टर सेटअप के लिए "हैडऑप-0.20.203.0rc1.tar.gz" का उपयोग कर रहा हूं। जब भी मैं job.setMapOutputKeyClass(ByteBuffer.class);
हैडोप java.nio.ByteBuffer
सेट और मैं अपवाद निम्नलिखित मिल काम चलाएँ:
12/01/13 15:09:00 INFO mapred.JobClient: Task Id : attempt_201201131428_0005_m_000001_2, Status : FAILED
java.lang.ClassCastException: class java.nio.ByteBuffer
at java.lang.Class.asSubclass(Class.java:3018)
at org.apache.hadoop.mapred.JobConf.getOutputKeyComparator(JobConf.java:776)
at org.apache.hadoop.mapred.MapTask$MapOutputBuffer.<init>(MapTask.java:958)
at org.apache.hadoop.mapred.MapTask$NewOutputCollector.<init>(MapTask.java:673)
at org.apache.hadoop.mapred.MapTask.runNewMapper(MapTask.java:755)
at org.apache.hadoop.mapred.MapTask.run(MapTask.java:369)
at org.apache.hadoop.mapred.Child$4.run(Child.java:259)
at java.security.AccessController.doPrivileged(Native Method)
at javax.security.auth.Subject.doAs(Subject.java:396)
at org.apache.hadoop.security.UserGroupInformation.doAs(UserGroupInformation.java:1059)
at org.apache.hadoop.mapred.Child.main(Child.java:253)
इसके अलावा मैं देखा है कि ByteBuffer तुलनीय है और न लिखने योग्य है कि किसी भी diffrence कर रहा है? मुझे बताएं कि क्या कोई अतिरिक्त जानकारी चाहिए।
यदि आप बाइटबफर के लिए इसे सेट अप करने के तरीके को विस्तारित कर सकते हैं तो यह उपयोगी होगा .... – samarth
@samarth आप org.apache.hadoop.io.Bytes में बाइट सरणी को लपेट सकते हैं इसके बजाय –