您好,我正在尝试查看是否有任何设置,如执行器内存、内核、混洗分区或任何我们能想到的可以加快包括union、GroupByKey和reduceGroups操作的作业的设置
我理解这些高强度的操作,目前需要5个小时才能完成。
示例:
.union(transitive)
.union(family)
.groupByKey(_.key)
.reduceGroups((left, right) =>spark提交
"Step5_Spark_Command": "command-runner.jar,spark-submit,--class,com.ms.eng.link.modules.linkmod.Links,--name,\\\"Links\\\",--master,yarn,--deploy-mode,client,--executor-memory,32G,--executor-cores,4,--conf,spark.sql.shuffle.partitions=2020,/home/hadoop/linking.jar,jobId=#{myJobId},environment=prod",函数
val family =
generateFamilyLinks(references, superNodes.filter(_.linkType == FAMILY))
.checkpoint(eager = true)
direct
.union(reciprocal)
.union(transitive)
.union(family)
.groupByKey(_.key)
.reduceGroups((left, right) =>
left.copy(
contributingReferences = left.contributingReferences ++ right.contributingReferences,
linkTypes = left.linkTypes ++ right.linkTypes,
contexts = left.contexts ++ right.contexts
)
)
.map(group =>
group._2.copy(
contributingReferences = ArrayUtil.dedup(group._2.contributingReferences, _.key)
)

发布于 2018-01-25 22:01:32
通过查看spark-submit命令,我可以看到您正在YARN上运行Spark。但是我可以问一下为什么要使用客户端模式吗?实际上,在您的情况下,您的驱动程序和执行器都是在本地创建的,并且没有充分利用集群的资源。因此,请改用--deploy-mode cluster。
对于硬件配置,请使用此link。
希望,这有助于扩展您的应用程序。
https://stackoverflow.com/questions/48392065
复制相似问题