如何解决本地安装-无法从s3中读取文件
我一直在尝试从s3存储桶读取文件,但出现错误。我已将hadoop-aws-2.7.3 jar和aws-java-sdk 1.11.842下载到本地计算机,并将这4个jar文件提供给本地安装JAR目录。
Jars:
错误:
File "C:\spark\python\lib\py4j-0.10.7-src.zip\py4j\protocol.py",line 328,in get_return_value
py4j.protocol.Py4JJavaError: An error occurred while calling o34.load.
: java.lang.RuntimeException: java.lang.ClassNotFoundException: Class org.apache.hadoop.fs.s3a.S3AFileSystem not found
代码:
from pyspark.sql import SparkSession
from pyspark.sql.functions import *
import file_config
spark = SparkSession.builder \
.appName("my_app") \
.getOrCreate()
spark._jsc.hadoopConfiguration().set("fs.s3a.access.key","key")
spark._jsc.hadoopConfiguration().set("fs.s3a.secret.key","key")
spark._jsc.hadoopConfiguration().set("fs.s3a.impl","org.apache.hadoop.fs.s3a.S3AFileSystem")
spark._jsc.hadoopConfiguration().set("com.amazonaws.services.s3.enableV4","true")
spark._jsc.hadoopConfiguration().set("fs.s3a.aws.credentials.provider","org.apache.hadoop.fs.s3a.BasicAWSCredentialsProvider")
spark._jsc.hadoopConfiguration().set("fs.s3a.endpoint","us-east-1.amazonaws.com")
csv_df = spark.read.format("csv").load("s3a://bucketname/list_file.txt")
csv_df.show()
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。