我有个问题Python Spark的宽转换和窄转换在RDD和结构化API中都有,对吗?
我的意思是,我想我知道了宽变换和窄变换的区别。我的观点是,它们是一个或另一个python Spark API的独占(无论它是否是RDD)?
广泛的转变:
- 这些操作需要在分区之间移动数据。
- 这意味着数据需要在executor或worker节点之间移动。
- Spark中广泛转换的一些例子包括:
- groupBy
- 按键分组()
- ReduceByKey()
- aggregate()
- aggregateByKey()
- 相异()
- join()
- repartition()
狭义变换:
- 计算位于单个分区上的数据,这意味着在分区之间不会有任何数据移动来执行窄转换
- map()
- filter()
非常感谢!
1条答案
按热度按时间42fyovps1#
数据框架是RDD的更高抽象。
宽转换和窄转换适用于框架和RDD。
例如,分组将导致 Shuffle 与两者,广泛的转变。
狭义变换,例如过滤器同样以相同的方式应用于两者,并且将不存在混洗。所以才有狭义。