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 支持这些命令行选项 -

先生编号 选项 示例和描述
1 -G

hcat -g 我的组 ...

要创建的表必须具有组“mygroup”。

2 -p

hcat -p rwxr-xr-x ...

创建的表必须具有读、写、执行权限。

3 -F

hcat -f myscript.HCatalog ...

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

4 -e

hcat -e '创建表 mytable(a int);' ...

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

5 -D

hcat -Dkey = 值...

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

6 -

打印使用信息。

注意 -

  • -g和-p选项不是强制性的

  • 可以同时提供-e-f选项,但不能同时提供两者。

  • 选项的顺序并不重要;您可以按任意顺序指定选项。

先生编号 DDL命令及说明
1

创建表

使用 HCatalog 创建表。如果您使用 CLUSTERED BY 子句创建表,您将无法使用 Pig 或 MapReduce 对其进行写入。

2

修改表

除 REBUILD 和 CONCATENATE 选项外均受支持。其Behave与 Hive 中的Behave相同。

3

掉落表

支持的。Behave与 Hive 相同(删除完整的表和结构)。

4

创建/更改/删除视图

支持的。Behave与 Hive 相同。

注意- Pig 和 MapReduce 无法读取或写入视图。

5

显示表格

显示表的列表。

6

显示分区

显示分区列表。

7

创建/删除索引

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

8

描述

支持的。Behave与 Hive 相同。描述结构。

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