[英]java.lang.IllegalArgumentException: uri cannot be null
[英]IllegalArgumentException : Creating Spark Session
我正在 AWS EMR 集群上的 python 笔记本中使用以下代码片段创建 spark session。
spark = SparkSession.builder \
.config("spark.jars.packages","org.apache.hadoop:hadoop-aws:2.7.0") \
.getOrCreate()
然后像下面这样从 S3 bucket 中读取数据
df_songs = spark.read.option("recursiveFileLookup","true") \
.json("s3a://mydata/song_data/", schema=song_schema)
它给我错误:
IllegalArgumentException: For input string: "64M"
环境:Amazon EMR 服务
Hadoop-AWS
模块从3.0
版开始增加了对多个云提供商的支持。
Hadoop 引入了 s3a 客户端从 3.0 版本开始从 s3 读/写。
Hadoop 的“S3A”客户端针对 Amazon S3 object 存储和兼容实现提供高性能 IO。
要解决这个问题,我会像最新版本一样创建 spark 实例
spark = SparkSession.builder \
.config("spark.jars.packages","org.apache.hadoop:hadoop-aws:3.3.4") \
.getOrCreate()
从mvn 存储库中选择了最新版本的hadoop-aws
3.x
参考: https://hadoop.apache.org/docs/current3/hadoop-aws/tools/hadoop-aws/index.html
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.