Hadoop生态系统(1)

Hadoop是一个能够对大量数据进行分布式处理的软件框架。具有可靠,高效,可伸缩的特点。

Hadoop最核心的分为hdfs分布式存储和MapReduce分布式计算。

hdfs是Hadoop体系中数据存储管理的基础,他是一个高度容错系统,能够检测和应对硬件故障。(用于低成本的通用硬件上运行)

简化了文件的一致性模型,通过流式数据访问,提供高吞吐量应用程序数据访问功能。(适合带有大量数据集的应用程序)   

 分布式存储系统就是将一个文件分布到不同的节点 存储,一个主节点和多个从节点。

           主节点负责存储管理文件系统的文件结构,从节点负责存储真实数据,称为主从式结构。

    用户操作(hdfsClient)是应该先和主节点(NameNode)中查询数据的存储在哪个节点上,然后再从从节点(DataNode)中读取。

  注:(在主节点上为了加快用户访问的速度,会把整个命名空间信息都存放在内存中,当存储的文件越来越多就会需要更多的内存空间。因为从节点存储的数据文件的大小不一,所以我们采用抽象的独立的存储文件单位,称为块block大小128M)。(数据存放在集群中,会出现因为网络原因或者节点硬件造成访问失败,所以我们采用副本机制replication,把数据同时备份到多台节点中。)


执行流程:



Mapreduce(分布式计算框架)

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

Map Task:解析每条数据记录,传递给用户编写的map(),并执行,将输出结果写入本地磁盘(如果为map-only作业,直接写入HDFS)。

Reducer Task:从Map Task的执行结果中,远程读取输入数据,对数据进行排序,将数据按照分组传递给用户编写的reduce函数执行。



pig和hive

pig:是一种编程语言简化了Hadoop的工作任务,pig可以加载数据、表达转换数据以及存储最终结果。

hive:扮演数据仓库角色,在hdfs上添加数据,并允许类似于SQL语法进行数据查询,于pig一样核心功能是可扩展的。

两者的区别:

             hive更适合数据仓库的任务,hive主要用于静态结构以及需要经常分析.并且hive与SQL相似促使Hadoop与其他BL工具结合的李想交集。

             pig相比hive相对轻量,主要优势在于直接使用Hadoop Java APLs 可以大幅度消减代码量。























    

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值