当前位置:   article > 正文

关于大数据生态与Spark简介(一)_大数据不仅仅数据的大量化

大数据不仅仅数据的大量化

大数据生态与Spark

1. 大数据技术概述

大数据不仅仅是数据的“大量化”,而是包含“快速化”、“多样化”和“价值化”等多重属性。

大数据是由结构化和非结构化数据组成的

  • 10%的结构化数据,存储在数据库中
  • 90%的非结构化数据,它们与人类信息密切相关

在思维方式方面,大数据完全颠覆了传统的思维方式:

  • 全样而非抽样
  • 效率而非精确
  • 相关而非因果

大数据技术的不同层面及其功能
在这里插入图片描述
两大核心技术分布式存储分布式处理

  • GFS\HDFS
  • BigTable\HBase
  • NoSQL(键值、列族、图形、文档数据库)
  • NewSQL(如:SQL Azure)

代表性大数据技术
Hadoop、Spark、Flink、Beam

2.Hadoop

Hadoop是Apache软件基金会下用Java语言开发的一个开源分布式计算平台, 实现在大量计算机组成的集群中对海量数据进行分布式计算,适合大数据的分布式存储和计算平台,用户可以在不了解分布式底层细节的情况下,开发分布式程序,充分利用集群的威力进行高速运算和存储。

Hadoop生态系统
在这里插入图片描述

Hadoop——MapReduce

MapReduce是一种基于java的分布式计算的处理技术和程序模型

  • MapReduce将复杂的、运行于大规模集群上的并行计算过程高度地抽象到了两个函数:Map和Reduce
  • 编程容易,不需要掌握分布式并行编程细节,也可以很容易把自己的程序运行在分布式系统上,完成海量数据的计算
  • MapReduce采用“分而治之”策略,一个存储在分布式文件系统中的大规模数据集,会被切分成许多独立的分片(split),这些分片可以被多个Map任务并行处理

MapReduce工作流程
在这里插入图片描述

Hadoop——YARN

YARN是Hadoop集群的资源管理系统

  • YARN的目标就是实现“一个集群多个框架”,即在一个集群上部署一个统一的资源调度管理框架YARN,在YARN之上可以部署其他各种计算框架
  • 由YARN为这些计算框架提供统一的资源调度管理服务,并且能够根据各种计算框架的负载需求,调整各自占用的资源,实现集群资源共享和资源弹性收缩
  • 可以实现一个集群上的不同应用负载混搭,有效提高了集群的利用率 不同计算框架可以共享底层存储,避免了数据集跨集群移动

在YARN上部署各种计算框架
在这里插入图片描述

3.Spark简介

概念:Spark是基于内存计算的大数据并行计算框架,可用于构建大型的、低延迟的数据分析应用程序
Spark是当前热门的大数据处理技术

特点

  • 运行速度快:使用DAG执行引擎以支持循环数据流与内存计算
  • 容易使用:支持使用Scala、Java、Python和R语言进行编程,可以通过Spark Shell进行交互式编程
  • 通用性:Spark提供了完整而强大的技术栈,包括SQL查询、流式计算、机器学习和图算法组件
  • 运行模式多样:可运行于独立的集群模式中,可运行于Hadoop中,也可运行于Amazon EC2等云环境中,并且可以访问HDFS、Cassandra、HBase、Hive等多种数据源

Spark架构图
在这里插入图片描述

4.Hadoop与Spark的对比

Hadoop的缺点:

  • 表达能力有限
  • 磁盘IO开销大
  • 延迟高
  • 任务之间的衔接涉及IO开销
  • 在前一个任务执行完成之前,其他任务就无法开始,难以胜任复杂、多阶段的计算任务

Hadoop与Spark的对比

Spark在借鉴Hadoop MapReduce优点的同时,很好地解决了MapReduce所面临的问题

相比于Hadoop MapReduce,Spark主要具有如下优点:

  • Spark的计算模式也属于MapReduce,但不局限于Map和Reduce操作,还提供了多种数据集操作类型,编程模型比Hadoop
    MapReduce更灵活
  • Spark提供了内存计算,可将中间结果放到内存中,对于迭代运算效率更高
  • Spark基于DAG的任务调度执行机制,要优于HadoopMapReduce的迭代执行机制
  • 使用Hadoop进行迭代计算非常耗资源
  • Spark将数据载入内存后,之后的迭代计算都可以直接使用内存中的中间结果作运算,避免了从磁盘中频繁读取数据

Hadoop与Spark的执行流程对比
在这里插入图片描述
Hadoop与Spark执行逻辑回归的时间对比
在这里插入图片描述

Spark没有存储,借助于Hadoop的HDFS、HBase等来完成数据的存储,然后,由Spark完成数据的计算

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/神奇cpp/article/detail/855107
推荐阅读
相关标签
  

闽ICP备14008679号