dataframe與rdd最大的區別,RDD依賴與DAG

 2023-12-06 阅读 16 评论 0

摘要:寬依賴 & 窄依賴 在spark中,rdd間的依賴關系分為兩種,寬依賴和窄依賴 wide: 父RDD的一個分區對應子RDD的一個分區 該轉換過程的算子叫做窄依賴算子,比如map,filter,union,flatMap narrow: 父RDD的一個分區對應子RDD的多個分區 該轉換過程的算子叫做寬依賴算子,比如groupBy

寬依賴 & 窄依賴

在spark中,rdd間的依賴關系分為兩種,寬依賴和窄依賴
wide:
父RDD的一個分區對應子RDD的一個分區
該轉換過程的算子叫做窄依賴算子,比如map,filter,union,flatMap

narrow:
父RDD的一個分區對應子RDD的多個分區
該轉換過程的算子叫做寬依賴算子,比如groupByKey. reduceByKey aggravateByKey

dataframe與rdd最大的區別?在這里插入圖片描述
源碼

abstract class Dependency[T] extends Serializable {def rdd: RDD[T]
}

寬依賴 & 窄依賴在源碼中的體現
在這里插入圖片描述
為何要劃分這個?
為了確定是否需要shuffle,進而可以劃分stage.

lineage 血統

什么是血統?
RDD之間的依賴關系,這種關系鏈叫做血緣關系.該關系在DAG中維護.

這樣當某一個分區數據丟失,

  • 先看是否有緩存
  • 在看是否有檢查點
  • 從上一個RDD重新計算,不需要從頭計算.提高效率

DAG

有方向,沒有回流的圖,
在這里插入圖片描述

在這里插入圖片描述

版权声明:本站所有资料均为网友推荐收集整理而来,仅供学习和研究交流使用。

原文链接:https://hbdhgg.com/3/189371.html

发表评论:

本站为非赢利网站,部分文章来源或改编自互联网及其他公众平台,主要目的在于分享信息,版权归原作者所有,内容仅供读者参考,如有侵权请联系我们删除!

Copyright © 2022 匯編語言學習筆記 Inc. 保留所有权利。

底部版权信息