01第一章 初识Hadoop大数据技术

合集下载

《Hadoop大数据技术》课程理论教学大纲

《Hadoop大数据技术》课程理论教学大纲

《Hadoop大数据技术》课程教学大纲一、课程基本情况课程代码:1041139083课程名称(中/英文):Hadoop大数据技术/Hadoop Big Data Technology课程类别:专业必修课学分:3.5总学时:56理论学时:32实验/实践学时:24适用专业:数据科学与大数据技术适用对象:本科先修课程:JA V A程序设计、Linux基础教学环境:课堂、多媒体、实验机房二、课程简介《Hadoop大数据技术》课程是数据科学与大数据技术专业的专业必修课程。

《Hadoop大数据技术》主要学习当前广泛使用的大数据Hadoop平台及其主要组件的作用及使用。

通过学习Hadoop 平台框架,学会手动搭建Hadoop环境,掌握Hadoop平台上存储及计算的原理、结构、工作流程,掌握基础的MapReduce编程,掌握Hadoop生态圈常用组件的作用、结构、配置和工作流程,并具备大数据的动手及问题分析能力,使用掌握的知识应用到实际的项目实践中。

课程由理论及实践两部分组成,课程理论部分的内容以介绍Hadoop平台主要组件的作用、结构、工作流程为主,对Hadoop 平台组件的作用及其工作原理有比较深入的了解;课程同时为各组件设计有若干实验,使学生在学习理论知识的同时,提高实践动手能力,做到在Hadoop的大数据平台上进行大数据项目开发。

三、课程教学目标2.课程教学目标及其与毕业要求指标点、主要教学内容的对应关系四、教学内容(一)初识Hadoop大数据技术1.主要内容:掌握大数据的基本概念、大数据简史、大数据的类型和特征、大数据对于企业带来的挑战。

了解对于大数据问题,传统方法、Google的解决方案、Hadoop框架下的解决方案,重点了解Google的三篇论文。

掌握Hadoop核心构成、Hadoop生态系统的主要组件、Hadoop发行版本的差异及如何选择;了解Hadoop典型应用场景;了解本课程内容涉及到的Java语言基础;了解本课程实验涉及到的Linux基础。

Hadoop大数据开发基础教案Hadoop介绍教案

Hadoop大数据开发基础教案Hadoop介绍教案

Hadoop大数据开发基础教案Hadoop介绍教案第一章:Hadoop概述1.1 课程目标了解Hadoop的定义、发展历程及应用场景掌握Hadoop的核心组件及其作用理解Hadoop在大数据领域的优势1.2 教学内容Hadoop的定义与发展历程Hadoop的核心组件:HDFS、MapReduce、YARN Hadoop的应用场景与优势1.3 教学方法讲解与案例分析相结合互动提问,巩固知识点1.4 课后作业简述Hadoop的发展历程及其在大数据领域的优势。

第二章:HDFS(分布式文件系统)2.1 课程目标掌握HDFS的架构与工作原理了解HDFS的优势与局限性掌握HDFS的常用操作命令2.2 教学内容HDFS的架构与工作原理HDFS的优势与局限性HDFS的常用操作命令:hdfs dfs, hdfs dfsadmin2.3 教学方法讲解与实践操作相结合案例分析,理解HDFS的工作原理2.4 课后作业利用HDFS命令练习文件的与。

第三章:MapReduce编程模型3.1 课程目标掌握MapReduce的基本概念与编程模型理解MapReduce的运行原理与执行过程学会使用MapReduce解决大数据问题3.2 教学内容MapReduce的基本概念:Mapper、Reducer、Shuffle与Sort MapReduce的编程模型:Map阶段、Shuffle阶段、Reduce阶段MapReduce的运行原理与执行过程3.3 教学方法讲解与编程实践相结合剖析经典MapReduce案例,理解编程模型3.4 课后作业编写一个简单的MapReduce程序,实现单词计数功能。

第四章:YARN(资源管理器)4.1 课程目标掌握YARN的基本概念与架构了解YARN的工作原理与调度策略掌握YARN的资源管理与优化方法4.2 教学内容YARN的基本概念与架构YARN的工作原理与调度策略YARN的资源管理与优化方法4.3 教学方法讲解与案例分析相结合实操演练,掌握YARN的资源管理方法4.4 课后作业分析一个YARN集群的资源使用情况,提出优化方案。

《Hadoop大数据技术原理与应用》课程教学大纲

《Hadoop大数据技术原理与应用》课程教学大纲

《Hadoop大数据技术原理与应用》课程教学大纲课程编号:3250578学分:4学分学时:72学时(其中:讲课学时36 上机学时:36)先修课程:《Linux基础》、《关系数据库基础》、《程序设计基础》、《Java面向对象编程》后续课程:Spark,《Python编程基础》、《Python数据分析与应用》适用专业:大数据应用技术一、课程的性质与目标《大数据应用开发》本课程是软件技术专业核心课程,大数据技术入门课程。

通过学习课程使得学生掌握大数据分析的主要思想和基本步骤,并通过编程练习和典型应用实例加深了解;同时对Hadoop平台应用与开发的一般理论有所了解,如分布式数据收集、分布式数据存储、分布式数据计算、分布式数据展示。

开设本学科的目的是让学生掌握如何使用大数据分析技术解决特定业务领域的问题。

完成本课程学习后能够熟练的应用大数据技术解决企业中的实际生产问题。

二、教学条件要求操作系统:Center OSHadoop版本:Hadoop2.7.4开发工具:Eclipse三、课程的主要内容及基本要求第1章初识Hadoop第2章构建Hadoop集群第3章 HDFS分布式文件系统第4章 MapReduce分布式计算系统第5章 Zookeeper分布式协调服务第6章 Hadoop2.0新特性第7章 Hive数据仓库第8章 Flume日志采集系统第9章 Azkaban工作流管理器第10章 Sqoop数据迁移第11章综合项目——网站流量日志数据分析系统四、学时分配五、考核模式与成绩评定办法本课程为考试课程,期末考试采用百分制的闭卷考试模式。

学生的考试成绩由平时成绩(30%)和期末考试(70%)组成,其中,平时成绩包括出勤(5%)、作业(5%)、上机成绩(20%)。

六、选用教材和主要参考书本大纲是参考教材《Hadoop大数据技术原理与应用》所设计的。

七、大纲说明本课程的授课模式为:课堂授课+上机,其中,课堂主要采用多媒体的方式进行授课,并且会通过测试题阶段测试学生的掌握程度;上机主要是编写程序,要求学生动手完成指定的程序设计或验证。

Hadoop大数据处理入门指南

Hadoop大数据处理入门指南

Hadoop大数据处理入门指南第一章:大数据概述1.1 什么是大数据大数据指的是数据量庞大、种类多样、处理速度快的数据集合。

随着互联网的普及和信息化的发展,大数据愈发普遍,这些数据包括来自社交媒体、传感器、日志文件等多个来源。

1.2 大数据的挑战大数据的处理面临着四个主要挑战,即数据量庞大、数据多样性、数据处理速度和数据价值挖掘。

第二章:Hadoop概述2.1 Hadoop的定义Hadoop是一个开源的分布式计算框架,能够处理大规模数据集,提供了可靠性、可扩展性和分布式计算的特性。

2.2 Hadoop的架构Hadoop的架构由HDFS(分布式文件系统)和MapReduce(分布式计算框架)组成。

HDFS用于存储和管理大数据集,MapReduce用于处理和分析这些数据。

第三章:Hadoop生态系统3.1 Hadoop生态系统简介Hadoop生态系统由多个组件组成,包括Hive、HBase、Pig、Spark等工具和技术,用于进一步扩展Hadoop的功能和应用范围。

3.2 HiveHive是一个基于Hadoop的数据仓库工具,可以用SQL语言查询和分析大数据集。

它提供了类似于关系数据库的功能,简化了大数据处理的复杂性。

3.3 HBaseHBase是一个分布式、可扩展且高性能的数据库,用于存储和查询海量结构化数据。

它具有快速随机读写功能,适用于需要实时访问大数据集的应用。

3.4 PigPig是一个用于大数据分析的平台,它提供了一种类似于脚本的语言Pig Latin来处理结构化和半结构化数据。

3.5 SparkSpark是一个快速、通用的集群计算系统,用于大规模数据处理。

它支持多种编程语言,并提供了高级API,以便于进行复杂数据分析和机器学习算法。

第四章:Hadoop的安装与配置4.1 下载与安装在本节中,将介绍如何从官方网站下载Hadoop,并进行详细的安装说明。

4.2 配置Hadoop集群探讨如何配置Hadoop集群,包括修改配置文件,设置环境变量和网络连接等。

Hadoop基础之初识大数据与Hadoop_光环大数据培训

Hadoop基础之初识大数据与Hadoop_光环大数据培训

从大量客户中快速识别出金牌客户。
使用点击流分析和数据挖掘来规避欺诈行为。
2.4、大数据的系统架构(整体架构)
2.5、大数据处理平台
2.6、大数据中的几个概念
1)集群(Cluster): 服务器集群就是指 将很多服务器集中起来群可以利用 多个计算机 进行并行 计算从而获得很高的计算速度,也可以用多个计算机做备份,
1)对于“大数据”(Big data)研究机构 Gartner 给出了这样的定义 。 “大数据”是需要新处理模式才能具有更强的决策力、洞察发现力和流程优化能 力来适应海量、高增长率和多样化的信息资产。
2)麦肯锡全球研究所给出的定义是: 一种规模大到在获取、存储、管 理、分析方面大大超出了传统数据库软件工具能力范围的数据集合,具有海量的 数据规模、快速的数据流转、多样的数据类型和价值密度低四大特征 。
光环大数据--大数据培训&人工智能培训 Hadoop 基础之初识大数据与 Hadoop_光环大数据培训
我将一步一步的分享大数据相关的知识, 其实很多程序员感觉大数据很难学, 其实并不是你想象的这样,只要自己想学,还有什么难得呢?
学习 hadoop 有一个 8020 原则,80%都是在不断的配置配置搭建集群, 只有 20%写程序!
6)机器学习(MachineLearning):当 数据被处理完,用来获取所处理的 信息。从数据集中获取信息 。
7)云计算(CloudComputing):通过
互联网来提供动态易扩展且经常是虚拟化的资源
三、Hadoop 概述
3.1、什么是 Hadoop
1)Hadoop 是一个 由 Apache 基金会所开发的分布式系统基础架构 。
1)Hadoop 是一个能够 对大量数据进行分布式处理的软件框架 。

Hadoop大数据分析入门教程

Hadoop大数据分析入门教程

Hadoop大数据分析入门教程第一章理解大数据分析的重要性随着信息技术的快速发展和互联网应用的广泛普及,大量的数据被不断产生和积累。

这些数据以前所未有的速度和规模增长,其中蕴含着宝贵的信息和洞察力,可以帮助企业做出更准确的决策和预测未来的趋势。

然而,由于数据量庞大、种类繁多以及处理和分析难度大的特点,如何高效地处理和分析这些大数据成为了亟待解决的问题。

第二章 Hadoop简介及其核心组件Hadoop是一个开源的分布式计算框架,被广泛应用于大数据分析领域。

Hadoop的核心组件包括Hadoop分布式文件系统(Hadoop Distributed File System, HDFS)和Hadoop分布式计算框架(Hadoop MapReduce)。

HDFS具有高度容错性和可靠性的特点,适合存储海量的数据。

而MapReduce则是一种基于分布式计算的编程模型,可以并行处理、分析和计算海量数据。

第三章 Hadoop生态系统除了HDFS和MapReduce,Hadoop还有一些其他重要的组件,构成了完整的Hadoop生态系统。

例如,Hadoop YARN(Yet Another Resource Negotiator)是一个资源管理器,负责协调和调度集群上的计算任务。

Hadoop Hive是一个基于SQL的数据仓库工具,提供了类似于关系数据库的查询语言,可以方便地进行数据查询和分析。

此外,还有Hadoop HBase、Hadoop Pig等组件,提供了更丰富的功能和更高层次的抽象。

第四章如何搭建Hadoop集群要使用Hadoop进行大数据分析,首先需要搭建一个Hadoop集群。

一个Hadoop集群由一个主节点(Master)和多个从节点(Slave)组成,它们相互协作完成数据存储和计算任务。

搭建Hadoop集群可以采用几种不同的方式,比如本地模式、伪分布式模式和完全分布式模式。

这些模式的不同在于节点的数量和部署方式,根据实际情况选择适合的模式。

hadoop大数据技术基础 python版

hadoop大数据技术基础 python版

Hadoop大数据技术基础 python版随着互联网技术的不断发展和数据量的爆炸式增长,大数据技术成为了当前互联网行业的热门话题之一。

Hadoop作为一种开源的大数据处理评台,其在大数据领域的应用日益广泛。

而Python作为一种简洁、易读、易学的编程语言,也在大数据分析与处理中扮演着不可或缺的角色。

本文将介绍Hadoop大数据技术的基础知识,并结合Python编程语言,分析其在大数据处理中的应用。

一、Hadoop大数据技术基础1. Hadoop简介Hadoop是一种用于存储和处理大规模数据的开源框架,它主要包括Hadoop分布式文件系统(HDFS)和MapReduce计算框架。

Hadoop分布式文件系统用于存储大规模数据,而MapReduce计算框架则用于分布式数据处理。

2. Hadoop生态系统除了HDFS和MapReduce之外,Hadoop生态系统还包括了许多其他组件,例如HBase、Hive、Pig、ZooKeeper等。

这些组件形成了一个完整的大数据处理评台,能够满足各种不同的大数据处理需求。

3. Hadoop集群Hadoop通过在多台服务器上构建集群来实现数据的存储和处理。

集群中的各个计算节点共同参与数据的存储和计算,从而实现了大规模数据的分布式处理。

二、Python在Hadoop大数据处理中的应用1. Hadoop StreamingHadoop Streaming是Hadoop提供的一个用于在MapReduce中使用任意编程语言的工具。

通过Hadoop Streaming,用户可以借助Python编写Map和Reduce的程序,从而实现对大规模数据的处理和分析。

2. Hadoop连接Python除了Hadoop Streaming外,Python还可以通过Hadoop提供的第三方库和接口来连接Hadoop集群,实现对Hadoop集群中数据的读取、存储和计算。

这为Python程序员在大数据处理领域提供了更多的可能性。

《大数据技术原理与操作应用》最新版精品课件第1章

《大数据技术原理与操作应用》最新版精品课件第1章

1.2 Hadoop的介绍
Hadoop的发展历史
2003—2004 年,Google 公布部分GFS 、MapReduce 思想的细节, Doug Cutting 等人用两年的业余时间实现了DFS 和MapReduce 机制,使 Nutch 性能飙升。
2005 年,Hadoop 作为Lucene 的子项目Nutch的一部分正式引入 Apache 基金会。由于NDFS 和MapReduce 在Nutch 引擎中有着很好的应用。
1.2 Hadoop的介绍
Hadoop 的生态体系
Hadoop 是一个能够对大量数据进行分布式处理的软件框架,目前 Hadoop 已经发展成为包含很多项目的集合。Hadoop 的核心是HDFS 和 MapReduce,Hadoop 2. 0 还包括YARN。随着Hadoop 的兴起,其框架下的 开发工具也逐渐丰富。
11
1.2 Hadoop的介绍
Hadoop的由来
Apache Hadoop 项目是一款可靠、可扩展的分布式计算开源软件。 Hadoop 软件库是一个框架,该框架的两个核心模块是分布式文件系统(HDFS) 和数据计算MapReduce。
MapReduce 允许用户在不了解分布式系统底层知识的情况下,以可靠 、容错的方式灵活地并行处理大型计算机集群(数千个节点)上的大量数据。用 户可以轻松地搭建和使用Hadoop 分布式计算框架,并充分地利用集群的运算 和存储能力,完成海量数据的计算与存储。
(二)大数据预处理技术
大数据的预处理包括对数据的抽取和清洗等方面。由于大数据的数据类 型是多样化的,不利于快速分析处理,数据抽取过程可以将数据转化为单一的 或者便于处理的数据结构。
9
(三)大数据存储及管理技术
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

第1章初识Hadoop大数据技术本章主要介绍大数据的时代背景,给出了大数据的概念、特征,还介绍了大数据相关问题的解决方案、Hadoop大数据技术以及Hadoop的应用案例。

本章的主要内容如下。

(1)大数据技术概述。

(2)Google的三篇论文及其思想。

(3)Hadoop概述。

(4)Hadoop生态圈。

(5)Hadoop的典型应用场景和应用架构。

1.1 大数据技术概述1.1.1 大数据产生的背景1946年,计算机诞生,当时的数据与应用紧密捆绑在文件中,彼此不分。

19世纪60年代,IT系统规模和复杂度变大,数据与应用分离的需求开始产生,数据库技术开始萌芽并蓬勃发展,并在1990年后逐步统一到以关系型数据库为主导,具体发展阶段如图1-1所示。

Hadoop 大数据技术与应用图1-1 数据管理技术在2001年前的两个发展阶段 2001年后,互联网迅速发展,数据量成倍递增。

据统计,目前,超过150亿个设备连接到互联网,全球每秒钟发送290万封电子邮件,每天有2.88万小时视频上传到YouTube 网站,Facebook 网站每日评论达32亿条,每天上传照片近3亿张,每月处理数据总量约130万TB 。

2016年全球产生数据量16.1ZB ,预计2020年将增长到35ZB (1ZB = 1百万,PB = 10亿TB ),如图1-2所示。

图1-2 IDC 数据量增长预测报告2011年5月,EMC World 2011大会主题是“云计算相遇大数据”,会议除了聚焦EMC 公司一直倡导的云计算概念外,还抛出了“大数据”(BigData )的概念。

2011年6月底,IBM 、麦肯锡等众多国外机构发布“大数据”相关研究报告,并予以积极的跟进。

19世纪60年代,IT 系统规模和复杂度变大,数据与应用分离的需求开始产生,数据库技术开始萌芽并蓬勃发展,并在1990年后逐步统一到以关系型数据库为主导1946年,计算机诞生,数据与应用紧密捆绑在文件中,彼此不分1946 1951 1956 1961 1970 1974 1979 1991 2001 … 网络型E-RSQL 关系型数据库 数据仓库 第一台 计算机 ENIAC 面世 磁带+ 卡片 人工 管理 磁盘被发明,进入文件管理时代 GE 公司发明第一个网络模型数据库,但仅限于GE 自己的主机 IBM E. F.Dodd 提出关系模型 SQL 语言被发明 ORACLE 发布第一个商用SQL 关系数据库,后续快速发展数据仓库开始涌现,关系数据库开始全面普及且与平台无关,数据管理技术进入成熟期 0.8ZB :将一堆DVD 堆起来够地球到月亮一个来回 35ZB :将一堆DVD 堆起来是地球到火星距离的一半IDC 报告“Data Universe Study ”预测:全世界数据量将从2009年的0.8ZB 增长到2020年的35ZB ,增长44倍!年均增长率>40%!1.1.2 大数据的定义“大数据”是一个涵盖多种技术的概念,简单地说,是指无法在一定时间内用常规软件工具对其内容进行抓取、管理和处理的数据集合。

IBM公司将“大数据”理念定义为4个V,即大量化(V olume)、多样化(Variety)、快速化(Velocity)及由此产生的价值(Value)。

要理解大数据这一概念,首先要从“大”入手。

“大”是指数据规模,大数据一般指在10TB (1TB=1024GB)规模以上的数据量。

大数据与过去的海量数据有所区别,其基本特征可以用4个V来总结(V olume、Variety、Velocity和Value),即数据体量大、数据类型多、处理速度快、价值密度低。

●数据体量大:大数据的数据量从TB级别跃升到PB级别。

●数据类型多:大数据的数据类型包括前文提到的网络日志、视频、图片、地理位置信息等。

●处理速度快:1秒定律。

最后这一点是大数据技术与传统数据挖掘技术的本质区别。

●价值密度低:以视频为例,连续不间断监控过程中,可能有用的数据仅仅有一两秒。

1.1.3 大数据技术的发展随着应用数据规模的急剧增加,传统系统面临严峻的挑战,它难以提供足够的存储和计算资源进行处理。

大数据技术是从各种类型的海量数据中快速获得有价值信息的技术。

大数据技术要面对的基本问题,也是最核心的问题,就是海量数据如何可靠存储和如何高效计算的问题。

围绕大数据的核心问题,下面列出了大数据相关技术的发展历程。

2003年,Google公司发表了论文“The Google File System”,介绍GFS分布式文件系统,主要讲解海量数据的可靠存储方法。

2004年,Google公司发表了论文“MapReduce: Simplified Data Processing on Large Clusters”,介绍并行计算模型MapReduce,主要讲解海量数据的高效计算方法。

2006年,Google公司发表了“Bigtable: A Distributed Storage System for Structured Data”,介绍Google大表(BigTable)的设计。

BigTable是Google公司的分布式数据存储系统,是用来处理海量数据的一种非关系型数据库。

Google公司根据GFS、MapReduce论文思想先后实现了Hadoop的HDFS分布式文件系统、MapReduce分布式计算模型并开源。

2008年,Hadoop成为Apache顶级项目。

2010年,Google公司根据BigTable论文思想,开发出Hadoop的HBase并开源。

开源组织GNU 发布MongoDB,VMware公司提供开源产品Redis。

2011年,Twitter公司提供开源产品Storm,它是开源的分布式实时计算系统。

2014年,Spark成为Apache的顶级项目,它是专为大规模数据处理而设计的快速通用的计算引擎。

1.2 Google的“三驾马车”Google公司的三篇论文:GFS、MapReduce、BigTable,奠定了大数据技术的基石,具有划时代的意义,被称为Google公司的“三驾马车”。

下面分别介绍这三篇论文的思想。

1.2.1 GFS的思想论文“The Google File System”描述了一个分布式文件系统的设计思路。

从交互实体上划分,分布式文件系统有两个基本组成部分,一个是客户端(Client),一个是服务端(Server)。

先考虑第一个问题,如果客户端把文件上传到服务端,但是服务端的硬盘不够大,怎么办?显然,我们可以多加硬盘,或多增加主机。

另一个问题,则是数据的存储可靠性怎么保证?如果第1章初识Hadoop大数据技术把文件存在硬盘上,一旦硬盘坏了,数据岂不是丢失了?对于这个问题,可以采用数据冗余存储的方式解决,即同一文件多保存几份。

而事实上事情没那么简单。

多增加了硬盘或主机后,这些主机或硬盘如何被管理起来,或它们怎样才能有效运作起来?数据冗余是对每个上传的文件在各台主机都单独存放一份吗?GFS解决这些问题的思路是这样的,增加一个管理节点,去管理这些存放数据的主机。

存放数据的主机称为数据节点。

而上传的文件会按固定的大小进行分块。

数据节点上保存的是数据块,而非独立的文件。

数据块冗余度默认是3。

上传文件时,客户端先连接管理节点,管理节点生成数据块的信息,包括文件名、文件大小、上传时间、数据块的位置信息等。

这些信息称为文件的元信息,它会保存在管理节点。

客户端获取这些元信息之后,就开始把数据块一个个上传。

客户端把数据块先上传到第一个数据节点,然后,在管理节点的管理下,通过水平复制,复制几份数据块到其他节点,最终达到冗余度的要求。

水平复制需要考虑两个要求:可靠性、可用性。

分布式文件系统如图1-3所示。

图1-3 分布式文件系统论文“The Google File System”描述的GFS架构如图1-4所示。

Hadoop大数据技术与应用图1-4 GFS的架构对于GFS架构,论文提到如下几个要点。

(1)GFS Master节点管理所有的文件系统元数据,包括命名空间、访问控制信息、文件和块的映射信息以及当前块的位置信息。

(2)GFS存储的文件都被分割成固定大小的块,每个块都会被复制到多个块服务器上(可靠性)。

块的冗余度默认为3。

(3)GFS Master还管理着系统范围内的活动,比如块服务器之间的数据迁移等。

(4)GFS Master与每个块服务器通信(发送心跳包),发送指令,获取状态。

论文也提到“副本的位置”的要求,即块副本位置选择的策略要满足两大目标:最大化数据可靠性和可用性。

1.2.2 MapReduce的思想在讨论MapReduce之前,我们先讨论一个与“PageRank”相关的问题。

PageRank,即网页排名,又称网页级别。

如果现在有1~4四个网页,网页1的内容有链接到网页2、网页3、网页4,网页2的内容有链接到网页3、网页4,网页3没有链接到其他页面,网页4有内容链接到网页3,如图1-5所示。

第1章初识Hadoop大数据技术图1-5 网页链接关系用一个矩阵向量表来表达这几个网页的关联关系,如图1-6所示。

例如,网页1有内容链接到网页2,则在第二行第三列标“1”,否则标“0”。

图1-6 用矩阵向量表表示网页链接关系计算这个4⨯4的矩阵,计算机丝毫没有问题。

但如果网页非常多,比如计算1亿⨯1亿的矩阵呢?则这个矩阵就非常大,一台计算机则计算不了,该怎么办呢?有一个方法,就是把这个矩阵进行细分,分成很多小的矩阵。

对每个小矩阵计算后,获得一个中间结果,再把中间结果合并起来,得到最终的结果。

这其实就是“MapReduce”,如图1-7所示。

图1-7 分成小块再计算Hadoop大数据技术与应用图1-8所示是论文“MapReduce:Simplified Data Processing on Large Clusters”描述的MapReduce的原理图。

MapReduce采用“分而治之”的思想,把对大规模数据集的操作,分发给一个主节点管理下的各个子节点共同完成,然后整合各个子节点的中间结果,得到最终的计算结果。

简而言之,MapReduce就是“分散任务,汇总结果”。

(标注:Master为主节点,worker为工作节点)图1-8 MapReduce的分而治之1.2.3 BigTable的思想假设有一个学生信息系统记录了学生信息和成绩信息。

该系统采用关系数据库保存数据。

图1-9所示是关系数据库中存储了学生信息和成绩信息的两张表。

可以看出,两张表各自有相应的字段的定义。

“学生成绩表”中的“stu_id”是“学生信息表”中的外键。

第1章初识Hadoop大数据技术图1-9 学生信息系统中的两张表而采用BigTable存储这两张表的数据,存储模型如图1-10所示。

相关文档
最新文档