我是Hcatlog(HCAT)的新手,我们想知道在什么用例/场景中我们使用HCAT,利用HCAT的好处,是否可以从HCatlog获得任何性能改进。任何人都可以提供有关何时使用Hcatlog的信息
答案 0 :(得分:2)
Apache HCatalog是Hadoop的表和存储管理层,它使用户能够使用不同的数据处理工具(Apache Pig,Apache Map / Reduce和Apache Hive)更轻松地在网格上读写数据。
HCatalog为存储在HDFS集群上的数据创建表抽象层。此表抽象层以熟悉的关系格式显示数据,并使用熟悉的查询语言概念更轻松地读取和写入数据。
HCatalog数据结构使用Hive的数据定义语言(DDL)定义,Hive Metastore存储HCatalog数据结构。用户可以使用命令行界面(CLI)创建,更改和删除表。表被组织到数据库中,或者如果没有为表定义,则将表放在默认数据库中。创建表后,您可以使用Show Table和Describe Table等命令浏览表的元数据。 HCatalog命令与Hive的DDL命令相同。
HCatalog确保用户无需担心其数据的存储位置或格式。 HCatalog以表格视图显示RCFile格式,文本文件或序列文件中的数据。它还提供REST API,以便外部系统可以访问这些表的元数据。
HCatalog将hive元数据打开到其他Map / Reduce工具。每个Map / Reduce工具都有自己关于HDFS数据的概念(示例Pig将HDFS数据视为文件集,Hive将其视为表格)HCatalog支持的Map / Reduce工具无需关心数据的存储位置,其中格式和存储位置。
这使我们能够使用正确的工具来完成正确的工作。例如,我们可以使用HCatalog将数据加载到Hadoop中,使用Pig对数据执行一些ETL,然后使用Hive聚合数据。处理完成后,您可以使用Sqoop将数据发送到SQL Server中的数据仓库。您甚至可以使用Oozie自动执行该过程。
工作原理:
参考文献:
http://hortonworks.com/hadoop/hcatalog/
回答您的问题:
正如我之前所述,HCatalog为hadoop工具提供了共享模式和数据类型它简化了数据处理过程中的工作。如果您使用HCatalog创建了一个表,则可以通过pig或Map / Reduce直接访问该hive表(您不能通过pig或Map Reduce简单地访问hive表)。您不需要为每个工具创建模式。 / p>
如果您正在处理可以从多个数据中使用的共享数据 用户(一些团队使用Hive,一些团队使用pig,一些团队使用Map / Reduce)然后HCatalog将非常有用,因为他们只需要表来访问数据进行处理。
它不是任何工具的替代品它是提供对许多工具的单一访问的工具。
性能取决于您的hadoop群集。您应该在Hadoop集群中进行一些性能基准测试,以达到主要性能。