Scala集合操作實戰

        所謂大數據就是:數據的集合以及對數據集合的操作技術的統稱

具體來說:

1、數據集合會涉及數據的蒐集、存儲等,蒐集會有很多技術,存儲現在比較經典的是Hadoop,也有很多使用Kafka

2、對數據集合的操作技術:目前全球最火爆的是Spark


Spark框架的實現語言是Scala,首選的應用程序開發語言也是Scala,所以Scala對集合及數據集合的操作就至關重要且必須異常強大。

一個補充說明是:可能是巧合,Spark中對數據集合的操作的算子與Scala中的集合的操作的算子時一樣一樣的,也就是說你掌握了Scala中的集合操作,基本上就可以直接去開發Spark代碼啦,非常的美妙。

關於Scala中數據的創建與操作:

1、最最原始的創建數據的方式是var arr = new Array[Int](5),指定數組的類型是Int,且指定長度是5個元素

2、對數組元素訪問的時候下標的範圍從0到length-1,超過length-1會包異常

3、最常用和經典的創建方式是Array[Int](3,6,8,1),直接通過類名傳入參數的方式創建數組實例,其背後的實現原理是調用Array的工廠方法模式apply來實例化數組及數據


4、關於Array本身的實現是藉助了JVM平臺上的Java語言的數組的實現,數組長度是不可變的

5、如果我們需要使用可變數組的話,需要導入scala包下面的ArrayBuffer來完成。

注:如果要增加元素的話,默認會直接追加到Arraybuffer的末尾,效率非常高

6、如果想在已經有的數組上對每個元素的作用生成的數組的話,則可以通過yield預發來完成,這在大數據中意義重大

(1)、它是在不修改已有數組的基礎上生成新的數組,非常適合於大數據的處理

(2)、在大數據處理中,例如Spark中業務操作的核心思想就類似於yield,通過使用function對每個元素的操作獲得新的元素構成新的集合,其實就是新的RDD,MapPartitionRDD



7、集合的操作往往需要豐富的操作算子,例如用filter來過濾需要條件的元素,例如map用來加工每一個元素


發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章