Hcatalog 简明教程

HCatalog - CLI

HCatalog 命令行界面 (CLI) 可以从命令 $HIVE_HOME/HCatalog/bin/hcat 中调用,其中 $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

Option

Example & Description

1

-g

hcat -g mygroup &#8230;&#8203; 要创建的表必须具有“mygroup”组。

2

-p

hcat -p rwxr-xr-x &#8230;&#8203; 要创建的表必须具有读、写和执行权限。

3

-f

hcat -f myscript.HCatalog &#8230;&#8203; myscript.HCatalog 是一个包含要执行的 DDL 命令的脚本文件。

4

-e

hcat -e 'create table mytable(a int);' &#8230;&#8203; 将以下字符串视为 DDL 命令并执行它。

5

-D

hcat -Dkey = value &#8230;&#8203; 将键值对作为 Java 系统属性传递给 HCatalog。

6

-

hcat Prints a usage message.

Note −

  1. -g-p 选项不是必需的。

  2. 一次,可以提供 -e-f 选项,但不是两者。

  3. 选项的顺序无关紧要;您可以按任何顺序指定选项。

Sr.No

DDL Command & Description

1

CREATE TABLE 使用 HCatalog 创建表。如果你使用 CLUSTERED BY 子句创建表,你将无法使用 Pig 或 MapReduce 向其中写入。

2

ALTER TABLE 支持,但 REBUILD 和 CONCATENATE 选项除外。它的行为与 Hive 中相同。

3

DROP TABLE 支持。与 Hive 相同的行为(删除完整的表和结构)。

4

CREATE/ALTER/DROP VIEW 支持。与 Hive 的行为相同。 Note − Pig 和 MapReduce 不能从视图中读取或向视图中写入数据。

5

SHOW TABLES 显示表列表。

6

SHOW PARTITIONS 显示分区列表。

7

Create/Drop Index CREATE 和 DROP FUNCTION 操作受支持,但创建的函数仍必须在 Pig 中注册并将其置于 MapReduce 的 CLASSPATH 中。

8

DESCRIBE 支持。与 Hive 相同的行为。描述结构。

上表中的一些命令在后续章节中进行了说明。