简介
Spark是基于内存计算的大数据分布式计算框架。Spark基于内存计算,提供可交互查询方式,提供近实时处理方式,同时保证了高容错性和高可伸缩性,允许用户将Spark部署在大量廉价硬件之上,形成集群。
Spark使用Scala语言进行实现,它是一种面向对象、函数式编程语言,能够像操作本地集合对象一样轻松地操作分布式数据集(Scala提供一个称为Actor的并行模型,其中Actor通过它的收件箱来发送和接收非同步信息而不是共享数据,该方式被称为:Shared Nothing模型)。
特点
-
运行速度快
数据从内存中读取,理论上速度可以高达HadoopMapReduce的100多倍。 -
适用性强
- 支持3种语⾔言的API:scala、java、python,特别是Scala是一种高效、可拓展的语言,能够用简洁的代码处理较为复杂的处理工作。
- 能够读取HDFS、Cassandra和HBase等离线数据。
- 能够读取Kafka、Flume和Kinesis等实时数据。
- 能够以Mesos、YARN或Standalone作为资源管理器调度JOB,进行集群资源的合理分配和容错,来完成Spark应用程序的计算。
-
通用性强
Spark生态圈即BDAS(