大数据技术原理与操作应用.ppt
《大数据技术原理与操作应用.ppt》由会员分享,可在线阅读,更多相关《大数据技术原理与操作应用.ppt(437页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、第1 1章 初始HadoopHadoop 大数据的介绍 Hadoop的介绍12 学习目标学习目标了解掌握掌握了解什么是大数据及其特征12Hadoop 的生态环境4Hadoop 的应用场景3Hadoop 的发展历史及其版本本章通过对大数据的简介、Hadoop的历史版本、Hadoop的应用场景、Hadoop的生态体系等进行详细讲解。章节概要章节概要近年来,随着科技的进步以及移动互联网、5G 移动通信网络技术的发展,实际应用场景中的数据规模也爆炸式地增长,大数据(Big Data)引起了国内外产业界、学术界和政府部门的高度关注。各类基于大数据的应用正日益对全球生产、流通、分配、消费活动,以及经济运行
2、机制、社会生活方式和国家治理能力产生重大影响。 1.1 1.1 大数据的介绍大数据的介绍大数据的概念大数据的概念大数据是需要新处理模式才能具有更强的决策力、洞察发现力和流程优化能力的海量、高增长率和多样化的信息资产。“ 大数据”是指用现有的一般技术难以管理的大量数据的集合,即所涉及的资料量规模巨大到无法通过目前主流软件工具在合理时间内达到提取、管理、处理。 1.1 1.1 大数据的介绍大数据的介绍大数据的特征大数据的特征目前,通常认为大数据具有四大特征,即体量大、种类多、速度快和价值密度低。其核心在于对这些含有意义的数据进行专业化处理。体量大种类多速度快价值密度低性6( (一一) )体量大体量
3、大体量大指数据集体量非常巨大,在“大数据”刚刚提出的时候,普遍认为PB 级的数据可以称为“大数据”,但这并不绝对。在实际应用中,很多企业用户将多个数据集放在一起,已经形成了TB 级或PB 级的数据量。( (二二) )种类多种类多在大数据面对的应用场景中,数据种类多,一方面体现在面向一类场景的大数据集可能同时覆盖结构化、半结构化、非结构化的数据,另一方面也体现在同类数据中的结构模式复杂多样。7( (三三) )速度多速度多数据生成、存储、分析、处理的速度超出人们的想象。一方面,数据来源于对现实世界和人的行为的持续观察。如果希望在数据基础上对客观世界加以研究,就必须保持足够高的采样率,以确保能够刻画
4、现实世界的细节。另一方面,数据集必须能够持续、快速地更新,才能够不断地描述客观世界和人的行为变化,这就要求技术上必须考虑时效性要求,实现实时数据的处理。( (四四) )价值密度低价值密度低在大数据中,通过数据分析,在无序数据中建立关联可以获得大量高价值的隐含知识,从而具有巨大价值。这一价值体现在统计特征、事件检测、关联和假设检验等各个方面。另一方面,数据的价值并不一定随数据集的大小增加而增加。 1.1 1.1 大数据的介绍大数据的介绍大数据技术的概述大数据技术的概述目前大数据技术主要包括几个方面:大数据采集技术、大数据预处理技术、大数据存储及管理技术、大数据分析及挖掘技术和数据可视化技术。大数
5、据采集大数据预处理大数据存储及管理大数据分析及挖掘数据可视化9( (一一) )大数据采集技术大数据采集技术数据采集主要通过Web、应用、传感器等方式获得各种类型的结构化、半结构化及非结构化数据,难点在于采集量大且数据类型繁多。采集网络数据可以通过网络爬虫或者API 的方式来获取。例如:Hadoop 的Chukwa、Flume,Facebook 的Scribe 等。( (二二) )大数据预处理技术大数据预处理技术大数据的预处理包括对数据的抽取和清洗等方面。由于大数据的数据类型是多样化的,不利于快速分析处理,数据抽取过程可以将数据转化为单一的或者便于处理的数据结构。10( (三三) )大数据存储及
6、管理技术大数据存储及管理技术大数据的存储及管理与传统数据相比,难点在于数据量大、数据类型多,文件大小可能超过单个磁盘容量。企业要解决这些问题,实现对结构化、半结构化、非结构化海量数据的存储与管理,可以综合利用分布式文件系统、数据仓库、关系型数据库、非关系型数据库等技术。( (四四) )大数据分析挖掘技术大数据分析挖掘技术数据挖掘是从大量复杂的数据中提取信息,通过处理分析海量数据发现价值。大数据平台通过不同的计算框架执行计算任务,实现数据分析和挖掘的目的。常用的分布式计算框架有MapReduce、Storm 和Spark 等。11( (五五) )数据可视化技术数据可视化技术数据可视化是指将数据以
7、图形图像形式表示,向用户清楚有效地传达信息的过程。通过数据可视化技术,可以生成实时的图表,它能对数据的生成和变化进行观察、跟踪,也可以形成静态的多维报表以发现数据中不同变量的潜在联系。 1.2 Hadoop 1.2 Hadoop的介绍的介绍Hadoop的由来的由来Apache Hadoop 项目是一款可靠、可扩展的分布式计算开源软件。Hadoop 软件库是一个框架,该框架的两个核心模块是分布式文件系统(HDFS)和数据计算MapReduce。 MapReduce 允许用户在不了解分布式系统底层知识的情况下,以可靠、容错的方式灵活地并行处理大型计算机集群(数千个节点)上的大量数据。用户可以轻松地
8、搭建和使用Hadoop 分布式计算框架,并充分地利用集群的运算和存储能力,完成海量数据的计算与存储。 1.2 Hadoop 1.2 Hadoop的介绍的介绍Hadoop的发展历史的发展历史20032004 年,Google 公布部分GFS 、MapReduce 思想的细节,Doug Cutting 等人用两年的业余时间实现了DFS 和MapReduce 机制,使Nutch 性能飙升。2005 年,Hadoop 作为Lucene 的子项目Nutch的一部分正式引入Apache 基金会。由于NDFS 和MapReduce 在Nutch 引擎中有着很好的应用。2006 年2 月该模块被分离出来,成为
9、一套完整独立的软件,起名为“Hadoop”。到了2008年初,Hadoop 已经成为Apache 的顶级项目,包含众多的子项目。比如:、一种用于Hadoop 数据的快速通用计算引擎(Spark)、数据序列化系统(Avro)、没有单点故障的可扩展多主数据库(Cassandra)、一种提供数据汇总和及时查询的数据仓库基础结构(Hive)等。 1.2 Hadoop 1.2 Hadoop的介绍的介绍Hadoop的优势的优势Hadoop 作为一个能够对大量数据进行分布式处理的软件框架,用户可以轻松地搭建Hadoop的分布式框架,以及在该基础上进行开发处理大量数据的应用程序。高可靠高扩展高容错15( (一
10、一) )高可靠性高可靠性Hadoop 支持高可用性(HA),当分布式集群中单节点出现故障时,通过数据备份与资源调度的方式实现自动故障转移。( (二二) )高扩展性高扩展性Hadoop 中HDFS 有两种节点类型:名称节点(NameNode)和数据节点(DataNode),以主从模式运行增添或者删除DataNode,且节点的扩展支持热插拔,即无需重新启动集群就可实现集群的动态扩展。( (三三) )高容错性高容错性NameNode 通过ZooKeeper 实现备份。DataNode 是以数据块作为容错单元,在默认情况下,每个数据块会被备份为三份,分别存在不同DataNode 上。当一个数据块访问失
11、效,则会从备份的DataNode 中选取一个,并备份该数据块,以保证数据块的最低备份标准。 1.2 Hadoop 1.2 Hadoop的介绍的介绍Hadoop的应用场景的应用场景在当前大数据背景下,海量数据的价值越来越被企业重视,Hadoop 可用于离线大数据的分析挖掘。例如:电商数据的分析挖掘、社交数据的分析挖掘、企业客户关系的分析挖掘。最终的目标就是提高企业运作效率,实现精准营销,发现潜在客户等等。大数据还应用于很多其他领域,例如:机器学习、知识发现、预测分析等都必须基于大规模的数据,随着数据量的剧增,单节点的数据存储已经被社会淘汰,一种基于多节点的分布式存储逐渐兴起,而这些多节点就依赖于
12、大规模的廉价PC 构建Hadoop 集群。 1.2 Hadoop 1.2 Hadoop的介绍的介绍Hadoop Hadoop 的生态体系的生态体系Hadoop 是一个能够对大量数据进行分布式处理的软件框架,目前Hadoop 已经发展成为包含很多项目的集合。Hadoop 的核心是HDFS 和MapReduce,Hadoop 2. 0 还包括YARN。随着Hadoop 的兴起,其框架下的开发工具也逐渐丰富。18( (一一)HDFS)HDFSHadoop 分布式文件系统(HDFS)是一种可以在低成本计算机硬件上运行的高容错性分布式文件系统。HDFS 提供对应用程序数据的高吞吐量访问,并且适用于具有大
13、数据集的应用程序。HDFS 放宽了一些可一直操作系统接口(POSIX)的要求,以实现对文件系统数据的流式访问。HDFS 的设计目标包含如下几个方面:1.硬件故障2.流数据访问3.大数据集4.简单一致性模型5.跨异构硬件和软件平台的可移植性19( (二二)MapReduce)MapReduceMapReduce 是一款以可靠、容错的方式并行处理大型硬件集群(数千个节点)中大量数据(多TB 数据集)的软件框架。“Map”(映射)和“Reduce”(简化)的概念以及其主要思想都是从函数式编程语言借用来的。这极大方便了编程人员在不会分布式并行编程的情况下,将自己的程序运行在分布式系统上。其中Map 对
14、数据集上的独立元素进行指定的操作,生成“键-值”对形式中间结果。Reduce 则对中间结果中相同“键”的所有“值”进行规约,以得到最终结果。MapReduce 这样的功能划分,非常适合在大量计算机组成的分布式并行环境里进行数据处理。20( (三三)YARN)YARNYARN 是在Hadoop 1. 0 基础上衍化而来的,它充分吸收了Hadoop 1. 0 的优势,并具有比Hadoop 1. 0 更为先进的理念和思想,YARN 是Hadoop 2. 0 及以上版本的下一代集群资源管理与调度平台,它的基本思想是将资源管理和作业调度、监视的功能拆分为单独的守护程序。( (四四)ZooKeeper)Z
15、ooKeeperZooKeeper 是一个为分布式应用所设计的开源协调服务。它可以为用户提供同步、配置、管理、分组和命名等服务。用户可以使用ZooKeeper 提供的接口方便地实现一致性、组管理等协议。ZooKeeper 提供了一种易于编程的环境,它的文件系统使用了目录树结构。ZooKeeper是使用Java 编写的,但是它支持Java 和C 两种编程语言接口。21( (五五)HBASE)HBASEHBase 是一个分布式的、面向列的开源数据库,它参考了Google 的BigTable 建模进行开源实现,实现的编程语言为Java。HBase 是Apache 软件基金会的Hadoop 项目的一个
16、子项目,运行于HDFS 文件系统之上,为Hadoop 提供类似于BigTable 规模的服务。因此,它可以容错地存储海量稀疏的数据。HBase 是一个高可靠、高性能、面向列、可伸缩的分布式数据库,主要用来存储非结构化和半结构化的松散数据。HBase 的目标是对大数据进行随机处理与实时读写访问,它利用廉价计算机集群处理由超过10 亿行数据和数百万列元素组成的数据表。22( (六六)SPARK)SPARK机器学习算法通常需要对同一个数据集合进行多次迭代计算,而MapReduce 中每次迭代都会涉及HDFS 的读写,以及在计算过程中缺乏一个常驻的MapReduce 作业,因此,每次迭代都要初始化新的
17、MapReduce 任务,MapReduce 就显得效率不高了。同时,基于MapReduce之上的Hive、Pig 等技术也存在类似问题。Spark 作为一个研究项目, Spark 扩展了广泛使用的MapReduce 计算模型,高效地支撑更多计算模式,包括交互式查询和流处理。Spark 的一个主要特点是能够在内存中进行计算,即使依赖磁盘进行复杂的运算,Spark 依然比MapReduce 更加高效。23( (七七)HIVE)HIVE最初,Hive 是由Facebook 开发,后来由Apache 软件基金会开发,并将它作为其名下的一个开源项目,名为“Apache Hive”,它是一个数据仓库基础
18、工具在Hadoop 中用来处理结构化数据,可以将结构化的数据文件映射为一张数据库表,并提供完整的SQL 查询功能,可以将SQL语句转换为MapReduce 任务进行运行。Hive 的优点是:学习成本低,可以通过类SQL 语句转换为MapReduce 任务进行运行,不必开发专门的MapReduce 应用,十分适合数据仓库的统计分析工作。Hive 是建立在Hadoop 上的数据仓库基础构架。它提供了一系列的工具,可以用来进行数据提取、转化、加载,这是一种可以存储、查询和分析存储在Hadoop 中的大规模数据机制。24( (八八)PIG)PIGApache Pig 是一个用于分析大型数据集的平台,该
19、平台包含用于表示数据分析程序的高级语言,以及用于评估这些程序的基础结构。Pig 程序的显著特性是:它的结构适用于并行化,从而使其能够处理非常大的数据集。要编写数据分析程序,Pig 提供了一种称为Pig Latin 的高级语言。该语言提供了各种操作符,程序员可以利用它们开发自己的用于读取、写入和处理数据的功能。要使用Pig 分析数据,程序员需要使用Pig Latin 语言编写脚本。所有这些脚本都在内部转换为Map 和Reduce 任务。Apache Pig 项目中有一个名为“Pig 引擎”的组件,它接受Pig Latin脚本作为输入,并将这些脚本转换为MapReduce 作业。25( (九九)S
20、QOOP)SQOOPSqoop 是一个用来将Hadoop 和关系型数据库中的数据进行转移的工具,它可以将一个关系型数据库(如:MySQL、Oracle、Postgress 等) 中的数据导入Hadoop 的HDFS 中,也可以将HDFS 的数据导入关系型数据库中。 1.2 Hadoop 1.2 Hadoop的介绍的介绍Hadoop Hadoop 的版本的版本Apache Hadoop 使用“ ”的版本格式,例如:Hadoop 3. 2. 1、Hadoop 2. 10. 0 版本。其中每个版本组件都是一个数值,版本也可以具有其他后缀,例如“ -alpha2”或“ -beta1”,又例如Hadoo
21、p Ozone 0. 4. 1-alpha 版本等。这些数值表示API 兼容性保证和发行版的质量。目前,Hadoop 的版本已经趋近于稳定,2019 年10 月Apache Hadoop 2. 10 系列的第一个稳定版本发布,Apache Hadoop 3. 1. 3 系列的第三个稳定版本发布,这些稳定版本的升级主要是用来进行错误的修复、改进和增强。27Hadoop 的版本发展情况如下图。第2 2章 HadoopHadoop集群构建 虚拟机的安装 Linux系统的网络配置和SSH配置Hadoop集群的构建和配置28Hadoop集群测试Hadoop集群初体验的操作29 学习目标学习目标了解掌握掌
22、握熟悉了解虚拟机的安装12掌握Hadoop集群的构建和配置4掌握Hadoop集群测试3熟悉Linux系统的网络配置和SSH配置;熟悉Hadoop集群初体验的操作本章将会绍虚拟机的安装,Linux系统的配置,Hadoop集群的构建、测试以及构建过程中的注意事项。 章节概要章节概要Hadoop是一个由Apache基金会开发的开源软件框架,可运行在Linux集群上。通过Hadoop,用户可以在不了解分布式底层细节的情况下对海量数据进行存储和高速运算。在学习Hadoop之前,应先将Hadoop集群构建起来。 2.1 Linux2.1 Linux系统安装系统安装 1.打开 VMware Workstat
23、ion 14,选择“ 创建新的虚拟机”,在弹出的对话框中,选择“ 自定义 ( 高级)”,如图 2. 1 所示。图 2. 1创建新的虚拟机 2.1 Linux2.1 Linux系统安装系统安装 2.选择硬件兼容性为“Workstation 14. x”,如图 2. 2 所示。 需要注意的是 VMware Worksta-tion 不能向上兼容,也就是说低版本的 Workstation 无法打开高版本的虚拟机,因此,对于硬件兼容性需要特别注意版本的选择。图 2. 2选择虚拟机硬件兼容性 2.1 Linux2.1 Linux系统安装系统安装3. 暂不指定操作系统安装来源,选择“ 稍后安装操作系统”,
24、如图 2. 3 所示。图 2. 3选择操作系统安装来源 2.1 Linux2.1 Linux系统安装系统安装4. 选择客户机操作系统为“Linux”,版本为“CentOS 7 64 位”,如图 2. 4 所示。5.指定虚拟机操作系统的名称及安装位置,如图2.5所示。为了后面便于使用,将桌面版命名为“CentOS7-64-master”,两个mini版分别命名为“CentOS7-64-slave1”和“CentOS7-64-slave2”。图 2. 4客户机操作系统选择图 2. 5虚拟机名称及安装路径设置 2.1 Linux2.1 Linux系统安装系统安装6.设置处理器配置,使用默认配置即可,
25、如图2.6所示。7.指定虚拟机内存,桌面版选择2GB,mini版选择1GB,如图2.7所示。图 2. 6设置处理器配置图 2. 7指定虚拟机内存 2.1 Linux2.1 Linux系统安装系统安装8.网络类型选择“使用网络地址转换(NAT)(E)”,如图2.8所示。9.I/O控制器类型使用默认的“LSILogic(L)”,磁盘类型选择推荐的“SCSI(S)”。10.磁盘选择,选择“创建新虚拟磁盘”,如图2.9所示。图2.8选择网络类型图 2. 9磁盘选择 2.1 Linux2.1 Linux系统安装系统安装11.指定磁盘容量为20GB,磁盘容量可根据实际存储数据大小进行调整,选择“将虚拟磁盘
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 数据 技术 原理 操作 应用
限制150内