1基本概念
1.1什么是Spark
Spark是一种计算框架,是与mapreduce不一样的计算框架。他与Hadoopmapreduce相比具有以下优势:
1) Spark通过将中间结果缓存在内存,而不是磁盘,因此很适合于多阶段的作业,如需多次迭代的机器学习。而mapreduce则将中间结果每次都存到磁盘,速度下降很多。
2) Spark在通信方面采用Akaa框架的(角色)Actor模型,并通过线程池复用线程来避免进程或线程启动和切换开销。而Hadoopmapreduce最初的设计是为了离线批量计算大文件,运行都是好几个小时,所以作业调度中秒级的开销根本没考虑和优化。
3) Spark任务在Shuffle中不是所有情景都需要排序。而MapReduce在数据Shuffle之前花费了大量的时间来排序。
总之,Spark在速度上要比mapreduce快很多。
在流式计算方面,Spark流计算与Storm相比,速度不及Storm。Storm可以达到毫秒级响应,而Spark只能达到秒级。但是Spark流计算更适合于计算较复杂的应用,特别是需要流数据与历史数据结合的计算。而Storm只能完成简单的计算,如广告点击率等。
此外,Spark的吞吐量要远高于Storm。
1.4 Mesos
Mesos 是一个资源管理框架一,提供类似于YARN 的功能。YARN是Hadoop中的一个资源管理框架
1.5 Tachyon
Tachyon(读:忒ki样) 是一个分布式内存文件系统,可以理解为内存中的HDFS。为了提供更高的性能,将数据存储剥离Java Heap。用户可以基于Tachyon 实现RDD 或者文件的跨应用共享,并提供高容错机制,保证数据可靠性。
1.6 Zookeeper
用于解决分布式系统中一致性问题。
1.7 大数据
大数据很难有一个明确定义。但是他这样几个特点,即大容量、繁杂、高价值、快速,也就是4个V。它与海量数据相比,我认为很难有一个界定,更多的是一种商业性的口号、名称,它与海量数据有很多交叉的地方,只是为了适应新的网络化世界,而提出这种大数据概念。