Spark - 没有用于方案的FileSystem:https,无法从Amazon S3加载文件

时间:2016-09-06 18:13:17

标签: java apache-spark amazon-s3

我正在尝试通过以下方式从Amazon S3存储桶加载一些数据:

[Required(ErrorMessage="This is required.")]

但最后一行会引发错误:

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");

同一条线在另一个项目中工作,我错过了什么?我在Hortonworks CentOS VM上运行Spark。

1 个答案:

答案 0 :(得分:1)

默认情况下,Spark支持HDFS,S3和本地。 可以通过s3a://或s3n://协议(enter image description here

访问S3

所以要访问文件最好是使用以下内容:

s3a://bucket-name/key

根据您的火花版本和附带的库,您可能需要添加外部jar:

difference between s3a, s3n and s3 protocols)

(您确定在以前的项目中使用过https协议的s3吗?也许您已经包含自定义代码或jar以支持https协议?)