概述
文章目录
- 1. 大数据概论
- 1.1 大数据概念
- 1.2 大数据特点 (4V)
- 1.3 大数据应用场景
- 1.4 大数据部门业务流程分析
- 1.5 大数据部门组织结构
- 2. 从Hadoop框架讨论大数据生态
- 2.1 Hadoop 是什么
- 2.2 Hadoop 发展历史
- 2.3 Hadoop 三大发行版本
- 2.4 Hadoop的优势(4高)
- 3. Hadoop 组成(面试重点)
- 3.1 HDFS 架构概述
- 3.2 YARN 架构概述
- 3.3 MapReduce 架构概述
- 4. 大数据技术生态体系
- 5. 推荐系统框架图
1. 大数据概论
1.1 大数据概念
大数据 (Big Data):指无法在一定时间范围内用常规软件工具进行捕捉、管理和处理的数据集合,是需要新处理模式才能具有更强的决策力、洞察发现力和流程优化能力的海量、高增长率和多样化的信息资产。
大数据主要解决:海量数据的存储和海量数据的分析计算问题。
1.2 大数据特点 (4V)
-
Volume (大量)
截止目前,人类产生的所有印刷彩礼的数据量是200PB,而历史上全人类总共说过的话的数据量大约是5EB。当前、典型个人计算机硬盘的容量为TB量级,而一些大企业的数据量已经接近EB量级。
-
Velocity (高速)
这是大数据区分于传统数据挖掘的最显著的特征。根据 IDC 的 “数字宇宙” 的报告,预计到 2020 年,全球数据使用量将达到 35.2 ZB。在如此海量的数据面前,处理数据的效率就是企业的生命。
-
Variety (多样)
这种类型的多样性也让数据被分为结构化数据和非结构化数据。相对于以往便于存储的以数据库/文本为主的结构化数据,非结构化数据越来越多,包括网络日志、音频、视频、图片、地理位置信息等,这些多类型的数据对数据的处理能力提出了更高德要求。
-
Value (低价值密度)
价值密度的高低与数据总览的大小成反比。如何快速对有价值数据 “提纯” 成为目前大数据背景下待解决的难题。
1.3 大数据应用场景
-
物流仓储:大数据分析系统助力商家精细化运营、提升销售量、节约成本。
-
零售:分析用户消费习惯,为用户购买商品提供方便,从而提升商品销量。
-
旅游:深度结合大数据能力与旅游行业需求,共建旅游产业智慧管理、智慧服务和智慧营销的未来。
-
商品广告推荐:给用户推荐可能喜欢的商品
-
保险:海量数据挖掘及风险预测,助力保险行业精准营销,提升精细化定价能力。
-
金融:多维度体现用户特征,帮助金融机构推荐优质客户、防范欺诈风险。
-
房产:大数据全面助力房产行业,打造精准投策与营销,选出更合适的地,建造更合适的楼,卖给更合适的人。
-
人工智能
1.4 大数据部门业务流程分析
1.5 大数据部门组织结构
2. 从Hadoop框架讨论大数据生态
2.1 Hadoop 是什么
-
Hadoop 是一个由 Apache 基金会所开发的分布式系统基础架构。
-
主要解决海量数据的存储和海量数据的分析计算问题。
-
广义上来说,Hadoop 通常是指一个更广泛的概念—— Hadoop 生态圈。
2.2 Hadoop 发展历史
-
Lucene 框架是 Doug Cutting 开创的开源软件,用 Java 书写代码,实现与 Google 类似的全文搜索功能,它提供了全文搜索引擎的架构,包括完整的查询引擎和索引引擎。
-
2001 年底 Lucene 成为 Apache 基金会的一个子项目。
-
对应海量数据的场景,Lucene 面对与 Google 同样的困难,存储数据困难,检索数据慢。
-
学习和模仿 Goolgle 解决这些问题的办法:微型版 Nutch。
-
可以说 Google 是 Hadoop的思想之源 (Google 在大数据方面的三篇论文)
-
2003-2004 年,Google 公开了部分 GFS 和 MapReduce 思想的细节,以此为基础 Doug Cutting 等人用了2年业余时间实现了 DFS 和 MapReduce 机制,使 Nutch 性能飙升。
-
2005 年 Hadoop 作为 Lucene 的子项目 Nutch 的一部分正式引入 Apache 基金会。
-
2006 年 3 月份, Map-Reduce 和 Nutch Distrbuted File System (NDFS) 分别被纳入到 Hadoop 项目中,Hadoop 就此正式诞生,标志着大数据时代来临。
-
名字来源于 Doung Cutting 儿子的玩具 大象,如图:
2.3 Hadoop 三大发行版本
Hadoop三大发行版本:Apache、Cloudera、Hortonworks。
-
Apache 版本最原始(最基础)的版本,对于入门学习最好。
-
Cloudera 在大型互联网企业中用的较多。
-
Hortonworks 文档较好。
- Apache Hadoop
官网地址:http://hadoop.apache.org/releases.html
下载地址:https://archive.apache.org/dist/hadoop/common/
-
Cloudera Hadoop
官网地址:https://www.cloudera.com/downloads/cdh/5-10-0.html
下载地址:http://archive-primary.cloudera.com/cdh5/cdh/5/
(1)2008年成立的Cloudera是最早将Hadoop商用的公司,为合作伙伴提供Hadoop的商用解决方案,主要是包括支持、咨询服务、培训。
(2)2009年Hadoop的创始人 Doug Cutting 也加盟 Cloudera公司。Cloudera产品主要为CDH,Cloudera Manager,Cloudera Support
(3)CDH是Cloudera的Hadoop发行版,完全开源,比Apache Hadoop在兼容性,安全性,稳定性上有所增强。
(4)Cloudera Manager是集群的软件分发及管理监控平台,可以在几个小时内部署好一个Hadoop集群,并对集群的节点及服务进行实时监控。Cloudera Support即是对Hadoop的技术支持。
(5)Cloudera的标价为每年每个节点4000美元。Cloudera开发并贡献了可实时处理大数据的Impala项目。
-
Hortonworks Hadoop
官网地址:https://hortonworks.com/products/data-center/hdp/
下载地址:https://hortonworks.com/downloads/#data-platform
(1)2011年成立的Hortonworks是雅虎与硅谷风投公司Benchmark Capital合资组建。
(2)公司成立之初就吸纳了大约 25 名至 30 名专门研究 Hadoop 的雅虎工程师,上述工程师均在 2005 年开始协助雅虎开发 Hadoop,贡献了 Hadoop80% 的代码。
(3)雅虎工程副总裁、雅虎Hadoop开发团队负责人Eric Baldeschwieler出任Hortonworks的首席执行官。
(4)Hortonworks的主打产品是Hortonworks Data Platform(HDP),也同样是100%开源的产品,HDP除常见的项目外还包括了Ambari,一款开源的安装和管理系统。
(5)HCatalog,一个元数据管理系统,HCatalog现已集成到Facebook开源的Hive中。Hortonworks的Stinger开创性的极大的优化了Hive项目。Hortonworks为入门提供了一个非常好的,易于使用的沙盒。
(6)Hortonworks开发了很多增强特性并提交至核心主干,这使得Apache Hadoop能够在包括Window Server和Windows Azure在内的Microsoft Windows平台上本地运行。定价以集群为基础,每10个节点每年为12500美元。
2.4 Hadoop的优势(4高)
Hadoop1.x 和 Hadoop2.x 区别
在 Hadoop1.x 时代,Hadoop 中的 MapReduce 同时处理业务逻辑运算和资源的调度,耦合性较大,在 Hadoop2.x 时代,增加了 Yarn。Yarn 只负责资源的调度, MapReduce 只负责运算。
3. Hadoop 组成(面试重点)
3.1 HDFS 架构概述
-
NameNode (nm):存储文件的元数据,如:文件名、文件目录、文件属性(生成时间、副本数、文件权限),以及每个文件的块列表和块输在的 DataNode 位置等。
-
DataNode (dn):在本地文件系统存储文件块的数据,以及块数据的校验。
- Secondary NameNode (2nn):用来监控 HDFS 状态的辅助后台程序,每隔一段时间获取 HDFS 元数据的快照。
3.2 YARN 架构概述
3.3 MapReduce 架构概述
MapReduce 将计算过程分为两个阶段:Map 和 Reduce。
- Map 阶段并行处理输入数据。
- Reduce 阶段对 Map 结果进行汇总。
4. 大数据技术生态体系
图中涉及的技术名词解释如下:
-
Sqoop:Sqoop是一款开源的工具,主要用于在Hadoop、Hive与传统的数据库(MySql)间进行数据的传递,可以将一个关系型数据库(例如 :MySQL,Oracle 等)中的数据导进到Hadoop的HDFS中,也可以将HDFS的数据导进到关系型数据库中。
-
Flume:Flume是 Cloudera 提供的一个高可用的,高可靠的,分布式的海量日志采集、聚合和传输的系统,Flume支持在日志系统中定制各类数据发送方,用于收集数据;同时,Flume提供对数据进行简单处理,并写到各种数据接受方(可定制)的能力。
-
Kafka:Kafka是一种高吞吐量的分布式发布订阅消息系统,有如下特性:
(1)通过O(1)的磁盘数据结构提供消息的持久化,这种结构对于即使数以TB的消息存储也能够保持长时间的稳定性能。
(2)高吞吐量:即使是非常普通的硬件Kafka也可以支持每秒数百万的消息。
(3)支持通过Kafka服务器和消费机集群来分区消息。
(4)支持Hadoop并行数据加载。
-
Storm:Storm用于“连续计算”,对数据流做连续查询,在计算时就将结果以流的形式输出给用户。
-
Spark:Spark是当前最流行的开源大数据内存计算框架。可以基于Hadoop上存储的大数据进行计算。
-
Oozie:Oozie是一个管理Hdoop作业(job)的工作流程调度管理系统。
-
Hbase:HBase是一个分布式的、面向列的开源数据库。HBase不同于一般的关系数据库,它是一个适合于非结构化数据存储的数据库。
-
Hive:Hive是基于Hadoop的一个数据仓库工具,可以将结构化的数据文件映射为一张数据库表,并提供简单的SQL查询功能,可以将SQL语句转换为MapReduce任务进行运行。 其优点是学习成本低,可以通过类SQL语句快速实现简单的MapReduce统计,不必开发专门的MapReduce应用,十分适合数据仓库的统计分析。
-
R语言:R是用于统计分析、绘图的语言和操作环境。R是属于GNU系统的一个自由、免费、源代码开放的软件,它是一个用于统计计算和统计制图的优秀工具。
-
Mahout:Apache Mahout是个可扩展的机器学习和数据挖掘库。
-
ZooKeeper:Zookeeper是Google的Chubby一个开源的实现。它是一个针对大型分布式系统的可靠协调系统,提供的功能包括:配置维护、名字服务、 分布式同步、组服务等。ZooKeeper的目标就是封装好复杂易出错的关键服务,将简单易用的接口和性能高效、功能稳定的系统提供给用户。
5. 推荐系统框架图
最后
以上就是年轻大碗为你收集整理的Hadoop 从 0 到 1 学习 ——第一章 Hadoop 介绍的全部内容,希望文章能够帮你解决Hadoop 从 0 到 1 学习 ——第一章 Hadoop 介绍所遇到的程序开发问题。
如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。
发表评论 取消回复