现有的hadoop生态系统中存在的问题

1)使用mapreduce进行批量离线分析;
2)使用hive进行历史数据的分析;
3)使用hbase进行实时数据的查询;
4)使用storm进行实时的流处理;
5)。。。。。。
导致:维护成本高、学习成本高
Spark的出现弥补了Hadoop生态系统中的缺陷,使用spark搞定”一切“
 
选用spark的原因
1、One stack to rule them all
    
  1) 应用于流式计算的Spark Streaming
  2) 应用于即席查询(Ad-hoc)的Spark SQL
  3) 应用于机器学习(数据挖掘)的MLlib
  4)应用于图处理的GraphX
  5)将R扩展成并行计算的SparkR
  6)还有权衡精度和速度的查询引擎BlinkDB
 
2、速度快(运行/开发)
  运行速度快的原因:
  1)基于内存计算(从表象来看)
    2)DAG(从深层次来看):把执行过程做成一张图,再来优化
     开发速度快:scala代码更优雅(但是还得学习scala啦。。。。。。)
 
 
Spark和MapReduce对比
1)调度:启动map和reduce任务需要时间
2)数据共享:从HDFS上读取数据执行,每次迭代均要重写将结果写回到HDFS上,后续的迭代如果需要前面运行的结果数据时需要再去HDFS上读取,以此类推,如果迭代N次。。。
3)输出结果数据多副本:数据需要额外的复制、序列化、磁盘/IO的开销
 Spark和MapReduce的区别:迭代时数据写入内存,而不是HDFS上,进而减少大量的磁盘IO开销。
 

为什么要使用Spark?的更多相关文章

  1. Spark踩坑记——Spark Streaming+Kafka

    [TOC] 前言 在WeTest舆情项目中,需要对每天千万级的游戏评论信息进行词频统计,在生产者一端,我们将数据按照每天的拉取时间存入了Kafka当中,而在消费者一端,我们利用了spark strea ...

  2. Spark RDD 核心总结

    摘要: 1.RDD的五大属性 1.1 partitions(分区) 1.2 partitioner(分区方法) 1.3 dependencies(依赖关系) 1.4 compute(获取分区迭代列表) ...

  3. spark处理大规模语料库统计词汇

    最近迷上了spark,写一个专门处理语料库生成词库的项目拿来练练手, github地址:https://github.com/LiuRoy/spark_splitter.代码实现参考wordmaker ...

  4. Hive on Spark安装配置详解(都是坑啊)

    个人主页:http://www.linbingdong.com 简书地址:http://www.jianshu.com/p/a7f75b868568 简介 本文主要记录如何安装配置Hive on Sp ...

  5. Spark踩坑记——数据库(Hbase+Mysql)

    [TOC] 前言 在使用Spark Streaming的过程中对于计算产生结果的进行持久化时,我们往往需要操作数据库,去统计或者改变一些值.最近一个实时消费者处理任务,在使用spark streami ...

  6. Spark踩坑记——初试

    [TOC] Spark简介 整体认识 Apache Spark是一个围绕速度.易用性和复杂分析构建的大数据处理框架.最初在2009年由加州大学伯克利分校的AMPLab开发,并于2010年成为Apach ...

  7. Spark读写Hbase的二种方式对比

    作者:Syn良子 出处:http://www.cnblogs.com/cssdongl 转载请注明出处 一.传统方式 这种方式就是常用的TableInputFormat和TableOutputForm ...

  8. (资源整理)带你入门Spark

    一.Spark简介: 以下是百度百科对Spark的介绍: Spark 是一种与 Hadoop 相似的开源集群计算环境,但是两者之间还存在一些不同之处,这些有用的不同之处使 Spark 在某些工作负载方 ...

  9. Spark的StandAlone模式原理和安装、Spark-on-YARN的理解

    Spark是一个内存迭代式运算框架,通过RDD来描述数据从哪里来,数据用那个算子计算,计算完的数据保存到哪里,RDD之间的依赖关系.他只是一个运算框架,和storm一样只做运算,不做存储. Spark ...

  10. (一)Spark简介-Java&Python版Spark

    Spark简介 视频教程: 1.优酷 2.YouTube 简介: Spark是加州大学伯克利分校AMP实验室,开发的通用内存并行计算框架.Spark在2013年6月进入Apache成为孵化项目,8个月 ...

随机推荐

  1. android 工程出现感叹号错误

    android 工程出现感叹号错误: 错误问题分析,曾经导入的jar已经不存在工程目录中,project从其他地方导入时.没有及时更新,比如说svn下载到.project的文件,或者是path的文件. ...

  2. c#语音报时(含完整的声音资源文件).rar

    private void btnBaoshi_Click(object sender, EventArgs e) { try { System.Threading.Thread thread = ne ...

  3. HTML 元素

    HTML 文档是由 HTML 元素定义的. HTML 元素 HTML 元素指的是从开始标签(start tag)到结束标签(end tag)的所有代码. 开始标签 元素内容 结束标签 <p> ...

  4. 一个自己做的easyui datagird扩展

    var a; $(function () { $("body").bind("contextmenu", function () { return false; ...

  5. 折腾Ipython

    1. 用easy_install安装吧 [root@host python]# easy_install IPython Searching for IPython Reading https://p ...

  6. android学习笔记七——控件(DatePicker、TimePicker、ProgressBar)

    DatePicker.TimePicker ==> DatePicker,用于选择日期 TimePicker,用于选择时间 两者均派生与FrameLayout,两者在FrameLayout的基础 ...

  7. oracle学习笔记(一)配置监听

    服务器端: 监听器   lsnrctl 启动监听 lsnrctl start [LISTENER] 查看监听 lsnrctl  status  或者  lsnrctl  service C:\Docu ...

  8. Redis容量及使用规划(转)

    在使用Redis过程中,我们发现了不少Redis不同于Memcached,也不同于MySQL的特征. (本文主要讨论Redis未启用VM支持情况) 1. Schema MySQL: 需事先设计Memc ...

  9. ADF_Starting系列5_使用ADF开发富Web应用程序之维护User Interface(Part2)

    2014-05-05 Created By BaoXinjian

  10. PLSQL_性能优化系列03_Oracle Parallel并发处理

    2014-09-25 Created By BaoXinjian