一,什么是spark

  定义:Spark一种基于内存的快速,通用,可扩展的大数据分析引擎.

  官网地址:http://spark.apache.org/

  

spark时间不对 spark 事件时间_数据

  历史:2009年诞生于加州伯克利分校AMPLab,项目采用scala编写

    2010年开源

    2013年6月成为Apache孵化项目

    2014年2月成为Apache顶级项目

 

  注:离线计算:会反复的读写磁盘,效率低,很难实现迭代计算,很难做到交互式的数据挖掘.(MapReduce)

   实时流式计算:不反复读写磁盘,效率高,实现迭代计算,做到交互式的数据挖掘.(Spark,当内存不足时,也会有写磁盘操作)

二,Spark的组成

Spark Core:实现了Spark的基本功能,包含任务调度,内存管理,错误恢复,与存储系统交互等模块.还包含了对弹性分布式数据集(RDD)的API定义.

Spark SQL:是Spark用来操作结构化数据的程序包.通过Spark SQL,我们可以使用SQL或者Apache Hive版本的SQL方言(HQL)来查询数据.

Spark Streaming:是Spark提供的对实时数据进行流式计算的组件.提供了用来操作数据的API,并且与Spark Core种的RDD API高度对应.

Spark MLlib:提供常见的机器学习(ML)功能的程序库.包括分类,回归,聚类,协同,过滤等,还提供了模型评估,数据导入等额外的支持功能.

  

集群管理器:Spark 设计为可以高效地在一个计算节点到数千个计算节点之间伸缩计 算。为了实现这样的要求,同时获得最大灵活性,Spark支持在各种集群管理器(Cluster Manager)上运行,包括Hadoop YARN、Apache Mesos,以及Spark自带的一个简易调度 器,叫作独立调度器

三,Spark的应用

  Spark得到了众多大数据公司的支持,这些公司包括Hortonworks、IBM、Intel、Cloudera、MapR、Pivotal、百度、阿里、腾讯、京东、携程、优酷土豆。当前百度的Spark已应用于大搜索、直达号、百度大数据等业务;阿里利用GraphX构建了大规模的图计算和图挖掘系统,实现了很多生产系统的推荐算法;腾讯Spark集群达到8000台的规模,是当前已知的世界上最大的Spark集群。

四,spark特点

  1.Speed:Apache Spark使用最先进的DAG调度程序,查询优化程序和物理执行引擎,实现批量和流式数据的高性能

    

spark时间不对 spark 事件时间_spark时间不对_02

   2,易用性:Spark支持Java、Python和Scala的API,还支持超过80种高级算法,使用户可以快速构建不同的应用。而且Spark支持交互式的Python和Scala的shell,可以非常方便地在这些shell中使用Spark集群来验证解决问题的方法

  

spark时间不对 spark 事件时间_数据_03

  3,通用性

  

spark时间不对 spark 事件时间_Apache_04

4,兼容性

   

spark时间不对 spark 事件时间_spark时间不对_05

   

Mesos:Spark可以运行在Mesos里面(Mesos 类似于yarn的一个资源调度框架)

standalone:Spark自己可以给自己分配资源(master,worker)

YARN:Spark可以运行在yarn上面

 Kubernetes:Spark接收 Kubernetes的资源调度