Spark核心概念RDD(Resilient Distributed Datasets)

U4dbsfaasa 8年前發布 | 8K 次閱讀 分布式/云計算/大數據

來自: http://my.oschina.net/sulliy/blog/617259


本文介紹Spark的RDD。作為一個概念,RDD本身是與編程語言無關的,你即可以用Scala實現,也可以是Java、C++之類的語言。當初伯克利決定用Scala就是因為它寫的代碼簡單明了。

RDD是一種數據模型,跟分布式的共享內存類似。RDD的特征在于:

  • 是只讀的內存數據,但可以持久化

  • 是可以分區數據集合

  • 是一個對象,可以調用它的方法執行一些變換操作(transformations )

  • 是可恢復的。不同與數據多副本的備份方式不同,TDD的恢復可以通過重復執行變換操作(transformations )得到

  • 變換操作(transformations )是延遲操作,只有真正需要的時候才執行

有兩種方式創建RDD:

  • 從持久化的數據上創建,比如硬盤、HDFS上的文件

  • 從其他RDD上通過變換(transformations )創建

RDD的適用性:

  • 對數據中的所有元素需要進行大量的相同操作

RDD上可用的變換操作(transformations )和其他操作

 本文由用戶 U4dbsfaasa 自行上傳分享,僅供網友學習交流。所有權歸原作者,若您的權利被侵害,請聯系管理員。
 轉載本站原創文章,請注明出處,并保留原始鏈接、圖片水印。
 本站是一個以用戶分享為主的開源技術平臺,歡迎各類分享!