Spark 中的宽变换和窄变换

问题描述 投票:0回答:1

我有一个问题:Python Spark 的宽变换和窄变换在 RDD 和结构化 API 中都可以找到,对吗?

我的意思是,我想我明白了宽变换和窄变换之间的区别。我的观点是,它们是否专用于一个或另一个 python Spark API(无论是否是 RDD)?

广泛的转变:

  • 这些是需要跨分区混洗数据的操作。

  • 这意味着数据需要在执行器或工作节点之间移动。

  • Spark 中广泛转换的一些示例包括:

    • 分组依据
    • groupByKey()
    • reduceByKey()
    • 聚合()
    • aggregateByKey()
    • 不同()
    • 加入()
    • 重新分区()

狭窄的转变:

  • 计算位于单个分区上的数据,这意味着分区之间不会有任何数据移动来执行窄转换

  • 地图()

  • 过滤器()

非常感谢!

python apache-spark pyspark rdd
1个回答
0
投票

Dataframes 是 RDD 的更高抽象。宽变换和窄变换都适用于数据帧和 RDD。例如。分组依据将导致两者的洗牌、广泛的转换。同样是狭窄的转变。

© www.soinside.com 2019 - 2024. All rights reserved.