s3文件可以通过hadoop访问,但不能通过spark访问

hsgswve4  于 2021-05-30  发布在  Hadoop
关注(0)|答案(1)|浏览(380)

我正在一台ec2机器上运行spark1.4和hadoop2.6。我配置了hadoop\u类路径和core-site.xml来访问我的s3文件。
虽然hadoop能够访问我的bucket中的文件,但spark shell却失败了,并抛出以下错误:

java.lang.RuntimeException: java.lang.ClassNotFoundException: Class org.apache.hadoop.fs.s3native.NativeS3FileSystem not found

我尝试将aws jar添加到类路径中,但没有任何帮助。
有人知道这是从哪里来的吗?
谢谢!

2mbi3lxu

2mbi3lxu1#

您需要在类路径中添加两个额外的jar文件
例如,在spark submit中——jar=aws-java-sdk-1.7.4。jar:hadoop-aws-2.6.0.jar
或者您可以添加到配置中:例如spark.executor.extraclasspath&spark.driver.extraclasspath
另外,尝试使用“s3a://”,这是hadoop中较新的s3库

相关问题