Apache Spark的運算元的作用

來源:互聯網
上載者:User

標籤:

 首先,關於spark運算元的分類,詳細見http://www.cnblogs.com/zlslch/p/5723857.html

  1、Transformation 變換/轉換運算元

  1、map運算元

  2、flatMap運算元

  3、mapPartitions運算元

  4、union運算元

  5、cartesian運算元

  6、grouBy運算元

  7、filter運算元

  8、sample運算元

  9、cache運算元  

  10、persist運算元

  11、mapValues運算元

  12、combineByKey運算元

  13、reduceByKey運算元

  14、join運算元

  2、Action 行動運算元

  1、foreach運算元

  2、saveAsTextFile運算元

  3、collect運算元

  4、count算

 

   簡單地總結:

  通過Action運算元,觸發Spark提交作業。

  通過Cache運算元,將資料緩衝到記憶體。

   

  

                      圖1  Spark運算元和資料空間

  描述了Spark的輸入、 運行轉換、 輸出。 在運行轉換中通過運算元對RDD進行轉換。運算元是RDD中定義的函數,可以對RDD中的資料進行轉換和操作。
  1)輸入:在Spark程式運行中,資料從外部資料空間(如分布式儲存:textFile讀取HDFS等,parallelize方法輸入Scala集合或資料)輸入Spark,資料進入Spark運行時資料空間,轉化為Spark中的資料區塊,通過BlockManager進行管理。
  2)運行:在Spark資料輸入形成RDD後便可以通過變換運算元,如fliter等,對資料進行作並將RDD轉化為新的RDD,通過Action運算元,觸發Spark提交作業。 如果資料需要複用,可以通過Cache運算元,將資料緩衝到記憶體。
  3)輸出:程式運行結束資料會輸出Spark運行時空間,儲存到分布式儲存中(如saveAsTextFile輸出到HDFS),或Scala資料或集合中(collect輸出到Scala集合,count返回Scala int型資料)。Spark的核心資料模型是RDD,但RDD是個抽象類別,具體由各子類實現,如MappedRDD、 ShuffledRDD等子類。 Spark將常用的大資料操作都轉化成為RDD的子類。

 

  

Apache Spark的運算元的作用

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.