大数据时代

第三次信息化浪潮 :大数据+云计算+物联网

大数据时代:

大数据时代来临的重要因素

一、 技术支撑

  1. 存储:存储设备容量不断增加,价格不断降低
  2. CPU处理能力大幅提升:单核->多核
  3. 网络带宽不断增加

二、 数据产生方式的变革 (重要因素)
运营式系统阶段 -> 用户原创内容阶段-> 感知式系统阶段(物联网的兴起(重要因素):摄像头、传感器、气象温、湿度传感器都在时时刻刻在记录数据)

大数据概念和影响

一、 大数据的概念

4V:大量化、多样化、快速化、价值密度低

  1. 数据量大:人类在最近两年产生的数据量相当于之前产生的全部数据量

    大数据是由结构化和非结构化数据组成
    结构化类型数据:10%(存储在关系型数据库里面的结构化数据)
    非结构化数据:90% (图形、图像、文本、视频…)
  2. 多样化:非结构化数据多样化
  3. 快速化:所有软件要求1秒级
  4. 价值密度低,商业价值高
二、 大数据的影响

科学研究的四种范式:
实验-> 理论->计算->数据

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

  1. 全样而非抽样:可存储数据内容增加
  2. 效率而非精确:之前是抽样,若精度不高则放到全样上误差会放大。而现在是全样分析,故误差不会改变太多。
  3. 相关而非因果
大数据应用

大数据关键技术

大数据技术的层次->两大核心技术(分布式存储+分布式处理 )


分布式存储:解决海量数据的存储问题

借助集群网络存储

分布式处理:解决海量数据的处理问题

借助集群网络处理


不同的大数据产品服务的方向是不同的:批处理、交互式计算、实时计算等。每个产品的计算领域是不同,故需要对计算模式进行区分。

计算模式
  1. 批处理计算模式:不适合做实时的交互式计算,批处理不能满足时效性要求。MapReduce/Spark为典型代表。但是Spark解决了MapReduce中的一些缺点。MapReduce不能高效地迭代计算,而Spark可以。
  2. 流计算:专门针对流数据的实时计算。流数据需要实时处理,给出实时响应,否则分析结果就会失去商业价值。
  3. 图计算:eg:Google Pregel
  4. 查询分析计算:有非常高的实时性
不同的产品服务于不同的计算问题的

什么是云计算?

两大核心问题:① 解决了海量数据的分布式存储和分布式处理问题 ② 云计算代行特征:虚拟化+多用户

概念:云计算通过网络以服务的方式为用户提供非常廉价的IT资源。

优势:企业不需要自建IT基础设置,可以租用云端资源。

云计算的三种模式

公有云、混合云、私有云


公有云:面对所有公众使用
私有云:给内部使用
混合云:公有云+私有云

三种云服务


IaaS —— 基础设施即服务

将基础设施(计算资源和存储)作为服务出租。eg:购买环境,可以在该环境下安装各种软件,所有设施都提供好了

PaaS——平台即服务

在别人搭建的云平台开发环境下开发云计算产品,开发出来的产品也部署在别人的云平台开发环境下,可卖给其他人

SaaS——软件即服务

将软件作为一种服务卖给用户

云计算的关键技术

虚拟化:

云计算数据中心:数据中心包含大量大片服务器

云计算的应用

Hadoop简介

  1. Hadoop是Apache软件基金会旗下的开源软件
  2. 开源分布式计算平台。降低了使用的复杂性。屏蔽了大数据底层的复杂的操作,为用户提供接口供用户使用
  3. 虽然用java开发,但是其可支持多种编程语言(跨平台)。
  4. 核心技术:HDFS+MapReduce(批处理,非实时计算)(解决实现海量数据的存储 + 实现海量数据的处理两个核心问题)
  5. 排序使其成名
  6. 对海量数据进行存储和处理的分布式框架,且是一种高效的可靠的可伸缩的软件框架。
  7. 最好运行在linux平台。
优点
  1. Hadoop具有很高的可靠性:多台机器构成集群,部分机器发生故障,剩余机器可以继续对外提供服务。
  2. Hadoop具有很高的效率
  3. Hadoop有很好的可扩展性。
  4. Hadoop成本很低:可以采用普通PC机来构成一个集群,而高性能计算(HPC)需要比较好的机器。

企业中的应用架构:

Hadoop项目结构


存储->调用资源框架(yarn->调用内存、CPU、带宽等计算资源)->计算(MapReduce、Tez->把很多MapReduce作业进行分析优化构建成一个有向无环图,获得最好的处理效率、Spark-> 与MapReduce类型,但是它是基于内存计算的,MapReduce是基于磁盘的,故其比MapReduce效率高)

Hive:实现数据仓库的功能,可以把大量的历史数据存入在数据仓库中,支持SQL语句,Hive将SQL语句转成MapReduce作业然后去执行

Pig:流数据处理。轻量级分析。轻量级脚本语言。可以写出类似SQL的语句然后去执行。

Oozie:作业流调度系统
Zookeeper:分布式协调服务。功能:集群管理、分布式锁
HBase:列族数据库
Flume:日志收集分析框架。
Sqoop:数据导入导出。可以把关系型数据库导入到Hadoop平台上,Hadoop平台上的数据导出到关系型数据库中。
Ambari:安装部署工具。

Hadpoop的安装与使用



Hadoop安装方式

安装虚拟机



安装双操作系统


Hadoop集群的部署和使用

HDFS1.0:先去根据文件名称访问NameNode,在通过访问结果去访问DataNode取数据后拼装得到分布式数据。

NameNode的冷备份:在NameNode出现故障时需要用到。


MapReduce
JobTracker:对整个作业进行管理。把作业拆分成小作业分发到不同机器执行。JobTracker去协调不同机器去执行。
TaskTracker:不同的机器上部署了TaskTracker,每一个TaskTracker负责跟踪和执行分配给自己的小作业。

集群硬件配置




HDFS

只允许追加数据,不允许修改。

目标:

局限性:

  1. 不适合低延时的数据访问。(不支持实时的数据查询与访问,HBase支持)
  2. 无法高效存储大量小文件(小量文件越多,关系数据结构越复杂,访问效率越低)

HDFS相关概念

  1. 块:



  2. 名称结点(主结点)


每个文件都有一个元数据,元数据中存储着:文件是什么?文件被分成多少块?每个块和文件是怎么映射的?每个块被存储在哪个服务器上面。FsImage+内存(块存储在哪些结点上) 存储的是完整元信息

当数据结点加入到一个集群当中去时,会向名称节点汇报其中包含哪些数据块。名称节点会将所有的信息构成一个清单,而该清单保存在内存中。该清单中的信息是由数据结点和名称节点不断地沟通来实时地维护这些信息的,而不是在在FsImage中存储的。

  1. 数据结点(从结点)

  2. 两大数据结构怎么用?

    若EditLog在运行期间持续增大时用第二名称节点来解决。
    第二名称结点的作用:① 名称节点的冷备份 ② 对EditLog的处理
    第二名称节点会定期地与名称节点进行通信,在某个阶段会请求名称节点停止使用EditLog文件。此时名称节点停止向EditLog中写入,并生成一个新的edits.new ,也就是生成一个新的EditLog,名称节点会被新的更新都写到edits.new里面,第二名称节点会取走旧的EditLog,第二名称结点会通过Http Get的方式从名称节点中把FsImage和EditLog都下载在本地,然后在第二名称节点做合并操作,得到新的FsImage后再发送给名称节点。名称节点就得到了合并以后的比较大的FsImage,名称节点会被edits.new更改为Edit,由于edits.new在运行期间记录了所有的新的到达的那些更新信息,故它是新的EditLog。通过这种操作,实现了不断增大的EditLog和FsImage的合并,还实现了冷备份。

HDFS体系结构1.0的局限性


问题:为什么第二名称节点不能解决集群的可用性问题呢?
第二名称节点是冷备份:不能保证名称节点一发生故障,第二名称节点就顶上去。名称节点在发生故障后,必须暂停服务一段时间,它会把相关的元数据信息从第二名称节点慢慢恢复后才能继续提供对外服务。

在HDFS2.0中解决了部分局限性

HDFS的存储原理

1. 冗余数据保存的问题

优点:
  1. 当多台客户端访问相同数据时可以从不同的副本中取出数据。
  2. 通过对比几个副本很容易检查数据错误
  3. 当其中一个副本或者多个副本发生错误时,系统会根据剩余正确副本进行复制,保证了数据的可靠性

2. 数据保存策略问题

如果第一个节点是内部某个应用发起的写请求,就把第一个副本就放在该节点。如果是集群外部发起的写请求,系统会随机挑选一个磁盘不太满,CPU不太忙的机架上。第二副本会放到与第一个副本不同的机架上。第三个副本会放在与第一个副本相同的机架的不同结点上。剩余其他副本根据随机算法得出其放置位置。

3. 数据读取策略

4. 数据错误与恢复策略

① 名称节点出错:利用第二节点的冷备份来解决
② 数据结点出错

怎么知道数据结点出错?

  • 数据结点在整个运行期间都会给名称节点发送心跳信息。一旦隔了一定的周期未收到信息时,则知道该数据结点出现错误。
    怎么处理?
  • 名称节点把故障机上的数据(备份数据)重新复制分发到其他正常可用的机器上。
③ 数据出错

怎么知道数据出错?

  • 校验码机制。客户端在读取数据时通过校验码校验,如果校验出来的数据不正确,说明这个数据除了问题。原始校验码是在文件创建时生成的。在读取时,一起读数据原始校验码,再将计算出来的新的校验码与原始校验码对比,如果不一致,这说明数据在存储过程中发生了错误。

大数据技术基础与应用相关推荐

  1. 大数据技术基础实验十三:Kafka实验——订阅推送示例

    大数据技术基础实验十三:Kafka实验--订阅推送示例 文章目录 大数据技术基础实验十三:Kafka实验--订阅推送示例 一.前言 二.实验目的 三.实验要求 四.实验原理 1.Kafka简介 2.K ...

  2. 大数据技术基础实验三:HDFS实验——部署HDFS

    大数据技术基础实验三:HDFS实验--部署HDFS 文章目录 大数据技术基础实验三:HDFS实验--部署HDFS 一.前言 二.实验要求 三.实验原理 1.什么是HDFS? 2.HDFS的体系结构 3 ...

  3. 大数据技术基础综合项目——牛客网招聘岗位统计分析

    大数据技术基础综合项目--牛客网招聘岗位统计分析 文章目录 大数据技术基础综合项目--牛客网招聘岗位统计分析 零.实验环境说明 一.数据集来源及说明 二.数据预处理阶段 2.1 删除空行的数据 2.2 ...

  4. 大数据技术基础_【基础】大数据技术栈介绍

    大数据技术的体系庞大且复杂,基础的技术包含数据的采集.数据预处理.分布式存储.NoSQL数据库.数据仓库.机器学习.并行计算.可视化等各种技术范畴和不同的技术层面. 首先给出一个通用化的大数据处理框架 ...

  5. 大数据技术基础(一)

    每个软件工程师都应该懂大数据技术 软件编程技术出现已经半个多世纪了,核心价值就是把现实世界的业务操作搬到计算机上,通过计算机软件和网络进行业务和数据处理. 我们常见的软件系统,不管是电子商务还是库存管 ...

  6. 大数据技术基础笔记1 大数据概述

    文章目录 1.1 大数据时代 1.2 大数据概念 1.3 大数据的影响 1.4 大数据的应用 1.5 大数据关键技术 1.6 大数据计算模式 1.7 大数据产业 1.8 大数据与云计算.物联网的关系 ...

  7. Python大数据分析(二):大数据技术基础

    文章目录 (一)Linux系统和大数据 (二)Hadoop (1)Hadoop包含哪些模块? (2)Hadoop的生态成员 (3)哪些人在使用Hadoop? (三)Spark (1)Scala (2) ...

  8. 大数据技术基础_网易大数据体系之时序数据技术

    分享嘉宾:范欣欣 网易大数据技术专家 编辑整理:王吉东 内容来源:AI科学前沿大会 出品社区:DataFun 注:欢迎转载,转载请注明出处. 本次分享内容: 时序数据平台主要业务场景 时序数据平台体系 ...

  9. 大数据技术基础知识总结八

    什么是云服务 云服务就是互联网提供的各种服务器,计算.存储.数据库,甚至是大数据.人工智能服务,并且这些服务是弹性可伸缩.按需支付的 云服务都能提供什么服务 SaaS:软件即服务 SaaS(Softw ...

  10. 大数据技术基础笔记3 分布式文件系统HDFS

    文章目录 3.1 分布式文件系统 3.2 HDFS简介 3.3 HDFS相关概念 3.4 HDFS体系结构 3.5 HDFS存储原理 3.6 HDFS数据读写过程 3.7 HDFS编程实践 3.1 分 ...

最新文章

  1. 微生物组—宏基因组分析专题培训开课啦!
  2. BUGLY集成升级空指针问题
  3. Visual Studio查找搜索类和方法的快捷方法
  4. 833c语言程序是什么,江南大学
  5. VMware与Centos7系统安装
  6. Linux服务器管理神器-IPython
  7. 视频目标跟踪算法Mean Shift和Particle Filter
  8. 在CentOS6.0 上安装LAMP
  9. 超越网络的JavaScript
  10. 程序人生之七:我的 2010
  11. pandas+groupby对南京二手房进行数据可视化及大图显示
  12. 芯片Timing sign-off Corner理解
  13. java页面展示_JAVA页面展示问题
  14. 武汉_金山wps Java 一面 二面
  15. android系统一直显示通知栏_Android通知栏详解
  16. linux性能监控工具-nmon安装使用详细教程
  17. win10运行calc计算器报错 win10无法打开这个应用。请与你的系统管理员联系,以了解有关修复或重新安装该应用的信息。
  18. android 点击提示音,Android获取手机默认模式/提示音/响铃
  19. StarGAN-多领域图像翻译
  20. 画论76 布颜图《画学心法问答》

热门文章

  1. linux shell自动登录,Shell自动登录并执行命令
  2. WIN7 SP1 windbg安装符号文件
  3. matlab把句子分割成单词_将英语句子单个单词分割存储
  4. windows错误代码一览表
  5. 我用python给我的可爱小邻居做了一个猫狗识别系统~
  6. 扫描项目中的二维码关注微信公众号
  7. windows、ubuntu双系统安装教程
  8. 【Pytorch】pack_padded_sequence与pad_packed_sequence实战详解
  9. 短视频合集怎么做,教你快速合并的技巧
  10. 中文文本分析(matplotlib的库的应用)