当我在纱线集群中提交作业火花时,我看到spark-UI我得到4个阶段的工作但是,所有节点中使用的内存非常低,并且它表示使用4 gb中的0。我想这可能是因为我把它留在了默认分区。
文件大小范围在s3中介于1 mb到100 mb之间。大约2700 files
的大小为26 GB
。并且第2阶段正好运行2700 jobs
。
重新分配大约640个分区的东西是否值得,它会改善性能吗?或
如果分区是粒度比实际需要的那么无关紧要?或
我的提交参数需要解决吗?
具有10个节点的集群
总记忆500 GB
整体vCores 64
--excutor-memory 16 g
--num-executors 16
--executor-cores 1
实际上它在64个核心中运行。我不想增加核心数量,因为其他人可能会使用群集。
答案 0 :(得分:0)
您进行分区,并按以下原因重新分区:
你可能已经注意到,将会有一个金发姑娘区。测试将帮助您确定理想的分区大小。
请注意,拥有比核心更多的分区是可以的。排队分配任务的分区是我设计的。
另外请确保正确配置您的火花作业:
我不知道你的情况是什么(你让节点名称不可见),但是如果你只有一个包含15个核心的节点,那么16个执行器就没有意义了。相反,使用One executor进行设置,每个执行器使用16个核心。