小编Mor*_*les的帖子

使用Pyspark读取S3数据,出现:NoClassDefFoundError: com/amazonaws/AmazonClientException

我在设置使用 Pyspark 读取 s3 数据的配置时遇到问题。我下载了hadoop-aws.jar和aws-java-sdk-1.11.734.jar。它是一个单一的集群环境。

这是我在 pyspark 中输入的代码

import os
import pyspark
from pyspark.sql import SparkSession
spark = SparkSession.builder\
            .config("spark.hadoop.fs.s3a.access.key", 'xxxxx')\
            .config("spark.hadoop.fs.s3a.secret.key", 'xxxxx')\
            .config("spark.jars.packages",'/spark/jars/aws-java-sdk-1.11.734.jar:/spark/jars/hadoop-aws-2.10.0.jar') \
            .getOrCreate()
df = spark.read.format('json').load('s3a://folder/file_1.json')
Run Code Online (Sandbox Code Playgroud)

这是错误消息:

Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
  File "/spark/python/pyspark/sql/readwriter.py", line 166, in load
    return self._df(self._jreader.load(path))
  File "/spark/python/lib/py4j-0.10.7-src.zip/py4j/java_gateway.py", line 1257, in __call__
  File "/spark/python/pyspark/sql/utils.py", line 63, in deco
    return f(*a, **kw)
  File "/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 o99.load.
: java.lang.NoClassDefFoundError: com/amazonaws/AmazonClientException …
Run Code Online (Sandbox Code Playgroud)

python java amazon-web-services apache-spark pyspark

5
推荐指数
0
解决办法
1711
查看次数