gpt4 book ai didi

apache-spark - Spark 如何实现哪些 RDD 操作需要拆分成单独的 Stage?

转载 作者:行者123 更新时间:2023-12-04 04:52:17 24 4
gpt4 key购买 nike

当 Spark 遇到诸如 reduceByKey 之类的操作时,就会创建一个新的 Stage。 Spark 如何意识到哪些操作需要像“reduceByKey”操作一样拆分成单独的阶段?当我添加新操作并希望它在另一个阶段运行时,我该如何实现它?

最佳答案

让我们举个例子。这有过去 10 年每天的城市和温度数据集,例如:
纽约 -> [22.3, 22.4, 22.8, 32.3, .........]
伦敦 -> [................................
多伦多 -> [................................
我的任务是将其转换为华氏度,然后找到每个城市的平均值。这可以按如下方式完成:

  1. 可以在多个节点上读取数据
  2. 在每个节点上,可以进行摄氏度到华氏度的映射操作
  3. 查找平均温度任务 2 可以在每个节点的基础上完成。但是要计算平均值,我们需要洗牌。原因是纽约的数据可能在多个服务器上。我们需要在一台机器上获取纽约的数据来计算平均值。所以就会有groupByAggregate这样的聚合操作。 Spark 知道这是一个洗牌操作。这就是它的代码是如何编写的……通过一些键对数据进行分组,在这种情况下是城市。
    参见 here洗牌操作的完整列表。
    此外,您可以在下面看到窄变换(上面的映射操作..第 2 步)和宽变换或随机播放:
    enter image description here

关于apache-spark - Spark 如何实现哪些 RDD 操作需要拆分成单独的 Stage?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42799322/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com