什么时候使用Hcatalog,它有什么好处

时间:2015-05-30 20:18:03

标签: hadoop hive

我是Hcatlog(HCAT)的新手,我们想知道在什么用例/场景中我们使用HCAT,利用HCAT的好处,是否可以从HCatlog获得任何性能改进。任何人都可以提供有关何时使用Hcatlog的信息

1 个答案:

答案 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工具无需关心数据的存储位置,其中格式和存储位置。

  1. 它有助于与其他工具集成,并为Pig,Hive和Map / Reduce提供读写接口。
  2. 它为Hadoop工具提供共享架构和数据类型。您不必在每个程序中显式键入数据结构。
  3. 它将信息公开为Rest Interface for external data access。
  4. 它还与Sqoop集成,Sqoop是一种用于在Hadoop和SQL Server和Oracle等关系数据库之间来回传输数据的工具
  5. 它提供了API和webservice包装器,用于访问hive Metastore中的元数据。
  6. HCatalog还公开了一个REST接口,以便您可以创建自定义工具和应用程序来与Hadoop数据结构进行交互。
  7. 这使我们能够使用正确的工具来完成正确的工作。例如,我们可以使用HCatalog将数据加载到Hadoop中,使用Pig对数据执行一些ETL,然后使用Hive聚合数据。处理完成后,您可以使用Sqoop将数据发送到SQL Server中的数据仓库。您甚至可以使用Oozie自动执行该过程。

    工作原理:

    1. Pig-HCatLoader和HCatStore界面
    2. Map / Reduce- HCatInputFormat和HCatOutputFormat接口
    3. Hive-没有必要的接口。直接访问元数据
    4. 参考文献:

      Microsoft Big Data Solution

      http://hortonworks.com/hadoop/hcatalog/

      回答您的问题:

      正如我之前所述,HCatalog为hadoop工具提供了共享模式和数据类型它简化了数据处理过程中的工作。如果您使用HCatalog创建了一个表,则可以通过pig或Map / Reduce直接访问该hive表(您不能通过pig或Map Reduce简单地访问hive表)。您不需要为每个工具创建模式。 / p>

      如果您正在处理可以从多个数据中使用的共享数据 用户(一些团队使用Hive,一些团队使用pig,一些团队使用Map / Reduce)然后HCatalog将非常有用,因为他们只需要表来访问数据进行处理。

      它不是任何工具的替代品它是提供对许多工具的单一访问的工具。

      性能取决于您的hadoop群集。您应该在Hadoop集群中进行一些性能基准测试,以达到主要性能。