You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

在AWS EMR集群Python Notebook创建Spark Session时遇IllegalArgumentException错误

解决AWS EMR中Spark读取S3数据时的"IllegalArgumentException: For input string: '64M'"错误

错误原因

这个错误是由于你手动指定的hadoop-aws版本与EMR集群自带的Hadoop版本不兼容导致的。EMR集群默认预装了适配自身环境的Hadoop及AWS客户端组件,强行指定低版本(如2.7.0)会引发配置解析冲突,比如内存参数"64M"无法被正确识别。

解决方案

  • 移除手动指定的hadoop-aws依赖:直接使用EMR预装的兼容版本,修改SparkSession创建代码:

    spark = SparkSession.builder.getOrCreate()
    
  • 匹配EMR集群的Hadoop版本指定依赖:如果必须自定义版本,先通过EMR控制台查看集群的Hadoop版本(比如EMR 5.36.0对应Hadoop 2.10.1),然后指定完全一致的hadoop-aws版本:

    spark = SparkSession.builder 
                         .config("spark.jars.packages","org.apache.hadoop:hadoop-aws:2.10.1") 
                         .getOrCreate()
    
  • 验证S3路径与权限:确认s3a://mydata/song_data/路径存在,且EMR集群的IAM角色拥有该S3存储桶的读取权限。

内容的提问来源于stack exchange,提问作者SRJ

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.17 04:55:32