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 …​ 要创建的表必须具有“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 …​ 将键值对作为 Java 系统属性传递给 HCatalog。 |
6 |
- |
hcat Prints a usage message. |
Note −
-
-g 和 -p 选项不是必需的。
-
一次,可以提供 -e 或 -f 选项,但不是两者。
-
选项的顺序无关紧要;您可以按任何顺序指定选项。
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 相同的行为。描述结构。 |
上表中的一些命令在后续章节中进行了说明。