回覆列表
-
1 # 使用者2464103222849
-
2 # 程式技術員
先來了解一下什麼是RDD。
RDD概念RDD就是一個分散式物件集合,本質上是一個只讀的分割槽記錄集合。
每個RDD可以分成多個分割槽,每個分割槽就是一個數據集片段(HDFS上的塊),並且一個RDD的不同分割槽可以被儲存到叢集中不同的節點上,從而可以在叢集中的不同節點上進行平行計算。
RDD提供了一種高度受限的共享記憶體模型,即RDD是隻讀的記錄分割槽的集合,不能直接修改,只能基於穩定的物理儲存中的資料集來建立RDD,或者透過在其他RDD上執行確定的轉換操作(如map、join和groupBy)而建立得到新的RDD。
RDD提供了一組豐富的操作以支援常見的資料運算,分為“行動”(Action)和“轉換”(Transformation)兩種型別,前者用於執行計算並指定輸出的形式,後者指定RDD之間的相互依賴關係。
兩類操作的主要區別是,轉換操作(比如map、filter、groupBy、join等)接受RDD並返回RDD,而行動操作(比如count、collect等)接受RDD但是返回非RDD(即輸出一個值或結果)。
RDD預設是2個分割槽,需要我們自己指定分割槽。
指定分割槽可以透過
new SparkConetxt(new SparkConf).parallelize()這種方式對分割槽進行指定
科普Spark,Spark是什麼,如何使用Spark 1.Spark基於什麼演算法的分散式計算(很簡單) 2.Spark與MapReduce不同在什麼地方 3.Spark為什麼比Hadoop靈活 4.Spark侷限是什麼 5.什麼情況下適合使用Spark 本回答由網友推薦