用于处理大数据的基本Hadoop工具
来源:海牛大数据 时间:2021-02-22 15:03:42 编辑:简单
今天,在IT世界中最流行的术语是“ Hadoop”。在很短的时间内,Hadoop 迅速发展,并已证明对大量不同项目非常有用。Hadoop社区正在快速发展,并在其生态系统中发挥着重要作用。
Ambari是Hortonworks支持的Apache项目。它提供了一个基于Web的GUI(图形用户界面),并带有用于设置具有大多数标准组件的群集的向导脚本。Ambari提供,管理和监视Hadoop作业的所有群集。
根据Apache许可分发的HDFS提供了用于在多个节点之间拆分数据集合的基本框架。在HDFS中,大文件分为多个块,其中几个节点保存了文件中的所有块。文件系统的设计方式是将容错能力与高吞吐量结合在一起。加载HDFS块以维持稳定的流传输。通常不缓存它们以最小化延迟。
HBase是在HDFS之上运行的面向列的数据库管理系统。HBase应用程序是用Java编写的,非常类似于MapReduce应用程序。它由一组表组成,其中每个表都包含行和列,就像传统数据库一样。当数据落入大表中时,HBase将存储数据,对其进行搜索并自动在多个节点之间共享表,以便MapReduce作业可以在本地运行它。HBase对某些本地更改提供有限保证。单行中发生的更改可以同时成功或失败。
如果你已经精通SQL,则可以使用Hive利用Hadoop 。Hive是Facebook的一些人开发的。Apache Hive规定了从HBase中所有文件中提取位的过程。它支持分析存储在Hadoop HDFS和兼容文件系统中的大型数据集。它还提供了一种类似于SQL的语言,称为HSQL(HiveSQL),可进入文件并提取代码所需的代码段。
Apache Sqoop经过专门设计,可以将大量数据从传统数据库高效地传输到Hive或HBase。它还可以用于从Hadoop提取数据并将其导出到外部结构化数据存储,例如关系数据库和企业数据仓库。Sqoop是一种命令行工具,可在表与数据存储层之间进行映射,将表转换为HDFS,HBase或Hive的可配置组合。
当存储的数据对Hadoop可见时,Apache Pig就会深入研究数据并运行以其自己的语言(称为Pig Latin)编写的代码。Pig Latin充满了用于处理数据的抽象。Pig具有用于常见任务的标准功能,例如平均数据,处理日期或查找字符串之间的差异。当标准功能不足时,Pig还允许用户自己编写称为UDF(用户定义功能)的语言。
Zookeeper是一项集中式服务,可维护,配置信息,提供名称并在整个集群中提供分布式同步。它在集群上强加了一个类似于文件系统的层次结构,并存储了机器的所有元数据,因此我们可以同步各种机器的工作。
NoSQL某些Hadoop群集与NoSQL数据存储集成在一起,后者具有自己的跨节点群集存储数据的机制。这使他们可以使用NoSQL数据库的所有功能来存储和检索数据,之后可以使用Hadoop在同一群集上安排数据分析作业。
Mahout旨在对Hadoop集群实施大量算法,分类和数据分析过滤。许多标准算法(例如K-means,Dirichelet,并行模式和贝叶斯分类)已准备就绪,可以使用Hadoop风格的Map进行数据处理并精简。
Lucene用Java编写并且可以轻松地与Hadoop集成,是Hadoop的自然伴侣。它是用于索引大型非结构化文本块的工具。Lucene处理索引,而Hadoop处理跨集群的分布式查询。随着新项目的开发,Lucene-Hadoop功能正在迅速发展。
Avro是一个序列化系统,将数据与用于理解数据的模式捆绑在一起。每个数据包都带有JSON数据结构。JSON解释了如何解析数据。JSON的标头指定了数据的结构,可以避免在数据中写入额外标记以标记字段的需求。输出比XML之类的传统格式要紧凑得多。
可以通过将作业分为几步来简化作业。在将项目分解为多个Hadoop作业后,Oozie开始按正确的顺序进行处理。它按照DAG(有向无环图)指定的方式管理工作流,不需要及时监控。
海牛大数据专注于大数据课程开发及培训,"因为专注,所以专业"。如果您想要了解更多大数据的知识,您可以浏览我们的网站,我们会为您提供更专业服务。