hadoop中hcatalog的用途是什么?

hadoop中hcatalog的用途是什么?,hadoop,hive,hbase,hcatalog,Hadoop,Hive,Hbase,Hcatalog,我是Hadoop新手。我知道HCatalog是Hadoop的表和存储管理层。但是它到底是如何工作的,以及如何使用它。请给出一些简单的例子。Hcatalog是Hadoop文件系统的元数据管理。可以通过使用RESTAPI的webhcat访问Hcatalog。在hcatalog中创建的任何表都可以通过hive和pig访问 HCatalog支持以任何格式读取和写入文件,可以写入配置单元SerDe(序列化程序反序列化程序)。默认情况下,HCatalog支持RCFile、CSV、JSON和SequenceF

我是Hadoop新手。我知道HCatalog是Hadoop的表和存储管理层。但是它到底是如何工作的,以及如何使用它。请给出一些简单的例子。

Hcatalog是Hadoop文件系统的元数据管理。可以通过使用RESTAPI的webhcat访问Hcatalog。在hcatalog中创建的任何表都可以通过hive和pig访问

HCatalog支持以任何格式读取和写入文件,可以写入配置单元SerDe(序列化程序反序列化程序)。默认情况下,HCatalog支持RCFile、CSV、JSON和SequenceFile格式。要使用自定义格式,必须提供InputFormat、OutputFormat和SerDe

HCatalog构建在Hive元存储之上,并包含来自Hive DDL的组件。HCatalog为Pig和MapReduce提供读写接口,并使用Hive的命令行接口发出数据定义和元数据探索命令

它还提供了一个REST接口,允许外部工具访问配置单元DDL(数据定义语言)操作,如“创建表”和“描述表”

HCatalog提供了数据的关系视图。数据存储在表中,这些表可以放在数据库中。表也可以在一个或多个键上进行分区。对于一个键(或一组键)的给定值,将有一个分区包含具有该值(或一组值)的所有行



编辑:大部分文本来自。

简而言之,HCatalog将配置单元元数据打开到其他mapreduce工具。每个mapreduce工具都有自己关于HDFS数据的概念(例如Pig将HDFS数据视为一组文件,Hive将其视为表)。通过基于表的抽象,HCatalog支持的mapreduce工具不需要关心数据存储在何处、以何种格式和存储位置(HBase或HDFS)


如果您沿着Hcatalog配置WebHcat,我们确实可以使用WebHcat以RESTful方式提交作业

下面是一个关于如何使用HCATALOG的非常基本的示例

我在配置单元中有一个表,表名为STUDENT,存储在HDFS位置之一:

neethu 90
马利尼90
苏尼萨98
最后56
拉维90
约书亚8号

现在假设我想将这个表加载到pig,以便进一步转换数据, 在这种情况下,我可以使用HCATALOG:

将配置单元元存储中的表信息与Pig一起使用时,在调用Pig时添加-useHCatalog选项:

pig-useHCatalog

(您可能希望导出HCAT_HOME'HCAT_HOME=/usr/lib/hive hcatalog/')

现在将此表加载到清管器:
A=使用org.apache.hcatalog.pig.HCatLoader()加载“学生”

现在您已经将表加载到pig。要检查模式,只需对关系进行描述

描述一个

谢谢

添加其他精彩帖子我想添加一张图片,以清晰地描述如何
HCatalog
工作以及它位于集群中的哪个层

HCatalog
工作以及它在集群中的位置“>

Q:它到底是如何工作的?

正如您提到的“HCatalog是Hadoop的表和存储管理层”,它通过对配置单元表的分布式存储层执行I/O操作,为其他框架(如MR、Spark和Pig)提供了高级抽象

HCatalog包含3个关键元素

  • SerDe:用于处理各种数据格式的序列化和反序列化库
  • 元存储数据库:用于存储配置单元表的架构
  • WebHCat/HCatalog REST:web客户端元存储数据库顶部的UI/REST层
  • Q:如何使用它?

    一旦HCatalog安装并成功运行,您可以在CLI上执行以下操作

    usage: hcat { -e "<query>" | -f "<filepath>" } 
       [ -g "<group>" ] [ -p "<perms>" ] 
       [ -D"<name> = <value>" ]
    
    -D <property = value>    use hadoop value for given property
    -e <exec>                hcat command given from command line
    -f <file>                hcat commands in file
    -g <group>               group for the db/table specified in CREATE statement
    -h,--help                Print help information
    -p <perms>               permissions for the db/table specified in CREATE statement
    

    HCatalog是一个用于Hadoop的表存储管理工具,它将Hive metastore的表格数据公开给其他Hadoop应用程序。它使使用不同数据处理工具的用户能够轻松地在表格网格中写入数据。它确保用户不必担心存储格式。

    说得好极了!我一直在int上漫游ernet试图理解hcat到底是什么。你用一句话解释了它。从官方HCatalog页面粘贴的很好!:)@R4chi7我想这个答案以优雅的方式尖叫着“RTFM!”。很好的图片化!开箱即用的答案。图片添加了更多的解释。
    ./hcat –e "SELECT * FROM employee;"