Hive官方使用手册——HCatalog CLI

本文为自己翻译的译文,原文地址:https://cwiki.apache.org/confluence/display/Hive/HCatalog+CLI


Hive官方使用手册——HCatalog CLI

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

参数  

用例

描述

-g

hcat -g mygroup ...

告诉HCatalog需要创建的表必须有group“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 -Dkey=value ...

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

 

hcat

打印一个用例信息

请注意以下:

    -g-p选项不是强制性的。

    只能提供一个-e-f选项,而不是两个。

    参数选项的顺序不是固定的;您可以按任何顺序指定选项。

如果没有提供选项,则打印一条使用消息:

Usage:  hcat  { -e "" | -f  }  [-g ] [-p ] [-D=]

所有者的权限

当使用HCatalog CLI时,您不能指定一个权限字符串而不赋予所有者读取的权限,比如-wxrwxr-x,因为字符串以“-”开头。如果需要这样的权限设置,则可以使用八进制数,在本例中相应的值为375。另外,其它格式的权限字符串(例如 r-x-----rrr-)都可以正常工作。

与Hive CLI的差异

许多hcat命令可以作为hive命令发出,包括所有HCatalog DDL命令。Hive CLI包含一些在HCatalog CLI中不可用的命令。注意这些差异: 

  • "hcat -g" 和 "hcat -p" 对于表组和权限设置,仅在HCatalog CLI中可用。
  • hcat使用 -p 标志来获得权限,但hive使用它来指定端口号。
  • hcat使用 -D标志且没有空格来定义key=value,但是hive使用-d --define 和一个空格(同样是 --hivevar)。
  • hcat打印帮助信息没有任何标志的,但是hive使用-H标志或--help

Hive CLI文档参见这里。

HCatalog DDL

HCatalog支持所有Hive数据定义语言,除了那些需要运行MapReduce作业的操作。对于支持的命令,下面将讲述其所有的差异。

HCatalog不支持以下Hive DDL和其他HiveQL命令:

  • ALTER INDEX ... REBUILD
  • CREATE TABLE ... AS SELECT
  • ALTER TABLE ... CONCATENATE
  • ALTER TABLE ARCHIVE/UNARCHIVE PARTITION
  • ANALYZE TABLE ... COMPUTE STATISTICS
  • IMPORT FROM ...
  • EXPORT TABLE

For information about using WebHCat for DDL commands, see URL Format and WebHCat Reference: DDL Resources.

Create/Drop/Alter Table

CREATE TABLE

如果您创建了一个带有CLUSTERED BY语法的表,那么您将无法用Pig或MapReduce来编写它。这是因为他们不知道如何划分表,所以试图写入它会导致数据损坏。

CREATE TABLE AS SELECT

不支持。抛出一个异常,该消息“不支持操作”。

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的类路径中。

"dfs" Command and "set" Command

支持,和Hive一样。

Other Commands

上面没有列出的任何命令都不受支持,并抛出一个“不支持的操作”的异常。

CLI Errors

Authentication

如果一个失败导致了一个消息,比如“2010-11-03 16:17:28,225 WARN hive.metastore ... - Unable to connect metastore with URI thrift://.../tmp//hive.log中,请确认运行“kinit @FOO.COM”获取一个Kerberos票据,并能够对HCatalog服务器进行身份验证。

Error Log

如果在使用HCatalog CLI时发生了其他错误,则会将更详细的消息写入/tmp//hive.log


导航链接

上一篇: Reader and Writer Interfaces
下一篇: Storage Formats

目录:

Hive command line interface: Hive CLI
Hive DDL commands: Hive Data Definition Language
WebHCat DDL resources: WebHCat Reference: DDL

General: HCatalog Manual – WebHCat Manual – Hive Wiki Home – Hive Project Site
Old version of this document (HCatalog 0.5.0): Command Line Interface

你可能感兴趣的:(Hive学习,Hive官方使用手册文档翻译)