Spark:快速的通用的分布式计算框架


  概述和特点:

    1) Speed,(开发和执行)速度快。基于内存的计算;DAG(有向无环图)的计算引擎;基于线程模型;

    2)Easy of use,易用 。 多语言(Java,python,scala,R); 多种计算API可调用;可在交互式模式下运行;

    3)Generality  通用。可以一站式解决多个不同场景的应用业务

      

        Spark Streaming :用来做流处理

        MLlib : 用于机器学习

        GraphX:用来做图形计算的

    4) Runs Everywhere 

      (1)可以运行在Hadoop的yarn,Mesos,standalone(Sprk自带的)这些资源管理和调度的程序之上

      (2) 可以连接包括HDFS,Cassandra,HBase,S3这些数据源 

          

  产生背景:

    1)MapReduce 局限性

      (1)代码繁琐(官网有WordOCunt案例)

      (2)效率低下:

          a) 有结果写入磁盘,降低效率;

          b) 通过进程模型,销毁创建效率低

      (3)只能支持map和reduce方法

      (4) 不适合迭代多次,交互式,流水的处理

    2) 框架的多样化

      (1)批处理(离线):MapReduce,Hive,Pig

      (2)流式处理(实时):Storm,Jstorm

      (3)交互式计算 :Impala

    综上: 框架的多样化导致生产时所需要的框架繁多,学习运维成本较高,那么有没有一种框架,

      既能执行效率高,学习成本低,还能支持批处理和流式处理与交互计算呢?

    结论:Spark诞生

  Spark与Hadoop对比:

      Hadoop生态系统

          

          Hive:数据仓库

          R:数据分析

          Mahout:机器学习库

          pig:脚本语言,跟Hive类似

          Oozie:工作流引擎,管理作业执行顺序

          Zookeeper:用户无感知,主节点挂掉选择从节点作为主的

          Flume:日志收集框架

          Sqoop:数据交换框架,例如:关系型数据库与HDFS之间的数据交换

          Hbase : 海量数据中的查询,相当于分布式文件系统中的数据库

     BDAS:Berkeley Data Analytics Stack(伯克利数据分析平台)

      

      

     Spark与Hadoop生态圈对比

      

    注意:在对实时的查询来说,Spark只是一个快速的分布式计算框架,所以没有存储的框架,但是可以连接多个存储的数据源

    Hadoop与Spark对比

      

    MapReduce与Spark对比:

        MapReduce:若进行多次计算,MP则需要将上一次执行结果写入到磁盘,叫做数据落地

        Spark:直接将存储在内存中的结果拿来使用,没有数据落地

        

  Spark与Hadoop的协作性

    

Spark概述和与Hadoop对比

    

     

Spark环境搭建(五)-----------Spark生态圈概述与Hadoop对比的更多相关文章

  1. Hive On Spark环境搭建

    Spark源码编译与环境搭建 Note that you must have a version of Spark which does not include the Hive jars; Spar ...

  2. Spark环境搭建(上)——基础环境搭建

    Spark摘说 Spark的环境搭建涉及三个部分,一是linux系统基础环境搭建,二是Hadoop集群安装,三是Spark集群安装.在这里,主要介绍Spark在Centos系统上的准备工作--linu ...

  3. 分布式计算框架-Spark(spark环境搭建、生态环境、运行架构)

    Spark涉及的几个概念:RDD:Resilient Distributed Dataset(弹性分布数据集).DAG:Direct Acyclic Graph(有向无环图).SparkContext ...

  4. Spark学习进度-Spark环境搭建&Spark shell

    Spark环境搭建 下载包 所需Spark包:我选择的是2.2.0的对应Hadoop2.7版本的,下载地址:https://archive.apache.org/dist/spark/spark-2. ...

  5. 大数据学习系列之六 ----- Hadoop+Spark环境搭建

    引言 在上一篇中 大数据学习系列之五 ----- Hive整合HBase图文详解 : http://www.panchengming.com/2017/12/18/pancm62/ 中使用Hive整合 ...

  6. 4.Spark环境搭建和使用方法

    一.安装Spark spark和Hadoop可以部署在一起,相互协作,由Hadoop的HDFS.HBase等组件复制数据的存储和管理,由Spark负责数据的计算. Linux:CentOS Linux ...

  7. 学习Spark——环境搭建(Mac版)

    大数据情结 还记得上次跳槽期间,与很多猎头都有聊过,其中有一个猎头告诉我,整个IT跳槽都比较频繁,但是相对来说,做大数据的比较"懒"一些,不太愿意动.后来在一篇文中中也证实了这一观 ...

  8. Spark环境搭建(六)-----------sprk源码编译

    想要搭建自己的Hadoop和spark集群,尤其是在生产环境中,下载官网提供的安装包远远不够的,必须要自己源码编译spark才行. 环境准备: 1,Maven环境搭建,版本Apache Maven 3 ...

  9. Spark环境搭建(四)-----------数据仓库Hive环境搭建

    Hive产生背景 1)MapReduce的编程不便,需通过Java语言等编写程序 2) HDFS上的文缺失Schema(在数据库中的表名列名等),方便开发者通过SQL的方式处理结构化的数据,而不需要J ...

随机推荐

  1. jmeter和loadrunner关于分布式部署测试计划的优缺点

    1.都可以实现分布式负载,相对来说loadrunner更强大一些 2.都支持在windows和linux环境的负载生成器,控制台方面,jmeter跨平台,而loadrunner不是 3.loadrun ...

  2. Linux基础命令(三)——>文件过滤及内容编辑处理命令

    1.cat   合并文件或查看文件内容 基本功能:cat   test.txt     查看文件内容 也可以多文件显示 cat  test1.txt test2.txt >test3.txt   ...

  3. Python 面试总结

    公司面试: 1,说说项目都用到了什么技术? 2,mysql索引的种类? 3,索引建多有什么不好? 4,mysql的引擎有什么? 5,redis是单线程还是多线程的? 6, redis的持久化机制? 7 ...

  4. MySQL中使用group_concat()函数数据字符过长报错的问题解决方法

    最近在办公软件项目,在开发权限指标遇到一个问题:我们系统的一些逻辑处理是用存储过程实现的,但是有一天客户反馈说权限指标分配报错,查了分配的权限数据牵扯到的数据权限基础资源,没有问题.权限指标分配的存储 ...

  5. day12 函数对象,名称空间与作用域

    """ 今日内容: 1.函数参数传值细节 2.三元表达式 3.列表及字典推导式 4.函数对象 5.名称空间与作用域 6.函数的嵌套定义初识 ""&qu ...

  6. TCP 和UDP协议的应用考虑

    linux uboot烧写采用的是TFTP协议,是基于UDP的不可靠需要自定义包头包围的网络升级方式. 代码比较简单,容易实现单片机的移植和使用,倒是可以考虑实现一种远程升级的方式. 但是事实上,对于 ...

  7. linux 清空catalina.out日志 不需要重启tomcat(五种方法)【转】

    1.重定向方法清空文件   [root@localhost logs]# du -h catalina.out  查看文件大小17M catalina.out[root@localhost logs] ...

  8. 为什么要使用`QuerySet.iterator()`

    用django的custom command功能,写了一个脚本,目的是修正生成环境的数据,tqdm告诉我运行时长预估是2小时. 一个小时后,正在吃午饭的我,接到了很多微信推送.客户告诉我服务不可用,同 ...

  9. multiwan 脚本

    以下为校区ACM实验室多拨脚本,使用了macvlan模块,具体策略路由和连接标记等思路就不解释了. #! /bin/bash getip() { |grep -o -e 'inet addr:[^ ] ...

  10. 一丶Http协议

    一 HTTP概述 HTTP(hypertext transport protocol),即超文本传输协议.这个协议详细规定了浏览器和万维网服务器之间互相通信的规则. HTTP就是一个通信规则,通信规则 ...