(二)大数据学习之大数据概述

1.什么是大数据
大数据4V特征
Volume(数据量大):
Variety(数据多样性):
Velocity(输入和处理速度快):
Value(价值密度低):
2.数据仓库和大数据
(1)传统方式:DW(Data Warehouse),基于传统的关系型数据库(Oracle,MySQL等),一般只做查询分析,TD(Teradata 天睿)--数据仓库一体机
(2)大数据方式 --分布式

数据仓库与大数据的区别

3.OLTP与OLAP
(1)OLTP(Online Transaction Processing,联机事务处理,分析):事务型操作(insert,update,delete)
ACID:所有数据可追溯。------应用为关系型数据库
(2)OLAP(Online Analytic Processing,联机分析处理)
     真正生产中,是OLTP与OLAP的结合:OLTP(后台操作,前台展示,数据设计等),OLAP(Hive,Hbase,Spark等)
4.Google的基本思想:三篇论文
(1)GPS:主要是解决存储问题(HDFS)

(2)MapReduce:分布式计算模型
(3)Bigtable:大表
     对HDFS进行封装和二次开发,提高查询效率。把所有数据存入一张表中,通过牺牲空间,换取时间


bigtable与HBase

Hadoop的生态体系

1.起源:Google三驾马车演变:

Googl三架马车的演变

     Hadoop是一系列技术的集合,涵盖大数据处理的各个环节。核心组件是分布式文件系统 (HDFS)、分布式计算(MapReduce)以及列式数据库(HBase)组件。
2.Hadoop
     Hadoop是Apache软件基金会的顶级开源项目,是一套可靠的,可扩展的,支持分布式 计算的开源软件,由原雅虎公司Doug Cutting根据Google发布的学术论文(Google File System、MapReduce、BigTable)而创建的开源项目
特点:
高可靠性:Hadoop按位存储和处理数。
高扩展性:Hadoop是在可用的计算机集群间分配数据并完成计算任务的,这些集群可以方便地扩展到数以千计的节点中。
高效性:Hadoop能够在节点之间动态地移动数据,并保证各个节点的动态平衡,因此处理速度非常快。
高容错性:Hadoop能够自动保存数据的多个副本,并且能够自动将失败的任务重新分配。
低成本:Hadoop 依赖于x86服务器,成本比较低
3.HDFS
     HDFS是Hadoop体系中数据存储管理的基础。它是一个高度容错的系统,能检 测和应对硬件故障,用于在低成本的通用硬件上运行。HDFS简化了文件的一 致性模型,通过流式数据访问,适合带有大型数据集的应用程序
特点
高容错性:认为硬件总是不可靠的
高吞吐量:通过流式数据访问,提供高吞吐量
HDFS是设计成适应一次写入,多次读出的场景
HDFS不适应多个小文件写入和频繁交互的场景

HDFS原理

4.Yarn
     YARN是Hadoop2.x以后对Hadoop1.x之前JobTracker和TaskTracker模型的优化而产生出来 的,将JobTracker的资源分配和作业调度及监督分开。该框架主要有ResourceManager, Nodemanager,ApplicationMatser,Container
RM:负责集群资源统一管理和计算框架管理,主要包括调度和应用程序管理
NM:节点资源管理监控和容器管理
AM:各种计算框架的实现
Container:Yarn中资源的抽象,包括CPU、内存、硬盘、网络等
Yarn架构:

Yarn架构

5.MapReduce
     MapReduce是一种计算模型,用以进行大数据量的计算。其中Map对数据集上的独立元 素进行指定的操作,生成键-值对形式中间结果。Reduce则对中间结果中相同“键”的所 有“值”进行规约,以得到最终结果。MapReduce这样的功能划分,非常适合在大量计算 机组成的分布式并行环境里进行数据处理
MapReduce处理过程:

Mapreduce处理过程

6.Hive
Hive是运行在Hadoop上的数据仓库软件,提交到Hive上的SQL查询会被编译为MapReduce任务并在Hadoop集群上执行
Hive架构:

Hive架构1

Hive架构2

MetaStore:存储表,列和Partition等元数据
Driver:管理HiveQL执行的生命周期并贯穿Hive整个执行期间
Compiler:编译HiveQL并将其转化为一系列相互依赖的Map/Reduce任务
Qptimizer:优化器,分为逻辑优化器和物理优化器,分别对HiveQL生成的执行计划和MapReduce任务进行优化
Executor:按照任务的依赖关系分别执行Map/reduce任务
ThriftServer:提供thrift接口,作为JDBC和ODBC的服务端,并将Hive和其他应用程序集成起来
Clients:包含命令行接口(CLI/Beeline)和JDBC/ODBC接口,为用户访问提供接口
7.HBase
HBase-Hadoop Database是在hadoop之上构建的分布式,非关系型,面向列存储的开源数据库,利用HBase技术可在廉价PC Server上搭建起大规模结构化存储集群
HBase是Google Bigtable的开源实现,HBase利用Hadoop HDFS作为其文件存储系统
HBase

8.Spark
Spark是个开源的数据分析集群计算框架,最初由加州大学伯克利分 校AMPLab开发,建立于HDFS之上。Spark与Hadoop一样,用于构 建大规模、低延时的数据分析应用。Spark采用Scala语言实现,使 用Scala作为应用框架。 Spark采用基于内存的分布式数据集,优化 了迭代式的工作负载以及交互式查询。

Spark

9.Strom
Storm是一个分布式的、容错的实时计算系统,由BackType开发,后被 Twitter捕获。Storm属于流处理平台,多用于实时计算并更新数据库。 Storm也可被用于“连续计算”(continuous computation),对数据流做 连续查询,在计算时就将结果以流的形式输出给用户
Nimbus:主节点
Supervisor:从节点
Worker:任务工作进程,类似于YARN的ApplicationMaster,可以 存在多个,不同的任务有不同的Worker
Executor:Worker进程在执行任务时,会启动多个Executor现成
Topology:task任务的拓扑结构,是一个DAG有向无环图
Spout:抽取数据并将数据进行分发的阶段
Bolt:将分发的数据进行具体操作的阶段
10.Hadoop生态体系厂商---CDH

CDH

©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 【什么是大数据、大数据技术】 大数据,又称巨量资料,指的是所涉及的数据资料量规模巨大到无法在合理时间内通过传统的应...
    kimibob阅读 2,790评论 0 51
  • Zookeeper用于集群主备切换。 YARN让集群具备更好的扩展性。 Spark没有存储能力。 Spark的Ma...
    Yobhel阅读 7,386评论 0 34
  • 当前,整个互联网正在从IT时代向DT时代演进,大数据技术也正在助力企业和公众敲开DT世界大门。当今“大数据”一词的...
    吴瑞文阅读 1,485评论 1 11
  • 佛家有云,一切都是因果,一切都是无常。 对我来说,一切是不是因果我不知道,一切都是无常,我信。 你不得不承认,我们...
    灵清子阅读 1,256评论 0 0
  • 以前觉得离家越远,越能发挥自己的潜能。 如今,随着年龄的增长,社会阅历的加深,开始觉得在家附近谋取一份有点体面的工...
    浓淡香壹阅读 331评论 0 0