- अवलोकन
मैंने एक बाकी की एपीआई सेवा विकसित की है स्थिर फ्रेमवर्क सेवा में, मैं डेटाबेस को एचबीबेस डेटाबेस में संग्रहीत कर दूँगा। फिर, कुछ हालत (उदाहरण के लिए एक रिकॉर्ड डालें) द्वारा ट्रिगर किए गए मानचित्र / प्रक्रिया को कम करें।
- आवश्यक
मानचित्र वर्ग, मैं कुछ तीसरे भाग की लाइब्रेरी आयात करता हूं मैं उन पुस्तकालयों को युद्ध फ़ाइल में पैकेज नहीं करना चाहता।
TableMapReduceUtil.initTableMapperJob (HBaseInitializer.TABLE_DATA, // इनपुट HBase तालिका नाम स्कैन, सीएफ़ और विशेषता चयन को नियंत्रित करने के लिए // स्कैन उदाहरण LuceneMapper.class, // mapper null, // mapper output key शून्य, // मैपर आउटपुट मूल्य नौकरी); FileOutputFormat.setOutputPath (नौकरी, नया पथ ("hdfs: // master: 9000 / qin / luceneFile")); job.submit ();
- समस्या
यदि पैकेज युद्ध के सभी पुस्तकालयों जो जेटी कंटेनर पर तैनात किया जाएगा, यह अच्छी तरह से काम करता है यदि पैकेज को तीसरे भाग की लाइब्रेरी युद्ध में नहीं है, लेकिन उन पुस्तकालयों को hdfs पर अपलोड करें और उन्हें कक्षा पथ में जोड़ दें, यह काम नहीं करता है। जैसे नीचे
conf.set ("fs.defaultFS", "hdfs: // master: 9000"); फ़ाइलसिस्टम hdfs = FileSystem.get (conf); पथ वर्गपथफाइलडाइ = नया पथ ("bjlibs"); फ़ाइलस्थटस [] जारफ़ाइलें = hdfs.listStatus (classpathFilesDir); (फाइलस्टैटस एफएस: जारफाइल) के लिए {पथ अयोग्य = नया पथ (fs.getPath ()। ToUri ()। GetPath ()); वितरितकैश.एडफ़ाइलटोलापाथ (अयोग्य, अंतर); } Hdfs.close ();
कोशिश करें TableMapReduceUtil.addHBaseDependencyJars ()
No comments:
Post a Comment