找不到AWS EMR s3a文件系统

时间:2018-09-29 13:38:01

标签: amazon-s3 pyspark amazon-emr

我正在运行EMR实例,突然工作正常,当我尝试从python spark脚本访问s3文件时,它开始出现以下错误:

py4j.protocol.Py4JJavaError: An error occurred while calling o36.json.

:java.lang.RuntimeException:java.lang.ClassNotFoundException:未找到类org.apache.hadoop.fs.s3a.S3AFileSystem

我们如何解决这个问题?

谢谢。

2 个答案:

答案 0 :(得分:0)

对于Amazon EMR,请使用“ s3:”前缀。 S3A连接器是ASF的开源软件之一;亚马逊拥有自己的(封闭源)连接器,这是他们唯一支持的连接器

答案 1 :(得分:0)

这是spark依赖项的问题。我必须在park-defaults.conf中添加jars配置。

spark.jars.packages                com.amazonaws:aws-java-sdk:1.7.4,org.apache.hadoop:hadoop-aws:2.7.2

请点击以下链接: https://gist.github.com/eddies/f37d696567f15b33029277ee9084c4a0