我是靠谱客的博主 年轻大碗,最近开发中收集的这篇文章主要介绍Hadoop 从 0 到 1 学习 ——第一章 Hadoop 介绍,觉得挺不错的,现在分享给大家,希望可以做个参考。

概述

文章目录

    • 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)

  1. Volume (大量)

    截止目前,人类产生的所有印刷彩礼的数据量是200PB,而历史上全人类总共说过的话的数据量大约是5EB。当前、典型个人计算机硬盘的容量为TB量级,而一些大企业的数据量已经接近EB量级。

  2. Velocity (高速)

    这是大数据区分于传统数据挖掘的最显著的特征。根据 IDC 的 “数字宇宙” 的报告,预计到 2020 年,全球数据使用量将达到 35.2 ZB。在如此海量的数据面前,处理数据的效率就是企业的生命。

  3. Variety (多样)

    这种类型的多样性也让数据被分为结构化数据和非结构化数据。相对于以往便于存储的以数据库/文本为主的结构化数据非结构化数据越来越多,包括网络日志、音频、视频、图片、地理位置信息等,这些多类型的数据对数据的处理能力提出了更高德要求。

  4. Value (低价值密度)

    价值密度的高低与数据总览的大小成反比。如何快速对有价值数据 “提纯” 成为目前大数据背景下待解决的难题。

1.3 大数据应用场景

  1. 物流仓储:大数据分析系统助力商家精细化运营、提升销售量、节约成本。

    在这里插入图片描述

  2. 零售:分析用户消费习惯,为用户购买商品提供方便,从而提升商品销量。
    在这里插入图片描述

  3. 旅游:深度结合大数据能力与旅游行业需求,共建旅游产业智慧管理、智慧服务和智慧营销的未来。
    在这里插入图片描述

  4. 商品广告推荐:给用户推荐可能喜欢的商品
    在这里插入图片描述

  5. 保险:海量数据挖掘及风险预测,助力保险行业精准营销,提升精细化定价能力。

  6. 金融:多维度体现用户特征,帮助金融机构推荐优质客户、防范欺诈风险。

  7. 房产:大数据全面助力房产行业,打造精准投策与营销,选出更合适的地,建造更合适的楼,卖给更合适的人。

  8. 人工智能
    在这里插入图片描述

1.4 大数据部门业务流程分析

在这里插入图片描述

1.5 大数据部门组织结构

在这里插入图片描述

2. 从Hadoop框架讨论大数据生态

2.1 Hadoop 是什么

  1. Hadoop 是一个由 Apache 基金会所开发的分布式系统基础架构。

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

  3. 广义上来说,Hadoop 通常是指一个更广泛的概念—— Hadoop 生态圈。
    在这里插入图片描述

2.2 Hadoop 发展历史

  1. Lucene 框架是 Doug Cutting 开创的开源软件,用 Java 书写代码,实现与 Google 类似的全文搜索功能,它提供了全文搜索引擎的架构,包括完整的查询引擎和索引引擎。

    在这里插入图片描述

  2. 2001 年底 Lucene 成为 Apache 基金会的一个子项目。

  3. 对应海量数据的场景,Lucene 面对与 Google 同样的困难,存储数据困难,检索数据慢

  4. 学习和模仿 Goolgle 解决这些问题的办法:微型版 Nutch。

  5. 可以说 Google 是 Hadoop的思想之源 (Google 在大数据方面的三篇论文)

    在这里插入图片描述

  6. 2003-2004 年,Google 公开了部分 GFS 和 MapReduce 思想的细节,以此为基础 Doug Cutting 等人用了2年业余时间实现了 DFS 和 MapReduce 机制,使 Nutch 性能飙升。

  7. 2005 年 Hadoop 作为 Lucene 的子项目 Nutch 的一部分正式引入 Apache 基金会。

  8. 2006 年 3 月份, Map-Reduce 和 Nutch Distrbuted File System (NDFS) 分别被纳入到 Hadoop 项目中,Hadoop 就此正式诞生,标志着大数据时代来临。

  9. 名字来源于 Doung Cutting 儿子的玩具 大象,如图:

    在这里插入图片描述

2.3 Hadoop 三大发行版本

Hadoop三大发行版本:Apache、Cloudera、Hortonworks。

  • Apache 版本最原始(最基础)的版本,对于入门学习最好。

  • Cloudera 在大型互联网企业中用的较多。

  • Hortonworks 文档较好。

  1. Apache Hadoop

官网地址:http://hadoop.apache.org/releases.html

下载地址:https://archive.apache.org/dist/hadoop/common/

  1. 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项目。

  2. 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 架构概述

  1. NameNode (nm):存储文件的元数据,如:文件名、文件目录、文件属性(生成时间、副本数、文件权限),以及每个文件的块列表和块输在的 DataNode 位置等。

    在这里插入图片描述

  2. DataNode (dn):在本地文件系统存储文件块的数据,以及块数据的校验。

在这里插入图片描述

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

3.2 YARN 架构概述

在这里插入图片描述

3.3 MapReduce 架构概述

MapReduce 将计算过程分为两个阶段:Map 和 Reduce。

  1. Map 阶段并行处理输入数据。
  2. Reduce 阶段对 Map 结果进行汇总。

4. 大数据技术生态体系

在这里插入图片描述

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

  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用于“连续计算”,对数据流做连续查询,在计算时就将结果以流的形式输出给用户。

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

  6. Oozie:Oozie是一个管理Hdoop作业(job)的工作流程调度管理系统。

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

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

  9. R语言:R是用于统计分析、绘图的语言和操作环境。R是属于GNU系统的一个自由、免费、源代码开放的软件,它是一个用于统计计算和统计制图的优秀工具。

  10. Mahout:Apache Mahout是个可扩展的机器学习和数据挖掘库。

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

5. 推荐系统框架图

在这里插入图片描述

最后

以上就是年轻大碗为你收集整理的Hadoop 从 0 到 1 学习 ——第一章 Hadoop 介绍的全部内容,希望文章能够帮你解决Hadoop 从 0 到 1 学习 ——第一章 Hadoop 介绍所遇到的程序开发问题。

如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。

本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
点赞(48)

评论列表共有 0 条评论

立即
投稿
返回
顶部