大数据技术原理与操作应用 第1章 初始Hadoop_第1页
大数据技术原理与操作应用 第1章 初始Hadoop_第2页
大数据技术原理与操作应用 第1章 初始Hadoop_第3页
大数据技术原理与操作应用 第1章 初始Hadoop_第4页
大数据技术原理与操作应用 第1章 初始Hadoop_第5页
已阅读5页,还剩22页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

第1章初始Hadoop·大数据的介绍·Hadoop的介绍12✎学习目标了解掌握掌握了解什么是大数据及其特征12Hadoop的生态环境4Hadoop的应用场景3Hadoop的发展历史及其版本本章通过对大数据的简介、Hadoop的历史版本、Hadoop的应用场景、Hadoop的生态体系等进行详细讲解。章节概要近年来,随着科技的进步以及移动互联网、5G移动通信网络技术的发展,实际应用场景中的数据规模也爆炸式地增长,大数据(BigData)引起了国内外产业界、学术界和政府部门的高度关注。各类基于大数据的应用正日益对全球生产、流通、分配、消费活动,以及经济运行机制、社会生活方式和国家治理能力产生重大影响。

1.1大数据的介绍大数据的概念大数据是需要新处理模式才能具有更强的决策力、洞察发现力和流程优化能力的海量、高增长率和多样化的信息资产。“大数据”是指用现有的一般技术难以管理的大量数据的集合,即所涉及的资料量规模巨大到无法通过目前主流软件工具在合理时间内达到提取、管理、处理。

1.1大数据的介绍大数据的特征目前,通常认为大数据具有四大特征,即体量大、种类多、速度快和价值密度低。其核心在于对这些含有意义的数据进行专业化处理。体量大种类多速度快价值密度低性6(一)体量大体量大指数据集体量非常巨大,在“大数据”刚刚提出的时候,普遍认为PB级的数据可以称为“大数据”,但这并不绝对。在实际应用中,很多企业用户将多个数据集放在一起,已经形成了TB级或PB级的数据量。(二)种类多在大数据面对的应用场景中,数据种类多,一方面体现在面向一类场景的大数据集可能同时覆盖结构化、半结构化、非结构化的数据,另一方面也体现在同类数据中的结构模式复杂多样。7(三)速度多数据生成、存储、分析、处理的速度超出人们的想象。一方面,数据来源于对现实世界和人的行为的持续观察。如果希望在数据基础上对客观世界加以研究,就必须保持足够高的采样率,以确保能够刻画现实世界的细节。另一方面,数据集必须能够持续、快速地更新,才能够不断地描述客观世界和人的行为变化,这就要求技术上必须考虑时效性要求,实现实时数据的处理。(四)价值密度低在大数据中,通过数据分析,在无序数据中建立关联可以获得大量高价值的隐含知识,从而具有巨大价值。这一价值体现在统计特征、事件检测、关联和假设检验等各个方面。另一方面,数据的价值并不一定随数据集的大小增加而增加。

1.1大数据的介绍大数据技术的概述目前大数据技术主要包括几个方面:大数据采集技术、大数据预处理技术、大数据存储及管理技术、大数据分析及挖掘技术和数据可视化技术。大数据采集大数据预处理大数据存储及管理大数据分析及挖掘数据可视化9(一)大数据采集技术数据采集主要通过Web、应用、传感器等方式获得各种类型的结构化、半结构化及非结构化数据,难点在于采集量大且数据类型繁多。采集网络数据可以通过网络爬虫或者API的方式来获取。例如:Hadoop的Chukwa、Flume,Facebook的Scribe等。(二)大数据预处理技术大数据的预处理包括对数据的抽取和清洗等方面。由于大数据的数据类型是多样化的,不利于快速分析处理,数据抽取过程可以将数据转化为单一的或者便于处理的数据结构。10(三)大数据存储及管理技术大数据的存储及管理与传统数据相比,难点在于数据量大、数据类型多,文件大小可能超过单个磁盘容量。企业要解决这些问题,实现对结构化、半结构化、非结构化海量数据的存储与管理,可以综合利用分布式文件系统、数据仓库、关系型数据库、非关系型数据库等技术。(四)大数据分析挖掘技术数据挖掘是从大量复杂的数据中提取信息,通过处理分析海量数据发现价值。大数据平台通过不同的计算框架执行计算任务,实现数据分析和挖掘的目的。常用的分布式计算框架有MapReduce、Storm和Spark等。11(五)数据可视化技术数据可视化是指将数据以图形图像形式表示,向用户清楚有效地传达信息的过程。通过数据可视化技术,可以生成实时的图表,它能对数据的生成和变化进行观察、跟踪,也可以形成静态的多维报表以发现数据中不同变量的潜在联系。

1.2Hadoop的介绍Hadoop的由来ApacheHadoop项目是一款可靠、可扩展的分布式计算开源软件。Hadoop软件库是一个框架,该框架的两个核心模块是分布式文件系统(HDFS)和数据计算MapReduce。MapReduce允许用户在不了解分布式系统底层知识的情况下,以可靠、容错的方式灵活地并行处理大型计算机集群(数千个节点)上的大量数据。用户可以轻松地搭建和使用Hadoop分布式计算框架,并充分地利用集群的运算和存储能力,完成海量数据的计算与存储。

1.2Hadoop的介绍Hadoop的发展历史2003—2004年,Google公布部分GFS、MapReduce思想的细节,DougCutting等人用两年的业余时间实现了DFS和MapReduce机制,使Nutch性能飙升。2005年,Hadoop作为Lucene的子项目Nutch的一部分正式引入Apache基金会。由于NDFS和MapReduce在Nutch引擎中有着很好的应用。2006年2月该模块被分离出来,成为一套完整独立的软件,起名为“Hadoop”。到了2008年初,Hadoop已经成为Apache的顶级项目,包含众多的子项目。比如:、一种用于Hadoop数据的快速通用计算引擎(Spark)、数据序列化系统(Avro)、没有单点故障的可扩展多主数据库(Cassandra)、一种提供数据汇总和及时查询的数据仓库基础结构(Hive)等。

1.2Hadoop的介绍Hadoop的优势Hadoop作为一个能够对大量数据进行分布式处理的软件框架,用户可以轻松地搭建Hadoop的分布式框架,以及在该基础上进行开发处理大量数据的应用程序。高可靠高扩展高容错15(一)高可靠性Hadoop支持高可用性(HA),当分布式集群中单节点出现故障时,通过数据备份与资源调度的方式实现自动故障转移。(二)高扩展性Hadoop中HDFS有两种节点类型:名称节点(NameNode)和数据节点(DataNode),以主从模式运行增添或者删除DataNode,且节点的扩展支持热插拔,即无需重新启动集群就可实现集群的动态扩展。(三)高容错性NameNode通过ZooKeeper实现备份。DataNode是以数据块作为容错单元,在默认情况下,每个数据块会被备份为三份,分别存在不同DataNode上。当一个数据块访问失效,则会从备份的DataNode中选取一个,并备份该数据块,以保证数据块的最低备份标准。

1.2Hadoop的介绍Hadoop的应用场景在当前大数据背景下,海量数据的价值越来越被企业重视,Hadoop可用于离线大数据的分析挖掘。例如:电商数据的分析挖掘、社交数据的分析挖掘、企业客户关系的分析挖掘。最终的目标就是提高企业运作效率,实现精准营销,发现潜在客户等等。大数据还应用于很多其他领域,例如:机器学习、知识发现、预测分析等都必须基于大规模的数据,随着数据量的剧增,单节点的数据存储已经被社会淘汰,一种基于多节点的分布式存储逐渐兴起,而这些多节点就依赖于大规模的廉价PC构建Hadoop集群。

1.2Hadoop的介绍Hadoop的生态体系Hadoop是一个能够对大量数据进行分布式处理的软件框架,目前Hadoop已经发展成为包含很多项目的集合。Hadoop的核心是HDFS和MapReduce,Hadoop2.0还包括YARN。随着Hadoop的兴起,其框架下的开发工具也逐渐丰富。18(一)HDFSHadoop分布式文件系统(HDFS)是一种可以在低成本计算机硬件上运行的高容错性分布式文件系统。HDFS

提供对应用程序数据的高吞吐量访问,并且适用于具有大数据集的应用程序。HDFS

放宽了一些可一直操作系统接口(POSIX)的要求,以实现对文件系统数据的流式访问。HDFS的设计目标包含如下几个方面:硬件故障流数据访问大数据集简单一致性模型跨异构硬件和软件平台的可移植性19(二)MapReduceMapReduce

是一款以可靠、容错的方式并行处理大型硬件集群(数千个节点)中大量数据(多TB数据集)的软件框架。“Map”(映射)和“Reduce”(简化)的概念以及其主要思想都是从函数式编程语言借用来的。这极大方便了编程人员在不会分布式并行编程的情况下,将自己的程序运行在分布式系统上。其中Map对数据集上的独立元素进行指定的操作,生成“键-值”对形式中间结果。Reduce则对中间结果中相同“键”的所有“值”进行规约,以得到最终结果。MapReduce这样的功能划分,非常适合在大量计算机组成的分布式并行环境里进行数据处理。20(三)YARNYARN

是在Hadoop1.0基础上衍化而来的,它充分吸收了Hadoop1.0的优势,并具有比Hadoop1.0更为先进的理念和思想,YARN

是Hadoop2.0及以上版本的下一代集群资源管理与调度平台,它的基本思想是将资源管理和作业调度、监视的功能拆分为单独的守护程序。(四)ZooKeeperZooKeeper

是一个为分布式应用所设计的开源协调服务。它可以为用户提供同步、配置、管理、分组和命名等服务。用户可以使用ZooKeeper

提供的接口方便地实现一致性、组管理等协议。ZooKeeper

提供了一种易于编程的环境,它的文件系统使用了目录树结构。ZooKeeper是使用Java编写的,但是它支持Java和C两种编程语言接口。21(五)HBASEHBase

是一个分布式的、面向列的开源数据库,它参考了Google的BigTable建模进行开源实现,实现的编程语言为Java。HBase

是Apache软件基金会的Hadoop项目的一个子项目,运行于HDFS文件系统之上,为Hadoop提供类似于BigTable规模的服务。因此,它可以容错地存储海量稀疏的数据。HBase

是一个高可靠、高性能、面向列、可伸缩的分布式数据库,主要用来存储非结构化和半结构化的松散数据。HBase

的目标是对大数据进行随机处理与实时读写访问,它利用廉价计算机集群处理由超过10亿行数据和数百万列元素组成的数据表。22(六)SPARK机器学习算法通常需要对同一个数据集合进行多次迭代计算,而MapReduce中每次迭代都会涉及HDFS的读写,以及在计算过程中缺乏一个常驻的MapReduce作业,因此,每次迭代都要初始化新的MapReduce任务,MapReduce就显得效率不高了。同时,基于MapReduce之上的Hive、Pig等技术也存在类似问题。Spark

作为一个研究项目,Spark

扩展了广泛使用的MapReduce计算模型,高效地支撑更多计算模式,包括交互式查询和流处理。Spark的一个主要特点是能够在内存中进行计算,即使依赖磁盘进行复杂的运算,Spark

依然比MapReduce更加高效。23(七)HIVE最初,Hive

是由Facebook开发,后来由Apache软件基金会开发,并将它作为其名下的一个开源项目,名为“ApacheHive”,它是一个数据仓库基础工具在Hadoop中用来处理结构化数据,可以将结构化的数据文件映射为一张数据库表,并提供完整的SQL查询功能,可以将SQL语句转换为MapReduce任务进行运行。Hive的优点是:学习成本低,可以通过类SQL语句转换为MapReduce任务进行运行,不必开发专门的MapReduce应用,十分适合数据仓库的统计分析工作。Hive

是建立在Hadoop上的数据仓库基础构架。它提供了一系列的工具,可以用来进行数据提取、转化、加载,这是一种可以存储、查询和分析存储在Hadoop中的大规模数据机制。24(八)PIGApachePig是一个用于分析大型数据集的平台,该平台包含用于表示数据分析程序的高级语言,以及用于评估这些程序的基础结构。Pig程序的显著特性是:它的结构适用于并行化,从而使其能够处理非常大的数据集。要编写数据分析程序,Pig提供了一种称为PigLatin的高级语言。该语言提供了各种操作符,程序员可以利用它们开发自己的用于读取、写入和处理数据的功能。要使用Pig分析数据,程序员需要使用PigLatin语言编写脚本。所有这些脚本都在内部转换为Map和Reduce任务。Ap

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论