pyspark 非法参数异常:正在创建Spark会话

c3frrgcw  于 2022-11-01  发布在  Spark
关注(0)|答案(1)|浏览(246)

我正在创建Spark会议使用下面的代码片段在python笔记本上AWS EMR集群。

spark = SparkSession.builder \
                     .config("spark.jars.packages","org.apache.hadoop:hadoop-aws:2.7.0") \
                     .getOrCreate()

然后从S3存储桶阅读数据,如下所示

df_songs = spark.read.option("recursiveFileLookup","true") \
                .json("s3a://mydata/song_data/", schema=song_schema)

它给我错误:

IllegalArgumentException: For input string: "64M"

使用环境:Amazon电子病历服务

eeq64g8w

eeq64g8w1#

Hadoop-AWS模块增加了对多个云提供商版本3.0以上的支持。
Hadoop从3.0版开始引入了s3 a客户端,以便从s3读取/写入。
Hadoop的“S3 A”客户端可针对Amazon S3对象存储和兼容实施提供高性能IO。
要解决这个问题,我想创建一个像最新版本的Spark示例

spark = SparkSession.builder \
                     .config("spark.jars.packages","org.apache.hadoop:hadoop-aws:3.3.4") \
                     .getOrCreate()

mvn repository中选择了hadoop-aws的最新版本3.x
参考:https://hadoop.apache.org/docs/current3/hadoop-aws/tools/hadoop-aws/index.html

相关问题