Hadoop生态中这3个与数据处理直接相

Hive、Pig、HBase作为Hadoop生态系统中与数据直接相关的组件,他们在功能上相互交叉但又具备自身特点。

但作为一个初学者,面对3个具有类似功能又各有特点的框架难免产生疑虑。他们之间到底有什么关系?他们在整个Hadoop生态中如何发挥作用?

今天就整理一下这3个组件在Hadoop生态中的作用,让大家有一个整体的认识。

Hbase

Hbase是高可靠、面向列的、可伸缩的、分布式的数据库,适用于非结构化的数据存储。

HBase运行在Hadoop-HDFS之上,HDFS缺乏随即读写操作,不能满足实时需要;而Hbase能够实现对数据的实时访问。

利用HBase技术可在廉价PCServer上搭建起大规模结构化存储集群。

Hive

Hive是建立在Hadoop之上的数据仓库,可以将结构化的数据文件映射为一张数据库表。本身并不存储和处理数据,依赖于HDFS存储数据,依赖MR处理数据。

Hive提供对数据进行提取、转换、加载的工具,可以存储、查询和分析存储在HDFS上的数据。

Hive可以看做是SQL到MapReduce的一个映射器。提供类SQL语言HiveQL,80%的语法和标准SQL一致。

可以通过HQL语句实现简单的MapReduce统计,采用批处理的方式对海量数据进行处理,不必开发专门的MapRedunce应用,十分适合数据仓库的统计分析。

数据仓库存储的是静态数据,很适合采用MR进行批处理。

应用案例

日志文件分析

情感分析(分析社交媒体覆盖情况)

商业智能

Pig

Pig是一种数据流语言和运行环境,适合用于在hadoop平台上查询半结构化数据集。

什么是数据流呢?就是处理数据的流程可以一步步定义,比如第一步加载,第二步转换,第三步再转换,第四步存储,可以一步步定义数据的走向。

Pig基本就是一个对MapReduce实现的工具,可以替代Hive。

Pig在ETL阶段用途很广,对于数据挖掘,尤其是分析未知数据,非常合适。因为不需要指定任何的名称、类型就可以先加载,然后去匹配所有的数据,接下来就可以去观察数据是怎样的,分析怎么去做转换。(Hadoop)

Hive和Pig

Hive主要用于静态的结构以及需要经常分析的工作,是为进行海量数据挖掘设计的,实时性很差,适合在离线下进行的操作。其很容易扩展自己的存储和计算能力。

Pig相比Hive较轻量,优势是相比于直接使用HadoopJavaAPIs可大幅削减代码量。

Pig赋予开发人员更多灵活性,并允许开发简洁的脚本用于转换数据流以便嵌入到较大的应用程序。

大数据分析平台中Hive、Pig、Hbase常见的部署框架

Hive和Pig用于报表中心,Hive用于分析报表,Pig用于报表中数据的转换工作。

HBase用于在线业务,HDFS不支持随机读写操作,HBase可较好地进行实时访问数据。

赞赏

长按







































白癜风最快治疗方法
北京哪个治白癜风医院比较好



转载请注明:http://www.92nongye.com/zyjs/204619807.html