当前位置:  开发笔记 > 前端 > 正文

在hadoop中使用hcatalog有什么用?

如何解决《在hadoop中使用hcatalog有什么用?》经验,为你挑选了4个好方法。

我是hadoop的新手.我知道HCatalog是Hadoop的表和存储管理层.但它究竟是如何工作以及如何使用它.请举一些简单的例子.



1> Prabu Sounda..:

简而言之,HCatalog将hive元数据打开到其他mapreduce工具.每个mapreduce工具都有自己关于HDFS数据的概念(示例Pig将HDFS数据视为文件集,Hive将其视为表).通过基于表的抽象,HCatalog支持的mapreduce工具无需关心数据的存储位置,格式和存储位置(HBase或HDFS).

如果您在Hcatalog中配置webhcat,我们确实可以使用WebHcat的工具以RESTful方式提交作业.



2> Neethu..:

这是一个如何使用HCATALOG的一个非常基本的例子.

我在hive中有一个表,TABLE NAME是STUDENT,它存储在一个HDFS位置:

neethu 90 malini 90 sunitha 98 mrinal 56 ravi 90 joshua 8

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

使用来自带有Pig的Hive Metastore的表信息时,在调用pig时添加-useHCatalog选项:

pig -useHCatalog

(你可能想导出HCAT_HOME'HCAT_HOME =/usr/lib/hive-hcatalog /')

现在将此表加载到pig: A = LOAD 'student' USING org.apache.hcatalog.pig.HCatLoader();

现在您已将表加载到pig.要检查模式,只需对关系执行DESCRIBE.

DESCRIBE A

谢谢


谢谢你这么简单的例子:)

3> mrsrinivas..:

添加其他好的帖子我想添加一个图像,以明确低估它是如何HCatalog工作的以及它在群集中的哪个层

<code> HCatalog </ code>的工作原理以及它在集群中的位置

问:它究竟是如何运作的?

正如您所提到的" HCatalog是Hadoop的表和存储管理层 ",它通过对Hive表的分布式存储层执行I/O操作,为其他框架(如MR,Spark和Pig)提供高级抽象.

HCatalog包含3个关键要素

    SerDe:序列化和反序列化lib,用于处理各种数据格式.

    元存储DB:用于存储Hive表的模式.

    WebHCat/HCatalog REST:用于Web客户端的元存储数据库之上的UI/REST层.

问:怎么用?

安装并运行HCatalog后,您可以在CLI上执行以下操作

usage: hcat { -e "" | -f "" } 
   [ -g "" ] [ -p "" ] 
   [ -D" = " ]

-D     use hadoop value for given property
-e                 hcat command given from command line
-f                 hcat commands in file
-g                group for the db/table specified in CREATE statement
-h,--help                Print help information
-p                permissions for the db/table specified in CREATE statement

例:

./hcat –e "SELECT * FROM employee;"



4> 小智..:

HCatalog支持以任何格式读取和写入文件,可以为其编写Hive SerDe(串行器 - 解串器).默认情况下,HCatalog支持RCFile,CSV,JSON和SequenceFile格式.要使用自定义格式,必须提供InputFormat,OutputFormat和SerDe.

HCatalog建立在Hive Metastore之上,并集成了Hive DDL的组件.HCatalog为Pig和MapReduce提供读写接口,并使用Hive的命令行界面发布数据定义和元数据探索命令.

它还提供了一个REST接口,允许外部工具访问Hive DDL(数据定义语言)操作,例如"create table"和"describe table".

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


编辑:大部分文本来自https://cwiki.apache.org/confluence/display/Hive/HCatalog+UsingHCat.


来自官方HCatalog页面的精美复制粘贴!:)
推荐阅读
手机用户2402851155
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有