我正在执行etl作业,试图转换大约40GB的数据并将其保存到S3存储桶中。我使用的是G.2X工作程序类型,因为我知道该类型具有最高的内存设置。我收到以下错误,表明我的总序列化结果超过10 GB。所以我尝试将其提高到maxResultSize = 15G和memory = 25,但是在下一个作业中得到了无效的参数错误。有谁知道G.2X的那些设置的最大值是多少?是否存在导致此错误的其他问题,或者我需要更改其他设置?有人可以建议其他方法来解决此问题吗?
工作1:
worker type = G.2X spark.driver.maxResultSize=10G --conf spark.driver.memory=20G
错误:
”调用o317758.parquet时发生错误。由于 阶段失败:5586个任务的序列化结果的总大小(10.0 GB)大于spark.driver.maxResultSize(10.0 GB)“
工作2:
worker type = G.2X spark.driver.maxResultSize=15G --conf spark.driver.memory=25G
错误:
“无效的输入:线程“ main”中的异常 java.lang.IllegalArgumentException:所需的AM内存(30720 + 3072 MB) 高于此群集的最大阈值(24576 MB)!请检查 “ yarn.scheduler.maximum-allocation-mb”的值和/或 'yarn.nodemanager.resource.memory-mb'。”