lte*_*e__ 7 java amazon-s3 apache-spark
我正在尝试通过以下方式从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");
Run Code Online (Sandbox Code Playgroud)
然而,最后一行会引发错误:
Exception in thread "main" java.io.IOException: No FileSystem for scheme: https
Run Code Online (Sandbox Code Playgroud)
同一条线已经在另一个项目中工作,我错过了什么?我在Hortonworks CentOS VM上运行Spark.
Spark 默认支持 HDFS、S3 和本地。S3可以通过s3a://或s3n://协议访问(s3a、s3n和s3协议之间的区别)
因此,要访问文件,最好使用以下命令:
s3a://bucket-name/key
Run Code Online (Sandbox Code Playgroud)
根据您的 Spark 版本和包含的库,您可能需要添加外部 jar:
Spark 使用 sc.textFile ("s3n://...) 从 S3 读取文件
(您确定在之前的项目中使用了带有 https 协议的 s3 吗?也许您包含自定义代码或 jar 来支持 https 协议?)
| 归档时间: |
|
| 查看次数: |
4639 次 |
| 最近记录: |