代码之家  ›  专栏  ›  技术社区  ›  Raghav salotra

未找到AWS EMR s3a文件系统

  •  0
  • Raghav salotra  · 技术社区  · 6 年前

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

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

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

    提前谢谢。

    2 回复  |  直到 6 年前
        1
  •  4
  •   Raghav salotra    6 年前

    这是一个与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

        2
  •  -1
  •   stevel    6 年前

    对于amazonemr,使用“s3:”前缀。S3A连接器是ASF的开源连接器;Amazon有自己的(封闭源代码)连接器,这是他们唯一支持的连接器