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. jpa Auditor 自动赋值与自定义 @CreatedBy @LastModifiedBy @CreatedDate @LastModifiedDate

    在spring jpa audit 中,在字段或者方法上使用注解@CreatedDate.@CreatedBy.@LastModifiedDate.@LastModifiedBy,当进行实体插入或者更 ...

  2. 原生JS实现banner图的滚动与跳转

    HTML部分: <div id="banner"> <!--4张滚动的图片--> <div id="inside"> < ...

  3. shell 批量远程主机执行命令

    [yunwei@Y24-209 ~]$cat ls.sh #!/bin/bash ip55=`cat ip1` for i in $ip55;do ping -c 1 $i if [ $? -eq 0 ...

  4. java abs(绝对值) , max(最大值),min(最小值) 方法的应用

    在写程序是,我们常常会计算一个数的绝对值,这时我们可以使用java里的方法来计算 public class Demo1{ public static void main(String [] args) ...

  5. docker安装redis

    查询镜像 docker search redis 拉取镜像 docker pull redis 启动容器 docker run --name redis -p 6379:6379 -d --resta ...

  6. 论文阅读笔记(一)FCN

    本文先对FCN的会议论文进行了粗略的翻译,使读者能够对论文的结构有个大概的了解(包括解决的问题是什么,提出了哪些方案,得到了什么结果).然后,给出了几篇博文的连接,对文中未铺开解释的或不易理解的内容作 ...

  7. [经验交流] 试用基于 influxdb+kapacitor 的监控系统

    2017年10月16日: 使用中发现kapacitor的ui过于简单,不能满足实际工作需要,现已切换到grafana --------- 两个月前试用了基于 elasticsearch + xpack ...

  8. I/O多路复用之select、poll、epoll

    很早之前有写过篇IO多路复用的文章:https://www.cnblogs.com/klcf0220/archive/2013/05/14/3077003.html 参考链接:https://segm ...

  9. docker简单介绍----docker仓库的应用

    docker hub:主要用来存储docker镜像的仓库 docker默认提供了一个docker仓库,我们也可以自建私有仓库或者使用第三方的docker仓库来pull或者push镜像 这里我们以阿里云 ...

  10. python设置虚拟环境

    一.介绍 虚拟环境-virtualenv是一个用于隔绝的python环境的工具,虚拟环境与本地环境互相隔离,互不影响,例如我们要安装django2.0的版本但是本地已经安装了1.1的,这时只需要在本地 ...