1.1 大数据概述

1.1.1 什么是大数据

字面意思来看 大数据就是巨量的数据。

最早提出大数据概念的是麦肯锡公司,他是这样定义大数据的:一种规模大到在获取、存储、管理、分析方面大大超出了传统数据库软件工具能力范围的数据集合,具有海量的数据规模快速的数据流转多样的数据类型以及价值密度低四大特征。

研究机构Gartner是这样定义大数据的:“大数据”是需要新处理模式才能具有更强的决策力、洞察发现力和流转优化能力来适应海量、高增长率和多样化的信息资产。

若从技术角度来看,大数据的战略意义不在于掌握庞大的数据,而在于对这些含有意义的数据进行专业化处理,换言之,如果把大数据比作一种产业,那么这种产业盈利的关键在于提高对数据的“加工能力”,通过“加工”实现数据的“增值”。

1.1.2 大数据的特征

一般认为,大数据主要具有以下4个特征:大量(Volume)、多样(Variety)、高速(Velocity)、价值(Value),即所谓的“4V”

  1. 大量(Volume)
    数据规模大,数据达PB、EB级别

  2. 多样(Variety)
    数据来源的广泛性,决定了数据形式的多样性。分为三类:一是结构化数据,例如财务系统数据、信息管理系统数据、医疗系统数据等,其特点是数据因果关系强;二是非结构化数据,例如视频、图片、音频等,其特点是数据间没有因果关系;三是半结构化数据,例如HTML、文档、邮件、网页等,其特点是数据间因果关系弱。有统建显示,目前结构化数据占互联网数据量的75%以上,而产生价值的数据,往往是非结构化数据

  3. 高速(Velocity)
    数据的增长速度处理速度是大数据高速性的重要体现。与以往的报纸、书信等传统数据载体不同,在大数据时代,大数据的交换和传播主要通过互联网和云计算等方式实现,其产生和传播速度非常迅速。另外,数据的响应速度非常快,数据的输入,处理与丢弃必须立刻见效,几乎无延迟

  4. 价值(Value)
    大数据的核心特征是价值,其实价值密度的高低数据总量的大小成反比的,即数据
    价值密度越高数据总量越小,数据价值密度越低数据总量越大。任何有价值的信息的提取
    依托的就是海量的基础数据。当然目前大数据背景下有个未解决的问题,如何通过强大的
    机器算法更迅速地在海量数据中完成数据的价值提纯。

1.2 大数据的应用场景

1.2.1 医疗行业的应用

  1. 优化医疗方案,提供最佳治疗方法
  2. 有效预测预防疾病

1.2.2 金融行业的应用

  1. 构建用户画像,精准营销。
  2. 风险管控
  3. 决策支持
  4. 服务创新。改善与客户之间的交互、增加用户粘度
  5. 产品创新。有效对接银行、保险、信托、基金等各类金融产品

1.2.3 零售行业的应用

  1. 精准定位零售行业市场
  2. 支撑行业收益管理
  3. 挖掘新零售行业新需求

1.3 Hadoop 概述

1.3.1 Hadoop 的前世今生

Google 为了解决存储容量、读写速度、计算效率等问题,提出了以下三种大数据的处理手段:

  • MapReduce : 开源分布式并行计算框架;
  • BigTable: 大型的分布式数据库
  • GFS: 分布式文件管理系统
    上述三大技术可以说是革命性的技术,表现在:
  1. 降低成本,能用小型PC机,就不用大型机和高端存储
  2. 软件容错硬件故障视为常态,通过软件保证可靠性
  3. 简化并行分布式计算,无须控制节点同步和数据交换
    2003-2004 你那,Nutch的创始人DougCutting 受到启发,用了若干年时间实现了DFS和MapReduce机制。
    2005年,Hadoop作为Lucene子项目Nutch 的一部分正式被映入Apache基金会,随后又从Nutch中剥离,称为一套完整独立的软件,起名为Hadoop。
    2011年12月,Hadoop 1.0.0 版本发布
    2012年5月,Hadoop 2.0.0 alpha 版本发布
    2017年12月,继Hadoop 3.0.0 的4个Alpha 版本和1个Beta版本后,第一个可用的Hadoop 3.0.0 版本发布

1.3.2 Hadoop 的优势

  • 扩容能力强。内存、硬盘可横向扩展
  • 成本低。通过普通廉价的及其组成服务器集群来分发处理数据
  • 高效率。Hadoop能够并发处理数据,并且能够在节点之间动态的移动数据,并保证各个节点的动态平衡
  • 可靠性。自动维护多分数据副本,能够针对失败的节点重新分布处理
  • 高容错率。打数据被发送到一个单独的节点,该数据也被复制到集群的其他节点上,这意味着故障发生时,存在另一个副本可供使用

1.3.3 Hadoop的生态体系统

  1. 分布式存储系统(HDFS)
    核心项目之一。具有高容错性的数据备份机制,能够检测和应对硬件故障,并在低成本的通用硬件上运行。HDFS 具备流失的数据访问特点,提供高吞吐量应用程序访问功能,适合带有大型数据集的应用程序。
  2. MapReduce 分布式计算框架
    是一种计算模型,用于大规模数据集(大于1TB)的并行运算。"Map"对数据集上的独立元素记性指定的操作,生成键值对形式的中间结果;“Reduce”则对中间结果中相同“键”的所有“值”进行规约,已得到最终的结果。这种“分而治之”的思想,极大的方便了编程人员在不会分布式并行编程的情况下,将自己的程序运行在分布式系统上
  3. YARM资源管理平台
    是Hadoop 2.0 中的资源管理器,它可为上层应用提供统一的资源管理和调度,他的引入为集群在利用率、资源统一管理和数据共享等方面带来巨大的好处
  4. Sqoop 数据迁移工具
    开源的数据导入导出工具,主要用于在Hadoop与传统数据库见进行数据的转换,他可以将一个关系数据库中的数据导入到Hadoop的HDFS中,也可以将HDFS的数据导出到关系型数据库中
  5. Mahout 数据挖掘算法库
    提供可扩展的机器学习领域经典算法的实现
  6. HBase分布式数据库
    HBase是GoogleBigtable克隆版,它是一个针对结构化数据可伸缩、高可靠、高性能、分布式和面向列的动态模式数据库。和传统关系数据库不同,HBase采用了BigTable的数据模型:增强的稀疏排序映射表(Key/Value),其中,键由行关键字列关键字时间戳构成。HBase提供了对大规模数据的随机、实时读写访问,同时,HBase中保存的数据可以使用MapReduce来处理,它将数据存储和并行计算完美地结合在一起。
  7. Zookeeper分布式协调服务
    Zookeeper是一个分布式的,开放源码的分布式应用程序协调服务,是Google的Chubby一个开源的实现,是Hadoop和I-dBase的重要组件。它是一个为分布式应用提供一致性服务的软件,提供的功能包括配置维护域名服务分布式同步组服务等用于构建分布式应用,减少分布式应用程序所承担的协调任务。
  8. Hive基于Hadoop的数据仓库
    Hive是基于Hadoop的一个分布式数据仓库工具,可以将结构化的数据文件映射为一张数据库表,将SQL语句转换为MapReduce任务进行运行。其优点是操作简单,降低学习成本,可以通过类SQL语句快速实现简单的MapReduce统计,不必开发专门的MapReduce应用,十分适合数据仓库的统计分析。
  9. Flume日志收集工具
    Flume是Cloudera提供的一个高可用的,高可靠的,分布式的海量日志采集、聚合和传输的系统,Flume支持在日志系统中定制各类数据发送方,用于收集数据;同时,Flume提供对数据进行简单处理,并写到各种数据接受方(可定制)的能力。

1.3.4 Hadoop 的版本

Hadoop发行版本分为开源社区版商业版,社区版是指由Apache软件基金会维护的版本,是官方维护的版本体系。商业版Hadoop是指山第三方商业公司在社区版Hadoop基础上进行了一些修改、整合以及各个服务组件兼容性测试而发行的版本,比较著名的有Cloudera公司的CDH版本
为了方便学习,本书采用开源社区版,而Hadoop自诞生以来,主要分为Hadoop1、Hadoop2和Hadoop3三个系列的多个版本。由于目前市场上最主流的是Hadoop-2.x版本,因此,本书只针对Hadoop-2.x版本进行相关介绍。
Hadoop-2.x版本指的是第2代Hadoop,它是从Hadoop-1.x发展而来的,并且相对于Hadoop-1.x来说,有很多改进。下面从Hadoop-1.x到Hadoop-2.x发展的角度,对两版本进行讲解,如图1一4所示。
通过图1-4可以看出,Hadoop1.0内核主要由分布式存储系统(HDFS)和分布式计算框架MapReduce两个系统组成,而Hadoop-2.x版本主要新增了资源管理框架YARN以及其他工作机制的改变。

Hadoop-1.X 版本中,HDFS 与MapReduce结构如图1-5和图1-6所示。

从图1一5可以看出,HDFS由一个NameNode和多个DateNode组成,其中,DataNode负责存储数据,但是数据具体存储到哪个DtaNode(节点),则是由NameNode决定的。

从图1一6可以看出MapReduce由一个JobTracker和多个TaskTracker组成,其中,MapReduce的主节点JobTracker只有一个,从节点TaskTracker有很多个,JobTracker与TaskTracker在MapReduce中的角色就像是项目经理与开发人员的关系,而JobTracker负责接收用户提交的计算任务,将计算任务分配给TaskTracker 执行、跟踪,JobTracker同时 监控 TaskTracker的任务执行状况等。当然,TaskTracker只负责执行JobTracker分配的计算任务,正是由于这种机制,Hadoop-1.x架构中的HDFS和MapReduce存在以下缺陷:

  1. HDFS中的NameNode、SecondaryNode单点故障,风险比较大。其次,NameNode
    内存受限不好扩展,因为Hadoop-1.x版本中的HDFS只有一个NameNode,并且要管理所有的DataNode。
  2. MapReduce中的JobTracker 职责过多,访问压力太大,会影响系统稳定。除此之外,MapReduce难以支持除自身以外的框架,扩展性较低
    Hadoop-2.x版本为克服Hadoop-1.x中的不足,对其架构进行了以下改进:
  3. Hadoop-2.x可以同时启动多个 NameNode,其中一个处于工作(Active)状态,另一个处于随时 **待命(Standby)状态 **,这种机制被称为HadoopHA(Hadoop高可用)。当一个NameNode所在的服务器宕机时,可以在数据不丢失的情况下,自动切换到另一个NameNode持续提供服务。
  4. Had001Y2.x将JobTracker中的资源管理和作业控制分开,分别由ResourceManager(负责所有应用程序的资源分配)和ApplicationMaster(负责管理一个应用程序)实现,即引人了资源管理框架YARN,它是一个通用的资源管理框架,可以为各类应用程序进行资源管理和调度,不仅限于MapReduce一种框架,也可以为其他框架使用,如Tez、Spark、Storm,这种设计不仅能够增强不同计算模型和各种应用之间的交互,使集群资源得到高效利用,而且能更好地与企业中已经存在的计算结构集成在一起。
  5. Hadoop-2,x中的MapReduce是运行在YARN上的离线处理框架,它的运行环境不再由JobTracker和TaskTracker等服务组成,而是变成通用资源管理YARN和作业控制进程ApplicationMaster,从而使MapReduce在速度上和可用性上都有很大的提高。关于Hadoop-2.0的HDFS、MapReduce以及YARN的具体介绍,将在后续章节详细讲解,这里大家有个印象即可。

Hadoop大数据技术原理与应用-第一章初识Hadoop相关推荐

  1. 大数据技术原理与应用——第一章 大数据概述

    第一章 大数据概述 1.1 大数据时代 1.1.1 第三次信息化浪潮 信息化浪潮 发生时间 标志 解决的问题 代表企业 第一次浪潮 1980年前后 个人计算机 信息处理 Intel.AMD.IBM.苹 ...

  2. 大数据技术原理与应用——第一章

    大数据时代 三次信息化浪潮 信息化浪潮 时间 标志 解决的问题 第一次信息化浪潮 1980 个人计算机 信息处理 第二次信息化浪潮 1995 互联网 信息传输 第三次信息化浪潮 2010 大数据.云计 ...

  3. 大数据技术原理与应用 第一篇 大数据基础

    目录 第一章 大数据概述 一. 大数据时代 1.1 三次信息化浪潮 1.2 信息科技发展 1.3 数据产生方式的变革 1.4 大数据的影响 二. 大数据的概念 2.1 大数据的特征 2.2 大数据关键 ...

  4. 笔记:分布式大数据技术原理(二)构建在 Hadoop 框架之上的 Hive 与 Impala

    """ 有了 MapReduce,Tez 和 Spark 之后,程序员发现,MapReduce 的程序写起来真麻烦.他们希望简化这个过程.这就好比你有了汇编语言,虽然你几 ...

  5. 大数据技术原理与应用(第八章 Hadoop再探讨)

    目录 8.1 Hadoop的优化与发展 Hadoop1.0的局限与不足 Hadoop进行的改进的提升 Hadoop模块的自身改进:从1.0到2.0 Hadoop生态系统2.0新增组件 8.2 HDFS ...

  6. 大数据技术技能分析大赛——第一章 python数据分析概述

    目标:掌握python,进行数据处理.统计分析.回归建模和数据可视化. 教材:<大数据分析务实初级教程(python)## 标题> 第一章 python数据分析概述 1.数据分析概述 1 ...

  7. 大数据技术原理与应用—课后题答案(第一章)

    大数据技术原理与应用_林子雨版_课后题答案(第一章) 1.试述信息技术发展史上的3次信息化浪潮及具体内容. 信息化浪潮 发生时间 标志  解决问题                           ...

  8. 《大数据技术原理与应用》(第八章Hadoop 课后答案)

    第八章 Hadoop再探讨 参考资料 1.林子雨_大数据技术原理与应用课后习题_NPU_阿夏的博客-CSDN博客 2.林子雨编著<大数据技术原理与应用(第3版)>教材官网_厦门大学数据库实 ...

  9. 大数据技术原理与应用 第三版 林子雨 期末复习(二) Hadoop HDFS HBase

    大数据技术原理与应用 第三版 林子雨 期末复习(二) Hadoop HDFS HBase Hadoop生态系统 HDFS HDFS结构 块 Name Node与Second Name Node与Dat ...

  10. 林子雨试卷《大数据技术原理与应用》试题与答案

    <大数据技术原理与应用>试题与答案 问答题(100分): (问答题,共13道题目,第1题4分,第2题6分,第3题10分,第4题10分,第5题16分,第6题6分,第7题12分,第8题6分,第 ...

最新文章

  1. Perl 教学 子程序
  2. P2894 [USACO08FEB]酒店Hotel
  3. Win7下共享文件(以及凭据管理简单介绍)
  4. keras环境搭建 [过程记录]
  5. halcon相机标定及图像矫正(代码)
  6. Extjs 数据代理
  7. postgresql 客户端_一款功能强大的数据库客户端:DataGrip
  8. 13.性能之巅 洞悉系统、企业与云计算 --- 案例研究
  9. java完全参考手册
  10. Python正则表达式(一看就懂)
  11. 阿里云企业邮箱用smtp发送邮件失败解决
  12. 教你不要光驱一样重装系统
  13. D盘或者E盘根目录出现msdia80.dll文件的解决方法
  14. minio服务报403错误
  15. [4G5G专题-89]:流程 - 4G LTE终端在网络侧不同设备中的状态
  16. 内连接、外连接、全外连接、交叉连接用法汇总(个人记录使用)
  17. 引入CSS样式的三种方法
  18. 我,程序员,马上35岁...
  19. 腾讯社招iOS面试记录
  20. 尾插法创建链表(C++代码)

热门文章

  1. 如何在 Linux 中运行.exe 程序
  2. 库伦法-锂电池容量计量
  3. c语言 库仑计_iPhone 6s 意外关机罪魁祸首竟是它!想知道它是怎么玩的吗!
  4. Window平台编译log4cpp使用方法记录 (一)
  5. C语言之父丹尼斯·里奇
  6. “站长也疯狂,开车盛宴”——如何选择运维产品
  7. eXeScope之类的程序资源修改器的使用,很牛! 【只是针对VC++和DELPHI写的程序】
  8. 小榕flash管理器xp 是什么
  9. 【在大学的快乐生活】ROS,RC车,jetson nano,导航与飙车(1)配件准备
  10. 遇到NOD32更新时提示“用户名和密码无效”解决办法