• 企业400电话
  • 微网小程序
  • AI电话机器人
  • 电商代运营
  • 全 部 栏 目

    企业400电话 网络优化推广 AI电话机器人 呼叫中心 网站建设 商标✡知产 微网小程序 电商运营 彩铃•短信 增值拓展业务
    Spark简介以及与Hadoop对比分析

    1. Spark 与 Hadoop 比较

    1.1 Haoop 的缺点

    1.2 相较于Hadoop MR的优点

    Spark MapReduce
    数据存储结构 使用内存构建弹性分布式数据集RDD,对数据进行运算和cache。 磁盘HDFS文件系统的split
    编程范式 DAG(Transformation+Action) Map+Reduce
    计算中间结果的存储 在内存中维护,存取速度比磁盘高几个数量级 落到磁盘,IO及序列化、反序列化代价大
    Task维护方式 线程 进程
    时间 对于小数据集读取能够达到亚秒级的延迟 需要数秒时间才能启动任务

    2. Spark 生态系统

    2.1 大数据处理的三种类型

    1. 复杂的批量数据处理

    时间跨度在数十分钟到数小时

    Haoop MapReduce

    2. 基于历史数据的交互式查询

    时间跨度在数十秒到数分钟

    Cloudera、Impala 这两者实时性均优于hive。

    3. 基于实时数据流的数据处理

    时间跨度在数百毫秒到数秒

    Storm

    2.2 BDAS架构

    2.3 Spark 生态系统

    3. 基本概念与架构设计

    3.1 基本概念

    3.2 运行架构

    Spark采用Executor的优点:(相比于Hadoop的MR)

    3.3 各种概念之间的相互关系

    当执行一个Application时,Driver会向集群管理器申请资源,启动Executor,

    并向Executor发送应用程序代码和文件,然后在Executor上执行Task,运行结束后,

    执行结果会返回给Driver,或者写到HDFS或者其他数据库中。

    4. Spark运行基本流程

    4.1 运行流程

    1. 为应用构建起基本的运行环境,即由Driver创建一个SparkContext进行资源的申请、任务的分配和监控。

    2. 资源管理器为Executor分配资源,并启动Executor进程。

    4. Task在Executor上运行把执行结果反馈给TaskScheduler,然后反馈给DAGScheduler,运行完毕后写入数据并释放所有资源。

    4.2 运行架构特点

    1. 每个Application都有自己专属的Executor进程,并且该进程在Application运行期间一直驻留。Executor进程以多线程的方式运行Task。

    2. Spark运行过程与资源管理器无关,只要能够获取Executor进程并保持通信即可。

    3. Task采用了数据本地性和推测执行等优化机制。(计算向数据靠拢。)

    5. Spark的部署和应用方式

    5.1 Spark的三种部署方式

    5.1.1 Standalone

    类似于MR1.0,slot为资源分配单位,但性能并不好。

    5.1.2 Spark on Mesos

    Mesos和Spark有一定的亲缘关系。

    5.1.3 Spark on YARN

    mesos和yarn的联系

    5.2 从Hadoop+Storm架构转向Spark架构

    Hadoop+Storm架构

    这种部署方式较为繁琐。

    用Spark架构满足批处理和流处理需求

    Spark用快速的小批量计算模拟流计算,并非真实的流计算。

    无法实现毫秒级的流计算,对于需要毫秒级实时响应的企业应用而言,仍需采用流计算框架Storm等。

    Spark架构的优点:

    5.3 Hadoop和Spark的统一部署

    不同计算框架统一运行在YARN中

    好处如下:

    现状:

    1. Spark目前还是无法取代Hadoop生态系统中的一些组件所实现的功能。

    2. 现有的Hadoop组件开发的应用,完全迁移到Spark上需要一定的成本。

    到此这篇关于Spark简介以及与Hadoop对比分析的文章就介绍到这了,更多相关Spark与Hadoop内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!

    上一篇:解决服务器运行jupyter notebook方法
    下一篇:基于Docker+Selenium Grid的测试技术应用示例代码
  • 相关文章
  • 

    © 2016-2020 巨人网络通讯 版权所有

    《增值电信业务经营许可证》 苏ICP备15040257号-8

    Spark简介以及与Hadoop对比分析 Spark,简介,以及,与,Hadoop,