我了解HDFS和Map Reduce的概念,以及将处理逻辑移动到数据以提高效率的重要性。我甚至能够在我的基本Hadoop集群上运行几个mapreduce作业。围绕这些概念,有很多不同的技术,如YARN,HUE,OOZIE,所有这些技术似乎都在做同样的事情(至少从非常高的层面上),即操作可见性和作业的CRUD能力(可以是地图减少或其他东西)。
我做出这个假设是正确的,还是它们之间存在更根本的区别?
谢谢凯
YARN - Map Reduce 是 API,您必须在其中实现数据处理逻辑。编译代码后,您必须使用 hadoop jar
命令提交作业。YARN是一个框架,它将跟踪资源,在集群上提交作业,执行作业,显示/记录进度。
OOZIE - 以数据集成为例。您可能必须从一个数据库获取数据集,从另一个数据库获取其他数据集,然后要联接、处理数据并将其重新加载到缓存或第三个数据库中。它涉及 2 个 sqoop 作业来从数据库中提取数据,一个配置单元/映射减少作业来联接和处理数据,然后推送到缓存/数据库中。所有这些工作都是相互依赖的,例如:我们应该只在从源数据库中提取数据后处理数据。因此,我们需要创建一个工作流来执行完整的数据集成过程。OOZIE可以促进这一点。它是基于地图缩减的工作流工具。工作流本身将作为一个或多个地图缩减作业执行。
HUE:Hadoop中有很多工具——HDFS(文件系统)、Sqoop、Hive/pig来处理数据、Impala、HBase等等。要执行 POC,连接到群集可能会变得乏味。它还需要一些Linux技能。为了克服这些挑战,所有的Hadoop生态系统工具都整合在一个保护伞下 - 称为Hue。