Saturday 15 August 2015

scala - Spark Standalone Mode: How to compress spark output written to HDFS -


मेरे दूसरे प्रश्न से संबंधित है, लेकिन अलग:

  someMap.saveAsTextFile ("hdfs: // HOST: PORT / out ")   

अगर मैं एचडीएफएस को आरडीडी बचाता हूं, तो मैं जीपीपी के साथ आउटपुट को संक्षिप्त करने के लिए स्पार्क कैसे बता सकता हूँ? हाडोप में,

  मैपरेड.आउटपुट डिपॉज़्रेस = सच   

सेट करना संभव है और

 <के साथ संपीड़न एल्गोरिथ्म का चयन करें < कोड> मैपरेड। आउटपुट.कोडियन कॉओडीक = & lt; & lt; क्लासडेमेशन संपीड़न कोडेक & gt; & gt;   

मैं स्पार्क में यह कैसे करूँगा? क्या यह भी काम करेगा?

संपादित करें : स्पार्क-0.7.2

विधि saveAsTextFile उपयोग करने के लिए कोडेक वर्ग के एक अतिरिक्त वैकल्पिक पैरामीटर लेता है। इसलिए आपके उदाहरण के लिए यह कुछ ऐसा होना चाहिए जिसका उपयोग करने के लिए gzip:

  someMap.saveAsTextFile ("hdfs: // HOST: PORT / out", classOf [GzipCodec])  < / Pre> 

UPDATE

चूंकि आप 0.7.2 का उपयोग कर रहे हैं, इसलिए आप स्टार्टअप पर सेट किए गए कॉन्फ़िगरेशन विकल्पों के माध्यम से संपीड़न कोड को पोर्ट कर सकते हैं। मुझे यकीन नहीं है कि यह वास्तव में काम करेगा, लेकिन आपको इसके लिए जाने की आवश्यकता है:

  conf.setCompressMapOutput (true) conf.set ("mapred.output.compress", "true" ) Conf.setMapOutputCompressorClass (c) conf.set ("mapred.output.compression.codec", c.getCanonicalName) conf.set ("mapred.output.compression.type", संपीड़नप्रकार। BLOCK.toString)  < / Pre> 

ऐसा कुछ करने के लिए:

  System.setProperty ("spark.hadoop.mapred.output.compress", "true") सिस्टम .setProperty ("spark.hadoop। मैरेटेड। आउटपुट। डिप्रेशन कोडेक "," सच्चे ") सिस्टम .setProperty (" spark.hadoop.mapred.output.compression.codec "," org.apache.hadoop.io.compress.GzipCodec ") System.setProperty (" Spark.hadoop.mapred.output.compression.type "," block ")   

अगर आप इसे काम करने के लिए लेते हैं, तो आपकी कॉन्फ़िग पोस्ट करना दूसरों के लिए भी उपयोगी होगा।

No comments:

Post a Comment