2016-09-06 13 views
6

próbuję załadować niektórych danych z łyżką Amazon S3 przez:Spark - Nie FileSystem dla schematu: https, nie można załadować pliki z Amazon 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"); 

Ta ostatnia linia jednak zgłasza błąd:

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

Ta sama linia działa w innym projekcie, czego mi brakuje? Używam Sparka na maszynie Hortonworks CentOS VM.

Odpowiedz

1

Domyślnie Spark obsługuje HDFS, S3 i lokalny. S3 mogą być dostępne przez S3A: // lub S3N: // protokoły (difference between s3a, s3n and s3 protocols)

Tak, aby uzyskać dostęp do pliku najlepiej jest użyć następujących:

s3a://bucket-name/key 

zależności od wersji zapłonowej i wliczone biblioteki może trzeba dodać słoików zewnętrznych:

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

(czy jesteś pewien, że były przy użyciu s3 z protokołu https w poprzednich projektach może trzeba było niestandardowy kod lub słoiki włączone do obsługuje protokół https?)

Powiązane problemy