Spark 是当今大数据领域最活跃、最热门、最高效的大数据通用计算平台之一,是基于内存计算的大数据并行计算框架。spark拥有通用性强,运行模式多样,运行速度快,容易使用等特点。
将spark与mapreduce对比,spark的编程模型更加灵活,spark提供了内存计算,可以将中间成果放入内存中,对于迭代运算效率更高,spark基于DAG的任务调度执行机制让其迭代执行机制优于mapreduce。
spark的核心为RDD,即弹性分布式数据集,提供了一种高度受限的共享内存模型,它拥有高效的容错性,它可以将中间结果持久化到内存,数据在内存中的多个RDD操作直接按进行传递,避免了不必要的读写磁盘开销,它可以存放Java对象,避免了不必要的对象序列化和反序列化。
Scala是一门现代的多范式编程语言 ,运行于IAVA平台(JVM,JAVA虚拟机)并兼容现有的JAVA程序,它具备强大的并发性,支持函数式编程,可以更好地支持分布式系统,它语法简介,运行速度快,它兼容Java且可以融合到Hadoop生态圈中。
在scala上定义常量需要用val变量用var,定义范围用箭头,如1<=x<=3表示为x<-(1,3)
如果需要使用spark,可以在IDEA上下载scala并使用spark包,也可以使用虚拟机在linux操作系统上进行分布式操作,并装上spark使用。