typora-root-url: …/Hadoop

Hadoop光速入门

一 、大数据基本概念

1.1 大数据概念


大数据:指无法在一定时间范围内用常规软件工具进行捕捉,管理和处理的数据集合,是需要新模式才能具有更强大的决策力,洞察发现力和流程优化能力的海量,高增长率和多样化的信息资产

最小的基本单位是bit,按顺序给出所有单位:bit、Byte、KB、MB、GB、TB、PB、EB、ZB、YB、BB、NB、DB。

1 Byte =8 bit
1 KB = 1,024 Bytes = 8192 bit
1 MB = 1,024 KB = 1,048,576 Bytes
1 GB = 1,024 MB = 1,048,576 KB
1 TB = 1,024 GB = 1,048,576 MB
1 PB = 1,024 TB = 1,048,576 GB
1 EB = 1,024 PB = 1,048,576 TB
1 ZB = 1,024 EB = 1,048,576 PB
1 YB = 1,024 ZB = 1,048,576 EB
1 BB = 1,024 YB = 1,048,576 ZB
1 NB = 1,024 BB = 1,048,576 YB
1 DB = 1,024 NB = 1,048,576 BB

主要解决,海量数据的存储和海量数据的分析计算问题

1.2 大数据的特点

1、大量。大数据的特征首先就体现为“大”,从先Map3时代,一个小小的MB级别的Map3就可以满足很多人的需求,然而随着时间的推移,存储单位从过去的GB到TB,乃至现在的PB、EB级别。随着信息技术的高速发展,数据开始爆发性增长。社交网络(微博、推特、脸书)-、移动网络、各种智能工具,服务工具等,都成为数据的来源。淘宝网近4亿的会员每天产生的商品交易数据约20TB;脸书约10亿的用户每天产生的日志数据超过300TB。迫切需要智能的算法、强大的数据处理平台和新的数据处理技术,来统计、分析、预测和实时处理如此大规模的数据。

2、多样。广泛的数据来源,决定了大数据形式的多样性。任何形式的数据都可以产生作用,目前应用最广泛的就是推荐系统,如淘宝,网易云音乐、今日头条等,这些平台都会通过对用户的日志数据进行分析,从而进一步推荐用户喜欢的东西。日志数据是结构化明显的数据,还有一些数据结构化不明显,例如图片、音频、视频等,这些数据因果关系弱,就需要人工对其进行标注。

3、高速。大数据的产生非常迅速,主要通过互联网传输。生活中每个人都离不开互联网,也就是说每天个人每天都在向大数据提供大量的资料。并且这些数据是需要及时处理的,因为花费大量资本去存储作用较小的历史数据是非常不划算的,对于一个平台而言,也许保存的数据只有过去几天或者一个月之内,再远的数据就要及时清理,不然代价太大。基于这种情况,大数据对处理速度有非常严格的要求,服务器中大量的资源都用于处理和计算数据,很多平台都需要做到实时分析。数据无时无刻不在产生,谁的速度更快,谁就有优势。

4、价值。这也是大数据的核心特征。现实世界所产生的数据中,有价值的数据所占比例很小。相比于传统的小数据,大数据最大的价值在于通过从大量不相关的各种类型的数据中,挖掘出对未来趋势与模式预测分析有价值的数据,并通过机器学习方法、人工智能方法或数据挖掘方法深度分析,发现新规律和新知识,并运用于农业、金融、医疗等各个领域,从而最终达到改善社会治理、提高生产效率、推进科学研究的效果。

1.3 大数据应用

从证券行业到医疗领域,越来越多公司意识到大数据的重要性。2015年Gartner调查显示,超过75%的公司正在投资或计划在未来两年内投资大数据。而在2012年进行的类似调查中,仅有58%的公司在未来两年内计划投资大数据。

增强客户体验、降低成本、精准营销以及提高流程效率、数据安全是公司关注大数据的主要目的。本文将研究正在使用大数据的10个垂直行业及面临的挑战,以及大数据如何解决这些难题。

1 银行和证券

挑战:

通过对10家投行券商的16个项目的研究表明,该行业面临的挑战包括:证券欺诈预警、蜱虫分析、检测卡片欺诈、审计跟踪档案、企业信用风险报告、贸易可视性、客户数据转换、用于交易的社交分析、IT运营分析和IT策略合规性分析等。

应用:

证券交易委员会(SEC)正在使用大数据网络分析和自然语言处理器来捕捉金融市场中的非法交易活动。

商业银行,对冲基金和其他金融公司在高频交易的交易分析,交易前的决策支持分析,情绪测量,预测分析等方向使用大数据。

该行业还严重依赖大数据进行风险分析,这其中包括:反洗钱,企业风险管理,客户画像,以及减少欺诈行为等。

2 通讯,媒体和娱乐

挑战:

每个观众消费着不同形式的娱乐,以及不同的娱乐设备,因此通信,媒体和娱乐行业正面临以下大数据挑战:

1 收集,分析和利用消费者习惯

2 利用移动和社交媒体内容

3 实时追踪媒体内容使用形式

应用:

公司同时分析客户数据和行为数据,以创建详细的客户档案,可用于:

1 个性化定制内容

2 按需推荐内容

3 衡量内容结果

一个典型的例子是国外视频网站YouTube上的温网比赛,它利用大数据实时向电视、移动和网络用户提供网球比赛的详尽的情感分析。亚马逊Prime大量使用大数据,在一站式商店提供视频,音乐和Kindle书籍来提供卓越的客户体验。

1.4 大数据发展前景

大数据技术目前正处在落地应用的初期,从大数据自身发展和行业发展的趋势来看,大数据未来的前景还是不错的,具体原因有以下几点:

第一:大数据自身能够创造出更多的价值。大数据相关技术紧紧围绕数据价值化展开,数据价值化将开辟出广大的市场空间,重点在于数据本身将为整个信息化社会赋能。随着大数据的落地应用,大数据的价值将逐渐得到体现。目前在互联网领域,大数据技术已经得到了较为广泛的应用。

第二:大数据推动科技领域的发展。大数据的发展正在推动科技领域的发展进程,大数据的影响不仅仅体现在互联网领域,也体现在金融、教育、医疗等诸多领域。在人工智能研发领域,大数据也起到了重要的作用,尤其在机器学习、计算机视觉和自然语言处理等方面,大数据正在成为智能化社会的基础。

第三:大数据产业链逐渐形成。经过近些年的发展,大数据已经初步形成了一个较为完整的产业链,包括数据采集、整理、传输、存储、分析、呈现和应用,众多企业开始参与到大数据产业链中,并形成了一定的产业规模,相信随着大数据的不断发展,相关产业规模会进一步扩大。

第四:产业互联网将推动大数据落地。当前互联网正在经历从消费互联网向产业互联网过渡,产业互联网将利用大数据、物联网、人工智能等技术来赋能广大的传统产业,可以说产业互联网的发展空间非常大,而大数据则是产业互联网发展的一个重点,大数据能否落地到传统行业,关乎产业互联网的发展进程,所以在产业互联网阶段,大数据将逐渐落地,也必然落地。

通过以上分析可以得出,未来大数据领域的发展空间还是比较大的,而且目前大数据领域的人才缺口比较大,所以从就业的角度来说,当前学习大数据相关知识是个不错的选择。

1.5第三次信息化浪潮

根据IBM前首席执行官郭士纳的观点,IT领域每隔十五年就会迎来一次重大变革。

1.6大数据的影响

图灵奖获得者、著名数据库专家Jim Gray 博士观察并总结人类自古以来,在科学研究上,先后历经了实验、理论、计算和数据四种范式。

  • (1)在思维方式方面,大数据完全颠覆了传统的思维方式

    • 全样而非抽样
    • 效率而非精确
    • 相关而非因果
  • (2)在社会发展方面,大数据决策逐渐成为一种新的决策方式
    大数据应用有力促进了信息技术与各行业的深度融合,大数据开发大大推动了新技术和新应用的不断涌现。

  • (3)在就业市场方面,大数据的兴起使得数据科学家成为热门职业

  • (4)在人才培养方面,大数据的兴起,将在很大程度上改变中国高校信息技术相关专业的现有教学和科研体制

二、 Hadoop框架

2.1 Hadoop是什么?

Hadoop是一个由Apache基金会所开发的分布式系统基础架构,用户可以在不了解分布式底层细节的情况下,开发分布式程序。充分利用集群的威力进行高速运算和存储。

Hadoop实现了一个分布式文件系统(Hadoop Distributed File System),简称HDFS。HDFS具有高容错性的特点,并且设计用来部署在低廉的硬件上,而且它提供高吞吐量来访问应用程序的数据,适合那些有着超大数据集的应用程序

Hadoop的框架最核心的设计就是:HDFS和MapReduce。 HDFS为海量的数据提供了存储,而MapReduce则为海量的数据提供了计算

2.2 Hadoop发展历史

Hadoop系统最初的源头来自于Apache Lucene项目下的搜索引擎子项目Nutch,该项目的负责人是Doug Cutting。2003年,Google公司为了解决其搜索引擎中大规模Web网页数据的处理,研究发明了一套称为MapReduce的大规模数据并行处理技术,并于2004年在著名的OSDI国际会议上发表了一篇题为MapReduce的论文,简要介绍MapReduce的基本设计思想。论文发表后,Doug Cutting受到了很大启发,他发现Google MapReduce所解决的大规模搜索引擎数据处理问题,正是他同样面临并急需解决的问题。因而,他尝试依据Google MapReduce的设计思想,模仿Google MapReduce框架的设计思路,用Java设计实现出了一套新的MapReduce并行处理软件系统,并将其与Nutch分布式文件系统NDFS结合,用以支持Nutch搜索引擎的数据处理。

2006年,他们把NDFS和MapReduce从Nutch项目中分离出来,成为一套独立的大规模数据处理软件系统,并使用Doug Cutting小儿子当时呀呀学语称呼自己的玩具小象的名字“Hadoop”命名了这个系统。2008年他们把Hadoop贡献出来,成为Apache最大的一个开源项目,并逐步发展成熟,成为一个包含了HDFS、MapReduce、HBase、Hive、Zookeeper等一系列相关子项目的大数据处理平台和生态系统。

Hadoop开源项目自最初推出后,经历了数十个版本的演进。它从最初于2007年推出的Hadoop-0.14.X测试版,一直发展到2011年5月推出了经过4500台服务器产品级测试的最早的稳定版0.20.203.X。到2011年12月,Hadoop又在0.20.205版基础上发布了Hadoop1.0.0,该版本到2012年3月发展为Hadoop1.0.1稳定版。1.0版继续发展,到2013年8月发展为Hadoop1.2.1稳定版。

与此同时,由于Hadoop1.X以前版本在MapReduce基本构架的设计上存在作业主控节点(JobTracker)单点瓶颈、作业执行延迟过长、编程框架不灵活等较多的缺陷和不足,2011年10月,Hadoop推出了基于新一代构架的Hadoop0.23.0测试版,该版本系列最终演化为Hadoop2.0版本,即新一代的Hadoop系统YARN。2013年10月YARN已经发展出Hadoop2.2.0稳定版。

2.3 Hadoop的发行版本

Hadoop的发行版除了有Apache hadoop外cloudera,hortonworks,mapR,华为,DKhadoop等都提供了自己的商业版本。

商业发行版主要是提供了更为专业的技术支持,这对于大型企业更为重要,不同发行版都有自己的一些特点,本文就各发行版做简单对比介绍。

对比版选择:DKhadoop发行版、cloudera发行版、hortonworks发行版。

1、DKhadoop发行版:有效的集成了整个HADOOP生态系统的全部组件,并深度优化,重新编译为一个完整的更高性能的大数据通用计算平台,实现了各部件的有机协调。因此DKH相比开源的大数据平台,在计算性能上有了高达5倍(最大)的性能提升。DKhadoop将复杂的大数据集群配置简化至三种节点(主节点、管理节点、计算节点),极大的简化了集群的管理运维,增强了集群的高可用性、高可维护性、高稳定性。

2、Cloudera发行版:CDH是Cloudera的hadoop发行版,完全开源,比Apache hadoop在兼容性,安全性,稳定性上有增强。

3、Hortonworks发行版:Hortonworks 的主打产品是Hortonworks Data Platform (HDP),也同样是100%开源的产品,其版本特点:HDP包括稳定版本的Apache Hadoop的所有关键组件;安装方便,HDP包括一个现代化的,直观的用户界面的安装和配置工具。

2.4 Hadoop的优缺点

优点

高可靠性:因为 Hadoop 假设计算元素和存储会出现故障,因为它维护多个工作数据副本,在出现故障时可以对失败的节点重新分布处理

高扩展性:在集群间分配任务数据,可方便的扩展数以千计的节点。

高效性:在 MapReduce 的思想下,Hadoop 是并行工作的,以加快任务处理速度。

高容错性:自动保存多份副本数据,并且能够自动将失败的任务重新分配。

缺点

Hadoop不适用于低延迟数据访问。

Hadoop不能高效存储大量小文件。

Hadoop不支持多用户写入并任意修改文件

2.4 Hadoop架构组成

整个Hadoop的体系结构主要是通过HDFS来实现对分布式存储的底层支持,并通过MR来实现对分布式并行任务处理的程序支持。

HDFS采用主从(Master/Slave)结构模型,一个HDFS集群是由一个NameNode和若干个DataNode组成的(在最新的Hadoop2.2版本已经实现多个NameNode的配置-这也是一些大公司通过修改hadoop源代码实现的功能,在最新的版本中就已经实现了)。NameNode作为主服务器,管理文件系统命名空间和客户端对文件的访问操作。DataNode管理存储的数据。HDFS支持文件形式的数据。

从内部来看,文件被分成若干个数据块,这若干个数据块存放在一组DataNode上。NameNode执行文件系统的命名空间,如打开、关闭、重命名文件或目录等,也负责数据块到具体DataNode的映射。DataNode负责处理文件系统客户端的文件读写,并在NameNode的统一调度下进行数据库的创建、删除和复制工作。NameNode是所有HDFS元数据的管理者,用户数据永远不会经过NameNode。

2.4.1 HDFS架构组成


上图为:HDFS体系结构图

NameNode:存储文件的元数据,如文件名称,文件目录结构,文件属性(生成时间,副本数,文件权限),以及每个文件的块列表和块所在的DataNode等

DataNode:在本地文件系统存储文件块数据,以及数据块的校验和

Secondary NameNode:用来监控HDFS状态的辅助后台程序,每隔一段时间获取HDFS元数据的快照。

2.4.2 MapReduce架构原理

MapReduce是一种可用于数据处理的编程模型,其程序的本质是并行运行的,可以将大规模的数据分析任务分发给任何一个拥有足够多机器的数据中心

MapReduce任务过程分为两个处理阶段:Map阶段与reduce阶段

Map阶段并行处理输入数据

Reduce阶段对map结果进行汇总

2.4.3 YARN架构原理

Apache YARN 是Hdoop集群资源管理系统。YARN 被引入Hadoop2.x版本,最初是为了改善MapReduce实现,它具有足够的通用性,可以支持其它的分布式计算模型

YARN通过两类长期运行的守护进程提供自己的核心服务:

1)管理集群上资源使用的资源管理器 resource manager: 处理客户端请求、启动/监控 ApplicationMaster、监控 NodeManager、资源分配与调度;

2)运行在集群中所有节点上且能够启动和监控容器的节点管理器node manager:单个节点上的资源管理,处理来自resourceManager的命令、处理来自applicationMaster的命令

3)用于执行特定应用程序的容器container:对任务运行环境的抽象,封装了 CPU、内存等多维资源以及环境变量、启动命令等任务运行相关的信息。

4)applicationMaster :数据切分、为应用程序申请资源,并分配给内部任务、任务监控与容错。

2.5 大数据技术生态体系


上图中涉及到的技术名词解释如下:

1)Sqoop:sqoop 是一款开源的工具,主要用于在 Hadoop(Hive)与传统的数据库(mysql)间进
行数据的传递,可以将一个关系型数据库(例如 : MySQL ,Oracle 等)中的数据导进到
Hadoop 的 HDFS 中,也可以将 HDFS 的数据导进到关系型数据库中。

2)Flume:Flume 是 Cloudera 提供的一个高可用的,高可靠的,分布式的海量日志采集、聚
合和传输的系统,Flume 支持在日志系统中定制各类数据发送方,用于收集数据;同时,Flume
提供对数据进行简单处理,并写到各种数据接受方(可定制)的能力。

3)Kafka:Kafka 是一种高吞吐量的分布式发布订阅消息系统,有如下特性:

(1)通过 O(1)的磁盘数据结构提供消息的持久化,这种结构对于即使数以 TB 的消息 存储也能够保持长时间的稳定性能。
(2)高吞吐量:即使是非常普通的硬件 Kafka 也可以支持每秒数百万的消息 (3)支持通过 Kafka 服务器和消费机集群来分区消息。

(4)支持 Hadoop 并行数据加载。

4)Storm:Storm 为分布式实时计算提供了一组通用原语,可被用于“流处理”之中,实时

处理消息并更新数据库。这是管理队列及工作者集群的另一种方式。 Storm 也可被用于“连

续计算”(continuous computation),对数据流做连续查询,在计算时就将结果以流的形式

输出给用户。

5)Spark:Spark 是当前最流行的开源大数据内存计算框架。可以基于 Hadoop 上存储的大数据进行计算。

6)Oozie:Oozie 是一个管理 Hdoop 作业(job)的工作流程调度管理系统。Oozie 协调作业
就是通过时间(频率)和有效数据触发当前的 Oozie 工作流程。

7)Hbase:HBase 是一个分布式的、面向列的开源数据库。HBase 不同于一般的关系数据库,
它是一个适合于非结构化数据存储的数据库。

8)Hive:hive 是基于 Hadoop 的一个数据仓库工具,可以将结构化的数据文件映射为一张
数据库表,并提供简单的 sql 查询功能,可以将 sql 语句转换为 MapReduce 任务进行运行。
其优点是学习成本低,可以通过类 SQL 语句快速实现简单的 MapReduce 统计,不必开发专
门的 MapReduce 应用,十分适合数据仓库的统计分析。

9)Mahout:

Apache Mahout是个可扩展的机器学习和数据挖掘库,当前Mahout支持主要的4个用 例:
推荐挖掘:搜集用户动作并以此给用户推荐可能喜欢的事物。 聚集:收集文件并进行相关文件分组。 分类:从现有的分类文档中学习,寻找文档中的相似特征,并为无标签的文档进行正确 的归类。

频繁项集挖掘:将一组项分组,并识别哪些个别项会经常一起出现。

10)ZooKeeper:Zookeeper 是 Google 的 Chubby 一个开源的实现。它是一个针对大型分布
式系统的可靠协调系统,提供的功能包括:配置维护、名字服务、 分布式同步、组服务等。
ZooKeeper 的目标就是封装好复杂易出错的关键服务,将简单易用的接口和性能高效、功能稳定的系统提供给用户。

大数据学习01:大数据概述相关推荐

  1. 大数据学习1——大数据概述

    一.三次信息化浪潮的标志 第一次:PC 第二次:互联网 第三次:大数据.云计算.物联网 二.大数据关键技术 大数据特点:4V,数据量大(Volume).数据类型多(Variety).处理速度快(Vel ...

  2. (一)大数据学习引言——大数据概述

    一.大数据的概念 概念 大数据是指:无法在现有的常规软件工具对其内容进行抓取.管理和处理的数据集合. 特征 Volume:数据量足够大 Variety:数据的种类多样 Velocity:数据的增长速度 ...

  3. 大数据学习系列----大数据项目的思考

    2019独角兽企业重金招聘Python工程师标准>>> 最近做了一个大数据可视化的项目,目前阶段还仅仅对我们关心的指标做一些年度,季度,月度维度的汇总和展示,提供了简单的纵向横向的指 ...

  4. 大数据学习:大数据就业前景和就业方向

    对于想要学习数据分析的同学来说,最重要的应该就是学完之后的就业吧.那么,大数据的就业前景和就业方向是怎样的呢? 大数据的就业领域是很宽广的,不管是科技领域,还是食品产业,零售业等等,都是需要大数据人才 ...

  5. 大数据学习笔记—大数据概论

    大数据概论 一. 大数据的概念 二.大数据的特点(4V) 三. 大数据的应用场景 四.大数据的发展前景 五.大数据部门的业务流程/组织结构 一. 大数据的概念 大数据(big data),指无法在一定 ...

  6. 02云计算与大数据学习之大数据关键技术与应用

    文章目录 1.应知应会 2.大数据总体框架 架构设计原则 总体架构特点 3.大数据存储技术 4.大数据处理技术 大数据处理模式 大数据处理Storm平台 5.大数据分析技术 大数据分析特点 大数据分析 ...

  7. python数据挖掘学习01:数据归一化与标准化

    数据归一化与标准化均是数据特征无量纲化处理方式,而无量纲化是指通过一个合适的变量替代,将一个涉及物理量的方程的部分或全部的单位移除,以求简化实验或者计算的目的,是科学研究中一种重要的处理思想. 无量纲 ...

  8. 数据中台01:数据中台的发展:什么是中台、什么是数据中台

    一.什么是中台 中台是2019年开始火起来的一个概念,它最早是由阿里在2015年提出的"大中台,小前台"战略中延伸出来的概念,灵感来源于一家芬兰的小公司Supercell--一家仅 ...

  9. 大数据学习01——配置虚拟机节点相关网络

    1.配置mac地址和ip (1)更改适配器设置 找到这个后开始设置windows中的网络连接 (2)接着对三台虚拟机的mac地址和ip进行设置 1.mac地址设置 进入linux节点中的这个位置进行设 ...

最新文章

  1. 炎热夏天到底如何让自己更凉快? - 生活至上,美容至尚!
  2. dsPIC30F 细节点问题不定期更新ing
  3. C++学习笔记章节中 面向对象详解
  4. 原根(扩展欧几里得+欧拉函数)
  5. JS隐形数据类型转换注意事项
  6. vue store的值刷新就被覆盖解决方案
  7. 数字电路逻辑设计 总结
  8. window计算机桌面的组成,Windows 10桌面的组成,Win10桌面介绍
  9. 基于html的项目的选题报告,团队项目-选题报告
  10. 【Python】【Jupyter】Jupyter 的简单使用 与 Python的基本输出输入
  11. 2017146期计算机开机号,[彩吧]福彩3D17147期开机号103
  12. Win10 锁屏之后无法唤起 出现假死解决办法
  13. 游戏自定义金币单位换算管理类
  14. 新闻聚合显示-自定义多个新闻网站
  15. 简单好用的在线ppt转pdf转换器
  16. 5G时代下的物联网发展前景,物联网人才的发展机遇有哪些?
  17. 隐藏resent记录,隐藏菜单栏记录
  18. 用程序解密爱因斯坦经典难题
  19. 解决Log4j日志文件输出到了前一天的备份文件里
  20. Modbus 通信协议详解

热门文章

  1. 爬取通过ajax动态加载的页面(实时监控华尔街见闻资讯与快讯)
  2. 关于实现QQ来消息时的黄色效果,即闪烁窗体
  3. 增长黑客AB-Testing系统设计
  4. 十三五智慧医疗与健康服务业发展趋势
  5. STC89C52RC - 2 - 开发环境搭建
  6. PTA 7-23 求序列立方和
  7. [ZJCTF 2019]NiZhuanSiWei
  8. mysql 重量 什么类型_航空货物运输中的计费重量,指货物毛重与体积重量中的高者。...
  9. 《国庆中秋除了发月饼,企业更应该做什么?》
  10. error: C2039: “staticMetaObject”: 不是“QGraphicsItem”的成员