hadoop大数据基础概念解读(二)

前言:上回我们介绍了hadoop的简介、组成等基础,那么,大数据框架中的一些常用的组件,名词等。又是什么意思呢?下面让小编带你一一了解。

1 HDFS

HDFS是分布式计算的存储基石,对于整个集群有单一的命名空间,具有数据一致性,适合一次写入多次读取的模型,客户端在文件没有被成功创建之前是无法看到文件存在的。文件会被分割成多个文件块,每个文件块被分配存储到数据节点上,而且会根据配置由复制文件块来保证数据的安全性。

HDFS通过三个重要的角色来进行文件系统的管理:NameNode、DataNode和Client。NameNode可以看做是分布式文件系统中的管理者,主要负责管理文件系统的命名空间、集群配置信息和存储块的复制等。

NameNode会将文件系统的Metadata存储在内存中,这些信息主要包括文件信息、每一个文件对应的文件块的信息和每一个文件块在DataNode中的信息等。

DataNode是文件存储的基本单元,它将文件块(Block)存储在本地文件系统中,保存了所有Block的Metadata,同时周期性地将所有存在的Block信息发送给NameNode。Client就是需要获取分布式文件系统文件的应用程序。

2 MapReduce

MapReduce是一个高性能的分布式计算框架,用于对海量数据进行并行分析和处理。与传统数据仓库和分析技术相比,MapReduce适合处理各种类型的数据,包括结构化、半结构化和非结构化数据。数据量在 TB 和 PB 级别,在这个量级上,传统方法通常已经无法处理数据。MapReduce 将分析任务分为大量的并行Map 任务和Reduce汇总任务两类。Map 任务运行在多个服务器上。指定一个Map(映射)函数,用来把一组键值对映射成一组新的键值对,指定并发的Reduce(归约)函数,用来保证所有映射的键值对中的每一个共享相同的键组。把一堆杂乱无章的数据按照某种特征归纳起来,然后处理并得到最后的结果。Map面对的是杂乱无章的互不相关的数据,它解析每个数据,从中提取出key和value,也就是提取了数据的特征。经过MapReduce的Shuffle阶段之后,在Reduce阶段看到的都是已经归纳好的数据了,在此基础上我们可以做进一步的处理以便得到结果。

3 Hive

Hive是一个构建在Hadoop基础设施之上的数据仓库。通过Hive可以使用HQL语言查询存放在HDFS上的数据。

HQL是一种类SQL语言,这种语言最终被转化为Map/Reduce。虽然Hive提供了SQL查询功能,但是Hive不能够进行交互查询,因为它只能够在Haoop上批量的执行Hadoop。

Hive被分区为表格,表格又被进一步分割为列簇。列簇必须使用schema定义,列簇将某一类型列集合起来(列不要求schema定义)。例如,“message”列簇可能包含:“to”, ”from” “date”, “subject”, 和”body”. 每一个 key/value对在Hbase中被定义为一个cell,每一个key由row-key,列簇、列和时间戳。

4 Pig

一个执行 MapReduce 编码的更高层次的编程环境。Pig 语言被称为 Pig Latin。具有极高大高可用性。

5 HBase

Hbase是运行在Hadoop上的一种分布式数据库,部署于HDFS之上,克服了HDFS在随机读写方面的缺点。

HBase是一种Key/Value系统,和Hive不一样,Hbase能够在它的数据库上实时运行,而不是运行MapReduce任务。在Hbase中,行是key/value映射的集合,这个映射通过row-key来唯一标识。Hbase利用Hadoop的基础设施,可以利用通用的设备进行水平的扩展。

6 FlumeNG

一个实时的加载程序,用来将数据流式传输到 Hadoop 中。它将数据存储在 HDFS 和 HBase 中。

7 Fuse

让 HDFS 系统看起来就像一个普通的文件系统,所以您可以对 HDFS 数据使用 ls、rm、cd 和其他命令。

8 YARN

Yarn是一个分布式的资源管理系统,用以提高分布式集群环境下内存、IO、网络、磁盘等资源的利用率。严格来说,Yarn只是一个资源管理的框架,并不是一个计算框架,MapReduce计算框架需要运行在Yarn上。Yarn,最主要的作用是,能够使得各种应用可以互不干扰的运行在同一个Hadoop系统中,共享整个集群资源。

9 NFS Gateway

HDFS NFS Gateway能够把HDFS挂载到客户机上作为本地文件系统来管理,支持NFSv3

Gateway有如下可用特性:

-- 用户在支持NFSv3的操作系统上可以通过本地文件系统浏览HDFS。

-- 使用NFS Gateway 用户能够直接下载和上传HDFS文件到本地文件系统中。

-- 用户可以通过挂载点直接传输数据流至HDFS,但只能增量添加不能随机写数据。

10 Accumulo

Apache Accumulo的是一个高度可扩展的结构化存储,基于谷歌的BigTable。Accumulo是用Java编写的,并在Hadoop分布式文件系统 (HDFS),这是流行的Apache Hadoop项目的一部分工作。Accumulo支持高效存储和检索的结构化数据,包括查询范围,并提供支持使用Accumulo表作为输入和输出的 MapReduce作业。

11 HregionServer

Region是HBase数据存储和管理的基本单位。一个表中可以包含一个或多个Region。每个Region只能被一个RS(RegionServer)提供服务,RS可以同时服务多个Region,来自不同RS上的Region组合成表格的整体逻辑视图。HRegionServer是HBase中最主要的组件,负责table数据的实际读写,管理Region

12 Flume

Flume是一个分布式、可靠、和高可用的海量日志聚合的系统,支持在系统中定制各类数据发送方,用于收集数据;同时,Flume提供对数据进行简单处理,并写到各种数据接受方(可定制)的能力。

13 Supervisor

Supervisor是一个C/S系统,它可以在类UNIX系统上控制系统进程,由Python编写,提供了大量的功能来实现对进程的管理

14 Mahout

面向 Hadoop 的机器学习。用于预测分析和其他高级分析。

15 Whirr

面向 Hadoop 的云配置。您可以在短短几分钟内使用一个很短的配置文件启动一个集群。

16 Oozie

管理 Hadoop 工作流。这并不能取代您的调度程序或 BPM 工具,但它在您的 Hadoop 作业中提供 if-then-else 分支和控制。

17 Sqoop

关系数据库之间提供双向数据传输,比如把数据从mysql传输到Hbas

通过上面众多介绍,大家相信对组成我们常用的大数据框架组件已经有了基本概念,目前随着各大公司的智能发展,大数据发展更加完善,各大公司也因此衍生出众多版本,不管开源的,商业的,适合的才是最好的,这期我们基础就介绍到这,下次我们将着重介绍、对比目前主流的大数据技术的优缺点。

如果喜欢,请点个赞,关注一下。IT技术、新闻,每天给你好看!

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值