मैं https://wiki.apache.org/hadoop/AmazonS3 और निम्नलिखित शब्दों के अस्तित्व से अवगत हूं :
S3 नेटिव फाइलसिस्टम (URI स्कीम: s3n) S3 पर नियमित फाइल पढ़ने और लिखने के लिए एक देशी फाइल सिस्टम। इस फाइलसिस्टम का लाभ यह है कि आप उन S3 पर फ़ाइलों तक पहुँच सकते हैं जो अन्य उपकरणों के साथ लिखी गई थीं। इसके विपरीत, अन्य उपकरण Hadoop का उपयोग करके लिखी गई फ़ाइलों तक पहुँच सकते हैं। नुकसान S3 द्वारा लगाए गए फ़ाइल आकार पर 5GB की सीमा है।
S3A (URI स्कीम: s3a) S3 Native, s3n fs, S3a का उत्तराधिकारी: सिस्टम S3 के साथ इंटरैक्ट करने के लिए अमेजन के पुस्तकालयों का उपयोग करता है। यह S3a को बड़ी फ़ाइलों (अधिक 5GB सीमा), उच्च प्रदर्शन संचालन और अधिक का समर्थन करने की अनुमति देता है। फाइलसिस्टम S3 मूल के लिए / उत्तराधिकारी के लिए एक प्रतिस्थापन होने का इरादा रखता है: s3n से सुलभ सभी वस्तुओं: // URL को URL स्कीमा की जगह बस s3a से एक्सेस किया जाना चाहिए।
S3 ब्लॉक फाइलसिस्टम (URI स्कीम: s3) S3 द्वारा समर्थित ब्लॉक-आधारित फाइलसिस्टम। फ़ाइलों को ब्लॉक के रूप में संग्रहीत किया जाता है, जैसे वे एचडीएफएस में हैं। यह नाम बदलने के कुशल कार्यान्वयन की अनुमति देता है। इस फाइलसिस्टम को आपको फाइलसिस्टम के लिए एक बाल्टी समर्पित करने की आवश्यकता है - आपको एक मौजूदा बाल्टी युक्त फाइल का उपयोग नहीं करना चाहिए, या अन्य फाइलों को उसी बाल्टी में लिखना चाहिए। इस फाइलसिस्टम द्वारा संग्रहित फाइलें 5GB से बड़ी हो सकती हैं, लेकिन वे अन्य S3 टूल के साथ इंटरऑपरेबल नहीं हैं।
यूआरआई पर एक अक्षर परिवर्तन से ऐसा अंतर क्यों हो सकता है? उदाहरण के लिए
val data = sc.textFile("s3n://bucket-name/key")
सेवा
val data = sc.textFile("s3a://bucket-name/key")
इस बदलाव में तकनीकी अंतर क्या है? क्या कोई अच्छा लेख है जो मैं इस पर पढ़ सकता हूं?
s3a
योजना का उपयोग करके ईएमआर नौकरियों से एस 3 को लिख सकता हूं । यह संभव है कि उत्तर को संशोधित किया जाना चाहिए।