第一章、Hadoop应用简单介绍

一、大数据概念

在这里插入图片描述

二、大数据的特点

  1. 大量(Volume):顾名思义数据量非常大,达到TB级甚至EB级;
  2. 高速(Velocity):在处理数据上的速度比较快,分布式的运算;
  3. 多样性(Variety):在处理数据上可以处理结构化,非结构化的数据以及包括日志、音频、视频、地理位置等多类型的数据,比以往处理数据以文本和结构化的数据提出了更高的要求;
  4. 价值密度(Value):通过大数据我们可以分析数据,得到我们想要的价值数据,进行定向的处理问题。

三、大数据的机构组织

在这里插入图片描述

四、Hadoop大数据生态

1、Hadoop是什么
  1. Hadoop是一个由Apache基金会所开发的分布式系统基础架构。
  2. 用户可以在不了解分布式底层细节的情况下开发分布式程序。充分利用集群资源进行高速运算和存储。
  3. 主要解决的问题是海量数据的存储以及海量数据的分析计算。
  4. 具有可靠、高效、可伸缩的特点。
  5. Hadoop的核心是YARN,HDFS和Mapreduce
2、Hadoop的生态有哪些?

Hadoop生态圈示意图:
在这里插入图片描述

  1. 上图是集成了Spark生态圈,目前Hadoop与Spark实现了共存,Spark主要用于计算,而Hadoop主要用于存储。

  2. 都能部署在yarn、mesos的资源管理系统之上。

  3. HDFS(Hadoop分布式文件系统)

  • HDFS是Hadoop体系中数据存储管理的基础。它是一个高度容错的系统,能检测和应对硬件故障,用于在低成本的通用硬件上运行。
  • HDFS简化了文件的一致性模型,通过流式数据访问,提供高吞吐量应用程序数据访问功能,适合带有大型数据集的应用程序。
  • 它提供了一次写入多次读取的机制,数据以块的形式,同时分布在集群不同物理机器上。
  1. Mapreduce(分布式计算框架)
  • MapReduce是一种分布式计算模型,用于进行大数据量的计算。它屏蔽了分布式计算框架细节,将计算抽象成map和reduce两部分,其中Map对数据集上的独立元素进行指定的操作,生成K-V对形式中间结果。Reduce则对中间结果中相同“键”的所有“值”进行规约,以得到最终结果。
  • MapReduce非常适合在大量计算机组成的分布式并行环境里进行数据处理。
  1. Yarn(分布式资源管理器)
  • YARN是Hadoop2.0以后的产品,主要是为了解决原始Hadoop扩展性较差,不支持多计算框架而提出的。
  • Yarn是Hadoop2.0计算平台,Yarn是一个通用的运行时框架,用户可以编写自己的计算框架,在该运行环境中运行。
  • 用于自己编写的框架作为客户端的一个lib,在运用提交作业时打包即可。该框架为提供了以下几个组件:
  • 资源管理:包括应用程序管理和机器资源管理
  • 资源双层调度:
  1. 说明: 资源统一管理和调度平台应该提供一个全局的资源管理器。所有接入的框架要先向该全局资源管理器申请资源,申请成功之后,再由框架自身的调度器决定资源交由哪个任务使用,也就是说,整个大的系统是个双层调度器,第一层是统一管理和调度平台提供的,另外一层是框架自身的调度器。
  • 容错性:各个组件均有考虑容错性
  • 扩展性:可扩展到上万个节点
  1. HBASE(分布式列存数据库)
  • HBase是一个建立在HDFS之上,面向列的针对结构化数据的可伸缩、高可靠、高性能、分布式和面向列的动态模式数据库**(非关系型数据库)**。
  • HBase采用了BigTable的数据模型:增强的稀疏排序映射表(Key/Value),其中,键由行关键字、列关键字和时间戳构成
  • HBase提供了对大规模数据的随机、实时读写访问,同时,HBase中保存的数据可以使用MapReduce来处理,它将数据存储和并行计算完美地结合在一起。
  1. Zookeeper(分布式协作服务)
  • 解决分布式环境下的数据管理问题:统一命名,状态同步,集群管理,配置同步等。
  • Hadoop的许多组件依赖于Zookeeper,它运行在计算机集群上面,用于管理Hadoop操作。
  1. Hive(数据仓库)
  • 由facebook开源,最初用于解决海量结构化的日志数据统计问题。
  • Hive定义了一种类似SQL的查询语言(HQL),将SQL转化为MapReduce任务在Hadoop上执行。通常用于离线分析。
  • HQL用于运行存储在Hadoop上的查询语句,Hive让不熟悉MapReduce开发人员也能编写数据查询语句,然后这些语句被翻译为Hadoop上面的MapReduce任务。
  1. Spark(内存DAG计算模型)
  • Spark是一个Apache项目,它被标榜为“快如闪电的集群计算”。它拥有一个繁荣的开源社区,并且是目前最活跃的Apache项目。
  • Spark提供了一个更快、更通用的数据处理平台。和Hadoop相比,Spark可以让你的程序在内存中运行时速度提升100倍,或者在磁盘上运行时速度提升10倍
  1. Kafka(分布式消息队列)
  • Kafka是Linkedin于2010年12月份开源的消息系统,它主要用于处理活跃的流式数据。
  • 活跃的流式数据在web网站应用中非常常见,这些数据包括网站的pv、用户访问了什么内容,搜索了什么内容等。
  • 这些数据通常以日志的形式记录下来,然后每隔一段时间进行一次统计处理。
  1. Flume(日志收集工具)
  • Cloudera开源的日志收集系统,具有分布式、高可靠、高容错、易于定制和扩展的特点。
  • 它将数据从产生、传输、处理并最终写入目标的路径的过程抽象为数据流,在具体的数据流中,数据源支持在Flume中定制数据发送方,从而支持收集各种不同协议数据。
  • 同时,Flume数据流提供对日志数据进行简单处理的能力,如过滤、格式转换等。此外,Flume还具有能够将日志写往各种数据目标(可定制)的能力。
  • 总的来说,Flume是一个可扩展、适合复杂环境的海量日志收集系统。当然也可以用于收集其他类型数据。
  1. Sqoop(数据导出导入工具)
  • Sqoop的作用就是将关系型数据库中的某张表数据抽取到Hadoop的hdfs文件系统当中,底层运用的还是Map Reduce 。它利用MapReduce加快数据传输速度,批处理方式进行数据传输。也可以将HDFS上的文件数据或者是Hive表中的数据导出到关系型数据库中的某张表。
  • 同TDCH导出工具一样,不过Sqoop主要适合MySQL、Oracle数据库,而TDCH主要是应用与Teradata数据库。
3、Hadoop的优势

在这里插入图片描述

五、大数据技术生态体系

在这里插入图片描述

六、推荐系统项目框架

在这里插入图片描述

对以前的知识回顾,加深基础知识!
学习来自:尚硅谷大数据学习视频
每天进步一点点,也许某一天你也会变得那么渺小!!!

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值