如何在spark集群的work节点上启动多个executor?
1、设置每个executor使用的cpu数为4
spark.executor.cores4
2、限制cpu使用数量,这里会启动3个executor(12/4)
spark.cores.max12
3、设置每个executor的内存大小为8g
spark.executor.memory12g
以上设置将会启动3个executor,每个executor使用4cpu,12gram。
总共占用worker资源12cpu,36gram。
spark1.6的源码部分为:
protectedfinalstringexecutor_memory="--executor-memory"protectedfinalstringtotal_executor_cores="--total-executor-cores"protectedfinalstringexecutor_cores="--executor-cores"
也可以在提交任务的时候添加:
sparksubmit--classcom.dyq.spark.myclass--master:spark://master:7077--total-executor-cores12--executor-cores24--executor-memory12g
tip
在使用过程中发现如果使用spark1.5以下版本有时候会出现即使有资源也申请不到的情况。
sparksql对于重复的计算怎么优化?
sparksql是为了处理结构化数据的一个spark模块。不同于sparkrdd的基本api,sparksql接口更多关于数据结构本身与执行计划等更多信息。在spark内部,sqlsql利用这些信息去更好地进行优化。有如下几种方式执行sparksql:sql,dataframesapi与datasetsapi。当相同的计算引擎被用来执行一个计算时,有不同的api和语言种类可供选择。这种统一性意味着开发人员可以来回轻松切换各种最熟悉的api来完成同一个计算工作。
原文标题:累加器AC的使用方法 如何在Spark集群的work节点上启动多个Executor?,如若转载,请注明出处:https://www.saibowen.com/tougao/19391.html
免责声明:此资讯系转载自合作媒体或互联网其它网站,「赛伯温」登载此文出于传递更多信息之目的,并不意味着赞同其观点或证实其描述,文章内容仅供参考。