首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >HDFS、HBase、Pig、Hive和Azkaban的关系?

HDFS、HBase、Pig、Hive和Azkaban的关系?
EN

Stack Overflow用户
提问于 2016-06-04 11:45:40
回答 2查看 943关注 0票数 5

我对Apache Hadoop有点陌生。我见过关于Hadoop、HBase、Pig、Hive和HDFS的问题。两种方法都描述了上述技术之间的比较。

但是,我已经看到,典型的Hadoop环境包含所有这些组件(HDFSHBasePigHiveAzkabanE 212)。

有人能用架构工作流的方式解释这些组件/技术与Hadoop环境中的职责之间的关系吗?最好举个例子?

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2016-06-04 12:57:10

概述:

HDFS是Hadoop的分布式文件系统。直观地说,您可以将此视为跨多个服务器的文件系统。

HBASE是一个面向列的数据存储。它是以Google的database为模型的,但是如果这不是你所知道的,那么就把它看作一个非关系数据库,提供对数据的实时读/写访问。它被集成到Hadoop中。

猪和蜂巢是Hadoop生态系统中查询数据的方式。主要的区别是Hive更像SQL而不是Pig。猪使用所谓的猪拉丁语。

Azkaban是一个监狱,我的意思是批处理工作流作业调度器。因此,它基本上与Oozie相似,因为您可以将map/reduce、pig、hive、bash等作为一项任务运行。

在尽可能高的级别上,您可以认为HDFS是您的文件系统,HBASE是数据存储。猪和蜂巢将是你从数据存储中查询的手段。那么Azkaban将是你安排工作的方式。

拉伸示例:

如果您熟悉用于文件系统的Linux ext3或ext4、数据库的MySQL/Postgresql/MariaDB/etc、访问数据的SQL和调度作业的cron。(您可以在Windows上交换用于NTFS的ext3 3/ext3 4和用于任务调度程序的cron )

HDFS取代ext3或ext4 (并且是分布式的),HBASE承担数据库角色(并且是非关系的!),Pig/Hive是访问数据的一种方式,Azkaban是调度作业的一种方式。

注意:,这不是苹果与苹果的比较。这只是为了证明Hadoop组件是一种抽象,目的是为您提供您可能已经熟悉的工作流。

我强烈鼓励您深入了解组件,因为您将有很大的乐趣。Hadoop有许多可互换的组件( Yarn、Kafka、Oozie、Ambari、ZooKeeper、Sqoop、Spark等),你会问很多这样的问题。

编辑:您发布的链接更详细地介绍了HBase和Hive/Pig,所以我尝试给出它们是如何结合在一起的直观的图片。

票数 7
EN

Stack Overflow用户

发布于 2016-06-04 19:54:45

Hadoop环境包含所有这些组件(HDFS、HBase、Pig、Hive、Azkaban)。他们的简短描述可以是:

hadoop框架中的HDFS -storage。

HBase --它是柱状数据库。以列的形式存储数据,以便更快地访问。是的,它确实使用hdfs作为其存储空间。

Pig -数据流语言,它的社区提供了加载和处理半结构化数据(如json和xml )以及结构化数据的内置功能。

Hive -查询语言可以在表上运行查询,在这里需要安装表来处理HDFS数据。

Azkaban --如果您有hadoop作业的管道,您可以安排它们在特定的时间以及在某些依赖项之后或之前运行。

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/37629836

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档