当前位置:   article > 正文

Spark、Hadoop、HDFS简介_简述hdfs与spark的特点

简述hdfs与spark的特点

参考《Python+Spark 2.0+Hadoop机器学习与大数据实战_林大贵(著) 清华大学出版社》

1、Spark

(1)大数据运算平台spark的应用
  • Spark Streaming 数据流处理
  • Spark SQL 互动分析
  • MLlib 机器学习

Spark的核心是RDD弹性分布式数据集,可以导入HDFS、HBase、Hadoop的数据源

(2)Spark特色

在这里插入图片描述

(3)主要功能:

在这里插入图片描述

(4)spark处理数据方式

RDD、DataFrame、SparkSQL(难度RDD>DataFrame>SparkSQL)
使用RDD必须有Map/Reduce的概念
DataFrame与SparkSQL使用速度比RDD快

(5)使用python优势

代码简单、高生产力、面向对象和函数式动态语言、数据分析模块(Numpy、Matplotlib、Pandas、scikit-learn)

(6)Python、Spark机器学习
  • 可以使用HDFS分布式存储大量数据
  • 在多台计算机上建立集群,执行分布式计算:Spark stand alone、Hadoop YARN 、Mesos
①两个API:
  • Spark MLlib:RDD-based API(以RDD为基础,可发挥in-memory、分布式运算)
  • Spark ML pipline:Dataframes-based API
②计算流程:
  • 读取数据到Spark DataFrame(可读取Hadoop、MySQL中的数据)
  • 使用Spark MLPipline机器学习进行训练、预测
  • 将结果存回Spark DataFrame
  • 转换到Pandas中的DataFrame
  • 利用python中的可视化工具Matplotlib等进行数据可视化
    在这里插入图片描述
③Spark ML Pipline流程

在这里插入图片描述

(7)Spark2.0
  • 新增SparkSession,具备SQLContext与HiveContext功能
  • 开发以Spark ML Pipline为主
  • 新增DataSet API
  • 新的结构化数据流处理方式:Structured Streaming API ,可以使用DataFrame/DataSet API,整合了streaming数据流处理、interactive互动查询与batch queries批次查询
(8)大数据
  • 数据量大
  • 数据类型多样化:文字、图片、音乐、视频
  • 时效性要求高:大量数据短时间得到分析结果
  • 基于数据的决策:商业趋势、金融等

2、Hadoop

存储与处理大量数据的平台

(1)Hadoop特性

在这里插入图片描述

(2)Hadoop HDFS分布式文件系统

利用HDFS,可以将单台服务器扩充到数千台服务器

  • NameNode服务器管理与维护HDFS目录系统并控制文件的读写操作
  • DataNode服务器存储数据
    在这里插入图片描述
①HDFS的设计:
  • Streaming流式数据存取:HDFS是批处理,可以提高存取大数据的能力,牺牲响应时间
  • 大数据集:HDFS提供cluster集群架构,存储大数据文件,集群可扩充至几百个节点
  • 简单一致性模型:HDFS存取模式是一次写入多次读取,提高存储大数据能力,简化数据一致性问题
  • 需要计算时,在接近数据的服务器中运行,而不是搬移数据,减少数据搬移的时间耗费
②HDFS存储架构

以HDFS命令存储文件时,系统会将文件切割成多个区块(A.B.C)
在这里插入图片描述

  • 文件区块默认复制3份,可在Hadoop配置中设置文件区块要创建几个副本
  • 文件区块损坏时,NameNode会自动寻找位于其他DataNode上的副本来恢复数据
    在这里插入图片描述
③Hadoop MapReduce介绍

MapReduce可在上千台服务器上并行处理巨量数据

  • Map:将任务分割,每台服务器分别运行
  • Reduce:将所有服务器运算结果汇总整理,得到最后结果
    在这里插入图片描述
④MapReduce 2.0 YARN

在这里插入图片描述

  • 用户在Client客户端向Resource Manager请求执行运算
  • NameNode中有Resource Manager管理运算请求
  • DataNode中有Node Manager运行并监督每一个任务,并向Resource Manager汇报状态

Hadoop MapReduce在运算时产生的数据需要存储在硬盘中,磁盘I/O读取会产生数据延迟,Spark是基于内存的计算框架,不会有磁盘I/O读写数据延迟

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

闽ICP备14008679号