apache-spark - AWS EMR YARN 集群上的 Jupyterhub pyspark3
问题描述
我在 AWS EMR 集群上运行带有 pyspark3 内核的 Jupyterhub。我们可能知道 EMR 上的 Jupyterhub pyspark3 使用 Livy 会话在 AWS EMR YARN 调度程序上运行工作负载。我的问题是关于 spark 的配置:执行程序内存/核心、驱动程序内存/核心等。
config.json
Jupyter的文件中已经有一个默认配置:
...
"session_configs":{
"executorMemory":"4096M",
"executorCores":2,
"driverCores":2,
"driverMemory":"4096M",
"numExecutors":2
},
...
我们可以使用 sparkmagic 覆盖这个配置:
%%configure -f
{"conf":{"spark.pyspark.python": "python3",
"spark.pyspark.virtualenv.enabled": "true",
"spark.pyspark.virtualenv.type":"native",
"spark.pyspark.virtualenv.bin.path":"/usr/bin/virtualenv",
"spark.executor.memory":"2g",
"spark.driver.memory": "2g",
"spark.executor.cores": "1",
"spark.num.executors": "1",
"spark.driver.maxResultSize": "2g",
"spark.yarn.executor.memoryOverhead": "2g",
"spark.yarn.driver.memoryOverhead": "2g",
"spark.yarn.queue": "default"
}
}
spark-defaults.conf
EMR集群主节点的文件中也有配置。
spark.executor.memory 2048M
spark.driver.memory 2048M
spark.yarn.driver.memoryOverhead 409M
spark.executor.cores 2
...
当我启动 SparkSession 以在 YARN 集群中运行 Spark 应用程序时,将使用哪种配置?
请在 YARN Scheduler 上找到正在运行的 spark 应用程序的图像:
解决方案
根据我的经验和这个告诉如何修改 spark 配置的链接,看起来你所做的修改%%configure -f
将被使用(当然,如果你把它作为第一个命令并使用这个配置启动会话)。
推荐阅读
- node.js - MongoDB中的日期操作和比较
- wordpress - React/Gatsby/Wordpress 卡在“源和转换节点”上
- ios - 使用 CTCellularPlanProvisioningRequest 获取 iccid
- youtube-api - 实时字幕中的 V 形标记被清理为 >
- node.js - 更新后返回数组属性的大小
- laravel - 经过测试,chrome 进程仍然在 Docker 容器中的 Laravel Dusk
- r - 在ggplot中对x轴使用分面网格而不是aes?
- c# - 如何加密文件
- excel - 在多个范围内使用 INDIRECT 公式
- r - 一次在 data.table 中动态创建多个列表列