में नहीं खोल सकता है मैं एक कार्यक्रम पर काम कर रहा हूं जो Xuggle के साथ हैडोप के MapReduce ढांचे को एकीकृत करता है। इसके लिए, मैं IURLProtocolHandlerFactory
कक्षा लागू कर रहा हूं जो हडोप डेटा ऑब्जेक्ट्स से और इन-मेमोरी को पढ़ता है और लिखता है।Xuggle मेमोरी इनपुट
आप यहाँ प्रासंगिक कोड देख सकते हैं: https://gist.github.com/4191668
विचार एक UUID साथ IURLProtocolHandlerFactory
कक्षा में प्रत्येक BytesWritable
वस्तु रजिस्टर करने के लिए इतना है कि जब मैं बाद में उस नाम का उल्लेख करते हुए फ़ाइल यह रिटर्न एक IURLProtocolHandler
खोलने है उदाहरण जो BytesWritable
ऑब्जेक्ट से जुड़ा हुआ है और मैं स्मृति से और मेमोरी पढ़ और लिख सकता हूं।
कि मैं इस तरह एक अपवाद मिलता है:
java.lang.RuntimeException: could not open: byteswritable:d68ce8fa-c56d-4ff5-bade-a4cfb3f666fe
at com.xuggle.mediatool.MediaReader.open(MediaReader.java:637)
(पोस्ट लिंक के तहत भी देखें) डीबगिंग मुझे लगता है कि वस्तुओं को सही ढंग से कारखाने में पाए जाते हैं, क्या और भी है , उन्हें प्रोटोकॉल हैंडलर में भी पढ़ा जा रहा है। अगर मैं श्रोताओं को आउटपुट फ़ाइल से/हटा देता हूं, तो ऐसा होता है, इसलिए समस्या पहले ही इनपुट के साथ है। Xuggle के कोड में गहराई से खोना मैं जेएनआई कोड तक पहुंचता हूं (जो फ़ाइल खोलने की कोशिश करता है) और मैं इससे आगे नहीं जा सकता। यह स्पष्ट रूप से एक त्रुटि कोड देता है।
XugglerJNI.IContainer_open__SWIG_0
मैं वास्तव में कुछ संकेतों की सराहना करता हूं कि आगे जाने के लिए, मुझे डिबगिंग कैसे जारी रखना चाहिए। शायद मेरे कार्यान्वयन में एक दोष है, लेकिन मैं इसे नहीं देख सकता।
सभी को ठीक करने का प्रयास करें। यह पढ़ने और लिखने के लिए अपना खुद का IURLProtocolHandlerFactory लिखना इतना अच्छा और साफ विचार प्रतीत होता था। मैंने देखा कि मैं अपने इनपुट के लिए डेटा इनपुट लागू करूंगा और अभी भी हमारे इनपुट के लिए IURLProtocolHandlerFactory का उपयोग करूंगा, लेकिन मैं चुपचाप उम्मीद कर रहा था कि यह साफ और अच्छा रखना संभव है। तो फिर भी इस इंटरफेस का मुद्दा है?एक कार्य कार्यान्वयन कैसे दिखता है? – gphilip