HCatalog - CLI

可以从命令 $ HIVE_HOME/HCatalog/bin/hcat 调用HCatalog命令行界面(CLI),其中$ HIVE_HOME是Hive的主目录. hcat 是用于初始化HCatalog服务器的命令.

使用以下命令初始化HCatalog命令行.

cd $HCAT_HOME/bin
./hcat

如果安装已正确完成,那么你将获得以下输出 :

SLF4J: Actual binding is of type [org.slf4j.impl.Log4jLoggerFactory]
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 CLI支持这些命令行选项 :

Sr.No选项示例&描述
1-  g

hcat -g mygroup ...

要创建的表必须具有"mygroup"组.

2-  p

hcat -p rwxr-xr-x ...

要创建的表必须具有读,写和执行权限.

3-  f

hcat -f myscript.HCatalog ...

myscript.HCatalog是一个包含要执行的DDL命令的脚本文件.

4-  e

hcat -e'create table mytable(a int);'...

将以下字符串视为DDL命令并执行它.

5-  D

hcat -Dkey = value ...

将键值对传递给HCatalog作为Java系统属性.

6-

hcat

打印使用信息.

注意和减号;

  • -g -p 选项不是必需的.

  • 同时,可以提供 -e -f 选项,而不是两者.

  • 期权的顺序并不重要;您可以按任何顺序指定选项.

Sr.NoDDL Command&描述
1

CREATE TABLE

使用HCatalog创建表.如果使用CLUSTERED BY子句创建表,则无法使用Pig或MapReduce写入该表.

2

ALTER TABLE

除REBUILD和CONCATENATE选项外,支持.它的行为与Hive中的行为相同.

3

DROP TABLE

支持.行为与Hive相同(删除整个表和结构).

4

创建/更改/删除视图

支持.行为与Hive相同.

注意 :  Pig和MapReduce无法读取或写入视图.

5

显示表格

显示表格列表.

6

显示分区

显示清单分区.

7

创建/删除索引

支持CREATE和DROP FUNCTION操作,但创建的函数仍必须在Pig中注册并放在CLASSPATH中以用于MapReduce.

8

DESCRIBE

支持.行为与Hive相同.描述结构.

上表中的一些命令将在后续章节中解释.