大数据入门了解

一、大数据概念

1、数据(data)是事实或观察的结果,是对客观事物的逻辑归纳,是用于表示客观事物的未经加工的原始素材。
数据分类:
(1)结构化数据:二维表;
(2)半结构化数据:html,xml,js,css,property;
(3)非结构化数据:视频,音频,图片。
2、大数据指的是传统数据处理应用软件不足以处理(存储和计算)它们的大而复杂的数据集。
特点:
(1)数据容量大(Volume):
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
(2)数据种类多(Variety):数据类型的多样性,包括文本,图片,视频,音频。
结构化数据:可以用二维数据库表来抽象,抽取数据规律。
半结构化数据:介于结构化和非结构化之间,主要指 XML,HTML 等,也可称非结构化。
非结构化数据:不可用二维表抽象,比如图片,图像,音频,视频等。
(3)数据产生速度快(Velocity):指获得数据的速度以及处理数据的速度。
数据的产生呈指数式爆炸式增长。
处理数据要求的延时越来越低。
(4)数据价值密度低(Value):合理运用大数据,以低成本创造高价值。
综合价值大,隐含价值大。
单条数据记录无价值,无用数据多。
(5)数据真实性:真实采集的数据。
3、数据来源:
(1)业务数据:登录,注册等信息;
(2)爬虫数据;
(3)第三方数据:第三方平台购买;
4、大数据中的几个核心概念:
(1)集群:
a、一个任务被分配到多个主机上执行;
b、多个主机组成的一个群体;
c、集群中的每一个主机也叫做节点。
(2)分布式(分而治之):
a、分布式存储:一个大存储任务需要多个节点共同存储;每个节点负责部分存储任务;
b、分布式计算:一个大的计算任务,需要多个节点共同配合完成。
(3)负载均衡:
a、从数据存储上:分布式存储中,每个节点存储的数据量“占比相当”。
b、和硬件相关。
c、不存在绝对的负载均衡的。
5、集群的扩展能力:
(1)纵向扩展:在一个服务器节点上增加性能(增加内存或添加磁盘),但服务器的性能承载有上线的(摩尔定律);
(2)横向扩展:增加服务器节点数量,理论上是没有上线的。

6、总结:
(1)数据量大,处理难度大,但是蕴含价值也大。
(2)数据种类多样,更加个性化,针对不同数据源进行多样化的方式处理,结果更精确。
(3)要求对数据进行及时处理,追求更极致更完善的用户体验。
(4)数据成为新的资源,掌握数据就掌握了巨大的财富。

二、大数据价值

(1)大数据杀熟:指同样的商品或服务,老客户看到的价格反而比新客户要贵出许多的现象。
(2)用户画像:用于商业,完美地抽象出一个用户的信息全貌,为进一步精准、快速地分析用户行为习惯、消费习惯等重要信息,提供了足够的数据基础,奠定了大数据时代的基石。
大数据入门了解
(3)数据分析预测:指导生产。
(4)可用来政治经济国庆调控、察觉商业趋势、判定研究质量、避免疾病扩散、打击犯罪或测定即时交通路况等,这样的用途正是大型数据集盛行的原因。

三、Hadoop介绍

1、Hadoop 最早起源于 Nutch(发起人:Doug Cutting)。Nutch 的设计目标是构建一个大型的全网搜索引擎,包括网页抓取、索引、查询等功能,但随着抓取网页数量的增加,遇到了严重的可扩展性问题——如何解决数十亿网页的存储和索引问题。
2、2003 年、2004 年谷歌发表的两篇论文为该问题提供了可行的解决方案:
(1)分布式文件系统 GFS,可用于处理海量网页的存储。
(2)分布式计算框架 MapReduce,可用于处理海量网页的索引计算问题
(3)分布式数据库 BigTabl,每一张表可以存储上 billions 行和 millions 列 ,快速查询。
3、Nutch 的开发人员完成了相应的开源实现HDFS 和 MapReduce,并从 Nutch 中剥离成为独立项目 Hadoop,到 2008 年 1 月,Hadoop 成为 Apache *项目,迎来了它的快速发展期。
4、什么是Hadoop:
(1)Hadoop 是 Apache 旗下的一套开源软件平台。
(2)Hadoop 提供的功能:利用服务器集群,根据用户的自定义业务逻辑,对海量数据进行分布式处理。
(3)Hadoop 的核心组件有:
A.Common(基础功能组件)(工具包,RPC 框架)JNDI 和 RPC。
B.HDFS(Hadoop Distributed FileSystem Hadoop分布式文件系统)。
C.YARN(Yet Another Resources Negotiator 运算资源调度系统)。
D.MapReduce(Map 和 Reduce 分布式运算编程框架)。
5、广义上来说,Hadoop 通常是指一个更广泛的概念–Hadoop 生态圈。
6、官网介绍:http://hadoop.apache.org/ 。
7、Hadoop版本演变:
a、hadoop1.x:HDFS + MapReduce;
b、hadoop2.x:HDFS + MapReduce + Yarn。

四、Hadoop角色分工

1、hadoop2.x 五大进程角色:
(1)HDFS分布式存储系统:
a、Namenode:整个存储集群的管理者,主节点,负责管理datanode的数据存储,客户端的读写请求,不负责数据的真正存储。
b、Datanode:数据节点,负责存储数据的节点,从节点,干活的。
c、SecondaryNamenode:namenode的备份节点,namenode的助理,协助管理,可以帮助namenode恢复数据。
(2)MapReduce:计算框架,代码开发,运行中才有进程。
(3)Yarn:资源调度,为每一个计算任务分配资源。
a、resourcemanager:资源管理者,主节点;
b、nodemanager:资源管理的从节点,真正的资源提供者。

五、Hadoop安装模式

1、单机模式:不存在分布式文件系统的,使用的是本地文件系统和计算,不存在Hadoop五大进程角色。直接在本地解压,协助本地代码开发,一个节点。
2、伪分布式模式:假的分布式系统,存在分布式文件系统(HDFS,mapreduce,yarn),生产上不用,自己学习使用,Hadoop五大进程角色都在一个节点上。
3、完全分布式模式:多个节点上,不同节点不同分工。一个namenode,多个datanode,一主多从,生产测试集群与自主学习可用。
4、高可用模式:完全分布式存在一个主节点的单节点故障,真正生产上可用,namenode存在多个,一个为active工作状态,其它为热备份状态standby。当active宕机的时候,standby可以无缝衔接,切换为active状态。
5、联邦模式:应对超大集群的(1000+服务器)。当集群中规模很大时候,一个active状态的namenode压力太大,集群中同时开启多个active的namenode,每一个namenode负责管理datanode中的一部分数据,但是每一个namenode节点都要管理所有的datanode节点。