2016-09-06 14 views
6

मैं द्वारा एक अमेज़न S3 बाल्टी से कुछ डेटा लोड करने के लिए कोशिश कर रहा हूँ से फाइल लोड नहीं कर सकता:स्पार्क - योजना के लिए कोई FileSystem: https, अमेज़न S3

SparkConf sparkConf = new SparkConf().setAppName("Importer"); 
JavaSparkContext ctx = new JavaSparkContext(sparkConf); 
HiveContext sqlContext = new HiveContext(ctx.sc()); 

DataFrame magento = sqlContext.read().json("https://s3.eu-central-1.amazonaws.com/*/*.json"); 

यह अंतिम पंक्ति हालांकि एक त्रुटि फेंकता है:

Exception in thread "main" java.io.IOException: No FileSystem for scheme: https 

एक ही पंक्ति किसी अन्य प्रोजेक्ट में काम कर रही है, मुझे क्या याद आ रही है? मैं हॉर्टोनवर्क सेंटोस वीएम पर स्पार्क चला रहा हूं।

उत्तर

1

डिफ़ॉल्ट रूप से स्पार्क एचडीएफएस, एस 3 और स्थानीय का समर्थन करता है। S3 s3a द्वारा पहुँचा जा सकता है: // या s3n: // प्रोटोकॉल (difference between s3a, s3n and s3 protocols)

तो एक फ़ाइल सबसे अच्छा उपयोग करने के लिए निम्नलिखित है तक पहुँचने के लिए: अपनी चिंगारी संस्करण के आधार पर

s3a://bucket-name/key 

और पुस्तकालयों शामिल आप बाहरी जार जोड़ने पड़ सकते हैं:

Spark read file from S3 using sc.textFile ("s3n://...)

(आप सुनिश्चित करें कि आप पिछली परियोजनाओं में https प्रोटोकॉल से S3 उपयोग कर रहे थे कर रहे हैं हो सकता है कि आप कस्टम कोड या जार करने के लिए शामिल किया था समर्थन https प्रोटोकॉल?)

संबंधित मुद्दे