您好,登錄后才能下訂單哦!
這篇文章主要介紹Spark在運行轉換中如何通過算子對RDD進行轉換,文中介紹的非常詳細,具有一定的參考價值,感興趣的小伙伴們一定要看完!
算子運行過程
下圖描述了Spark在運行轉換中通過算子對RDD進行轉換。 算子是RDD中定義的函數,可以對RDD中的數據進行轉換和操作。
1、輸入:在Spark程序運行中,數據從外部數據空間(如分布式存儲:textFile讀取HDFS等,parallelize方法輸入Scala集合或數據)輸入Spark,數據進入Spark運行時數據空間,轉化為Spark中的數據塊,通過BlockManager進行管理。
2、運行:在Spark數據輸入形成RDD后便可以通過變換算子,如filter等,對數據進行操作并將RDD轉化為新的RDD,通過Action算子,觸發Spark提交作業。 如果數據需要復用,可以通過Cache算子,將數據緩存到內存。
3、輸出:程序運行結束數據會輸出Spark運行時空間,存儲到分布式存儲中(如saveAsTextFile輸出到HDFS),或Scala數據或集合中(collect輸出到Scala集合,count返回Scala int型數據)。
算子分類
大致可以分為三大類算子:
1、Value數據類型的Transformation算子,這種變換并不觸發提交作業,針對處理的數據項是Value型的數據。
2、Key-Value數據類型的Transfromation算子,這種變換并不觸發提交作業,針對處理的數據項是Key-Value型的數據對。
3、Action算子,這類算子會觸發SparkContext提交Job作業。
以上是“Spark在運行轉換中如何通過算子對RDD進行轉換”這篇文章的所有內容,感謝各位的閱讀!希望分享的內容對大家有幫助,更多相關知識,歡迎關注億速云行業資訊頻道!
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。