首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >优化/调整设置以触发作业,其中作业使用groupbyKey和reduceGroups

优化/调整设置以触发作业,其中作业使用groupbyKey和reduceGroups
EN

Stack Overflow用户
提问于 2018-01-23 07:49:51
回答 1查看 132关注 0票数 1

您好,我正在尝试查看是否有任何设置,如执行器内存、内核、混洗分区或任何我们能想到的可以加快包括unionGroupByKeyreduceGroups操作的作业的设置

我理解这些高强度的操作,目前需要5个小时才能完成。

示例:

代码语言:javascript
复制
.union(transitive)
  .union(family)
  .groupByKey(_.key)
  .reduceGroups((left, right) =>

spark提交

代码语言:javascript
复制
"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",

函数

代码语言:javascript
复制
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)
        )

EN

回答 1

Stack Overflow用户

发布于 2018-01-25 22:01:32

通过查看spark-submit命令,我可以看到您正在YARN上运行Spark。但是我可以问一下为什么要使用客户端模式吗?实际上,在您的情况下,您的驱动程序和执行器都是在本地创建的,并且没有充分利用集群的资源。因此,请改用--deploy-mode cluster。

对于硬件配置,请使用此link

希望,这有助于扩展您的应用程序。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/48392065

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档