Scala集合操作实战

来源:互联网 发布:销售清单打印软件 编辑:程序博客网 时间:2024/06/05 03:33

        所谓大数据就是:数据的集合以及对数据集合的操作技术的统称

具体来说:

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用来加工每一个元素