On this page
命令行界面
Set Up
HCatalog 命令行界面(CLI)可以调用为HIVE_HOME=
* hive_home hcat_home * /bin/hcat
,其中* hive_home 是 Hive 的安装目录,而 hcat_home *是 HCatalog 的安装目录。
如果您使用 BigTop 的 rpm 或 deb,则可以执行/usr/bin/hcat
来调用 CLI。
HCatalog CLI
HCatalog CLI 支持以下命令行选项:
Option | Usage | Description |
---|---|---|
-g | hcat -g mygroup ... |
告诉 HCatalog,需要创建的表必须具有组“ mygroup”。 |
-p | hcat -p rwxr-xr-x ... |
告诉 HCatalog,需要创建的表必须具有权限“ rwxr-xr-x”。 |
-f | hcat -f myscript.hcatalog ... |
告诉 HCatalog myscript.hcatalog 是一个包含要执行的 DDL 命令的文件。 |
-e | hcat -e 'create table mytable(a int);' ... |
告诉 HCatalog 将以下字符串视为 DDL 命令并执行它。 |
-D | hcat -D 键 = 值 ... |
将键值对作为 Java 系统属性传递给 HCatalog。 |
hcat |
打印使用情况消息。 |
请注意以下几点:
-g 和 -p 选项不是必需的。
只能提供一个 -e 或 -f 选项,但不能同时提供。
期权的 Sequences 无关紧要。您可以按任何 Sequences 指定选项。
如果未提供任何选项,则会显示用法消息:
Usage: hcat { -e "<query>" | -f <filepath> } [-g <group>] [-p <perms>] [-D<name>=<value>]
Owner Permissions
使用 HCatalog CLI 时,您不能为所有者指定没有读取权限的权限字符串,例如-wxrwxr-x
,因为该字符串以“ -
”开头。如果需要这样的权限设置,则可以使用八进制版本,在这种情况下为 375.此外,所有者拥有读取权限的任何其他类型的权限字符串(例如r-x-----
或r--r--r--
)都可以正常工作。
Hive CLI
许多hcat
命令可以作为hive
命令发布,包括所有 HCatalog DDL 命令。 Hive CLI 包括一些在 HCatalog CLI 中不可用的命令。请注意以下差异:
表组和权限设置的“
hcat -g
”和“hcat -p
”仅在 HCatalog CLI 中可用。hcat
使用-p
标志获得许可,但hive
使用它来指定端口号。hcat
使用-D
标志不带空格来定义键=值对,但hive
使用-d
或--define
带空格(也为--hivevar
)。
例如,“hcat -DA=B
”与“hive -d A=B
”。hcat
不带任何标志将打印帮助消息,而hive
使用-H
标志或--help
。
Hive CLI 已记录在here中。
HCatalog DDL
HCatalog 支持所有Hive 数据定义语言,但那些需要运行 MapReduce 作业的操作除外。对于受支持的命令,下面会记录所有差异。
HCatalog 不支持以下 Hive DDL 和其他 HiveQL 命令:
ALTER INDEX ...重建
创建表...作为选择
更改表...连接
ALTER TABLE 归档/未归档分区
分析表...计算统计
import 于 ...
EXPORT TABLE
有关将 WebHCat 用于 DDL 命令的信息,请参阅URL Format和WebHCat 参考:DDL 资源。
Create/Drop/Alter Table
CREATE TABLE
如果使用 CLUSTERED BY 子句创建表,则无法使用 Pig 或 MapReduce 对其进行写入。这是因为他们不了解如何对表进行分区,因此尝试对其进行写操作将导致数据损坏。
创建表作为选择
不支持。消息“不支持操作”引发异常。
DROP TABLE
支持的。行为与 Hive 相同。
ALTER TABLE
除 REBUILD 和 CONCATENATE 选项外,均受支持。行为与 Hive 相同。
Create/Drop/Alter View
注意: Pig 和 MapReduce 无法从视图读取或写入视图。
CREATE VIEW
支持的。行为与 Hive 相同。
DROP VIEW
支持的。行为与 Hive 相同。
ALTER VIEW
支持的。行为与 Hive 相同。
Show/Describe
SHOW TABLES
支持的。行为与 Hive 相同。
SHOW PARTITIONS
不支持。消息“不支持操作”引发异常。
SHOW FUNCTIONS
支持的。行为与 Hive 相同。
DESCRIBE
支持的。行为与 Hive 相同。
Create/Drop Index
支持 CREATE 和 DROP INDEX 操作。
注意: Pig 和 MapReduce 无法写入具有自动重建功能的表,因为 Pig 和 MapReduce 不知道如何重建索引。
Create/Drop Function
支持 CREATE 和 DROP FUNCTION 操作,但是创建的函数仍必须在 Pig 中注册并放置在 MapReduce 的 CLASSPATH 中。
{#HCatalogCLI-"dfs"Commandand"set"Command}“ dfs”命令和“ set”命令
支持的。行为与 Hive 相同。
Other Commands
不支持上面未列出的任何命令,并且会引发异常消息“不支持操作”。
CLI Errors
Authentication
如果失败导致在/tmp/
*<username> * /hive.log
中显示“ 2010-11-03 16:17:28,225 WARN hive.metastore ...-无法将元存储与 URI thrift:// ...”连接的消息,则确保已运行“ kinit
*<username> * @FOO.COM
”以获取 Kerberos 票证并能够向 HCatalog 服务器进行身份验证。
Error Log
如果在使用 HCatalog CLI 时发生其他错误,则会将更详细的消息写入/ tmp/*<username> * /hive.log。
Navigation Links
Previous: 读写器接口
Next: Storage Formats
Hive 命令行界面:Hive CLI
Hive DDL 命令:Hive 数据定义语言
WebHCat DDL 资源:WebHCat 参考:DDL
一般:HCatalog Manual – WebHCat Manual – Hive Wiki 主页 – Hive 项目 site