pyspark Spark中的宽变换和窄变换

bf1o4zei  于 2023-10-15  发布在  Spark
关注(0)|答案(1)|浏览(146)

我有个问题Python Spark的宽转换和窄转换在RDD和结构化API中都有,对吗?
我的意思是,我想我知道了宽变换和窄变换的区别。我的观点是,它们是一个或另一个python Spark API的独占(无论它是否是RDD)?
广泛的转变:

  • 这些操作需要在分区之间移动数据。
  • 这意味着数据需要在executor或worker节点之间移动。
  • Spark中广泛转换的一些例子包括:
  • groupBy
  • 按键分组()
  • ReduceByKey()
  • aggregate()
  • aggregateByKey()
  • 相异()
  • join()
  • repartition()

狭义变换:

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

非常感谢!

42fyovps

42fyovps1#

数据框架是RDD的更高抽象。
宽转换和窄转换适用于框架和RDD。
例如,分组将导致 Shuffle 与两者,广泛的转变。
狭义变换,例如过滤器同样以相同的方式应用于两者,并且将不存在混洗。所以才有狭义。

相关问题