簡體   English   中英

Pyspark S3 NoClassDefFoundError: com/amazonaws/AmazonClientException

[英]Pyspark S3 NoClassDefFoundError: com/amazonaws/AmazonClientException

我正在嘗試從正在運行的小型 spark 集群中讀取 S3 文件。 我安裝了以下 jars:

"aws-java-sdk-bundle-1.11.975.jar"
"hadoop-aws-3.2.1.jar"

我正在使用以下代碼:

from pyspark.context import SparkContext
from pyspark.sql import SparkSession, SQLContext
import os

# initialise Spark session
spark = SparkSession \
    .builder \
    .appName("Python Spark SQL basic example") \
    .config("spark.jars", "aws-java-sdk-bundle-1.11.975.jar") \
    .config("spark.jars", "hadoop-aws-3.2.1.jar") \
    .getOrCreate()

os.environ['PYSPARK_SUBMIT_ARGS'] = '--packages com.amazonaws:aws-java-sdk-bundle-1.11.975,org.apache.hadoop:hadoop-aws-3.2.1 pyspark-shell'

fp = "s3a://filepath/objects/"
sc = spark.sparkContext
sqlContext = SQLContext(sc)
df = sqlContext.read.parquet(fp)

但是,當我運行它時,我收到錯誤An error occurred while calling o62.parquet. : java.lang.NoClassDefFoundError: com/amazonaws/AmazonClientException An error occurred while calling o62.parquet. : java.lang.NoClassDefFoundError: com/amazonaws/AmazonClientException

如果我將fp更新為s3://...我收到錯誤No FileSystem for scheme "s3"

我在這里嘗試了一些解決方案,但到目前為止似乎沒有任何效果。

Hadoop 3.2.1 是使用 AWS SDK 1.11.375 構建的; 可能是那里的版本問題,或者只是 aws SDK JAR 沒有進入類路徑

我將從 Hadoop 文檔中的“s3a 故障排除”頁面開始

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM