深入浅出大数据: 初识Hadoop,到底什么是Hadoop?

深入浅出大数据: 初识Hadoop,到底什么是Hadoop?

高速发展的信息时代,新一轮科技革命和变革正在加速推进,技术创新日益成为重塑经济发展模式和促进经济增长的重要驱动力量,而“大数据”无疑是核心推动力。

那么,什么是“大数据”呢?如果从字面意思来看,大数据指的是巨量数据。那么可能有人会问,多大量级的数据才叫大数据?不同的机构或学者有不同的理解,难以有一个非常定量的定义,只能说,大数据的计量单位已经越过TB级别发展到PB、EB、ZB、YB甚至BB级别。

最早提出“大数据”这一概念的是全球知名咨询公司麦肯锡,它是这样定义大数据的:一种规模大到在获取、存储、管理、分析方面大大超出了传统数据库软件工具能力范围的数据集合,具有海量的数据规模、快速的数据流转、多样的数据类型以及价值密度低四大特征。研究机构Gartner是这样定义大数据的:“大数据”是需要新处理模式才能具有更强的决策力、洞察发现力和流转优化能力来适应海量、高增长率和多样化的信息资产。

                 1.那么Hadoop到底是什么呢?

  • Hadoop是一个开源的框架,可编写和运行分布式应用处理大规模数据,是专为离线和大规模数据分析而设计的,并不适合那种对几个记录随机读写的在线事务处理模式。Hadoop=HDFS(文件系统,数据存储技术相关)+ Mapreduce(数据处理),Hadoop的数据来源可以是任何形式,在处理半结构化和非结构化数据上与关系型数据库相比有更好的性能,具有更灵活的处理能力,不管任何数据形式最终会转化为key/value,key/value是基本数据单元。用函数式变成Mapreduce代替SQL,SQL是查询语句,而Mapreduce则是使用脚本和代码,而对于适用于关系型数据库,习惯SQL的Hadoop有开源工具hive代替。
  • 简单来说,Hadoop就是一个分布式计算的解决方案。

                 2. Hadoop可以用来做什么呢?

  • 近年来,大数据不断向世界的各行各业渗透,影响着我们的衣食住行,在各个方面都起到了举足轻重的作用。例如:网上购物时,经常会发现电子商务门户网站向我们推荐商品,往往这些商品都是我们最近需要的。这是因为用户上网行为轨迹的相关数据都会被搜集记录,并通过大数据分析,使用推荐系统将用户可能需要的物品进行推荐,从而达到精准营销的目的。
  • hadoop擅长日志分析,facebook就用Hive来进行日志分析,2009年时facebook就有非编程人员的30%的人使用HiveQL进行数据分析;淘宝搜索中的自定义筛选也使用的Hive;利用Pig还可以做高级的数据处理,包括Twitter、LinkedIn上用于发现您可能认识的人,可以实现类似Amazon.com的协同过滤的推荐效果。淘宝的商品推荐也是!在Yahoo!的40%的Hadoop作业是用pig运行的,包括垃圾邮件的识别和过滤,还有用户特征建模。(2012年8月25新更新,天猫的推荐系统是hive,少量尝试mahout!)

 3.Hadoop的生态系统

  1. 分布式存储系统(HDFS)
    HDFS是Had oop分布式文件系统的简称它是Had oop生态系统中的核心项目之一,是分布式计算中数据存储管理基础。HDFS具有高容错性的数据备份机制,它能检测和应对硬件故障, 并在低成本的通用硬件上运行。另外, HDFS具备流式的数据访问特点, 提供高吞吐量应用程序数据访问功能,适合带有大型数据集的应用程序。
  2. MapReduce分布式计算框架
    MapReduce是一种计算模型, 用于大规模数据集(大于1TB) 的并行运算。“Map”对数据集上的独立元素进行指定的操作, 生成键值对形式中间结果; “Reduce”则对中间结果中相同“键”的所有“值”进行规约, 以得到最终结果。MapReduce这种“分而治之”的思想, 极大地方便了编程人员在不会分布式并行编程的情况下,将自己的程序运行在分布式系统上。
  3. YARN资源管理平台
    YARN(Yet Another Resource Negotiator) 是Hadoop 2.0中的资源管理器, 它可为上层应用提供统一的资源管理和调度,它的引人为集群在利用率、资源统一管理和数据共享等方面带来了巨大好处。
  4. Sqoop数据迁移工具
    Sqoop是一款开源的数据导入导出工具, 主要用于在Hadoop与传统的数据库间进行数据的转换, 它可以将一个关系数据库(例如, MySQL、Oracle等) 中的数据导人到Hadoop的HDFS中, 也可以将HDFS的数据导出到关系数据库中, 使数据迁移变得非常方便。
  5. Mahout数据挖掘算法库
    Mahout是Apache旗下的一个开源项目, 它提供了一些可扩展的机器学习领域经典算法的实现, 旨在帮助开发人员更加方便快捷地创建智能应用程序。Mahout包含许多实现,包括聚类、分类、推荐过滤、频繁子项挖掘。此外, 通过使用Apache Hadoop库, Mahout可以有效的扩展到云中。
  6. HBase分布式数据库
    HBase是Google Big table克隆版, 它是一个针对结构化数据的可伸缩、高可靠、高性能、分布式和面向列的动态模式数据库。和传统关系数据库不同, HBase采用了Big Table的数据模型:增强的稀疏排序映射表(Key/Value) , 其中, 键由行关键字、列关键字和时间戳构成。HBase提供了对大规模数据的随机、实时读写访问, 同时, HBase中保存的数据可以使用MapReduce来处理, 它将数据存储和并行计算完美地结合在一起。
  7. Zookeeper分布式协调服务
    Zookeeper是一个分布式的, 开放源码的分布式应用程序协调服务, 是Google的Chubby一个开源的实现, 是Had oop和H Base的重要组件。它是一个为分布式应用提供一致性服务的软件,提供的功能包括配置维护、域名服务、分布式同步、组服务等用于构建分布式应用,减少分布式应用程序所承担的协调任务。
  8. Hive基于Hadoop的数据仓库
    Hive是基于Hadoop的一个分布式数据仓库工具, 可以将结构化的数据文件映射为一张数据库表, 将SQL语句转换为MapReduce任务进行运行。其优点是操作简单, 降低学习成本, 可以通过类SQL语句快速实现简单的MapReduce统计, 不必开发专门的MapReduce应用,十分适合数据仓库的统计分析。
  9. Flume日志收集工具
    Flume是Cloud era提供的一个高可用的, 高可靠的, 分布式的海量日志采集、聚合和传输的系统, Flume支持在日志系统中定制各类数据发送方, 用于收集数据; 同时, Flume提供对数据进行简单处理,并写到各种数据接受方(可定制)的能力。

Hadoop2.0生态图

HDFS架构

以上便是Hadoop的主要组成部分,之后会再做详解。

如果有什么问题可以联系我,或者在文章评论区留下你的问题或联系方式,一起交流解决! 谢谢观看此文章^_^

欢迎登录https://www.jilespace.net/极乐的博客查看更多内容!

人已赞赏
Hadoop开发

MapReduce经典案例——倒排索引(2)

2020-7-18 23:02:20

Hadoop开发

深入浅出大数据:Hadoop的前世今生

2020-7-6 14:14:34

0 条回复 A文章作者 M管理员
    暂无讨论,说说你的看法吧
个人中心
购物车
优惠劵
今日签到
有新私信 私信列表
搜索