Beeline – 命令行参数详解

Beeline Shell 在嵌入式模式和远程模式下均可工作。在嵌入式模式下,它运行嵌入式 Hive(类似于Hive CLI),而远程模式用于通过 Thrift 连接到单独的 HiveServer2 进程。从Hive 0.14开始,当 Beeline 与 HiveServer2 一起使用时,它还会打印 HiveServer2 的日志消息,以查询执行到 STDERR 的查询。建议将远程 HiveServer2 模式用于生产环境,因为它更安全并且不需要为用户授予直接 HDFS /元存储访问权限。

Warning

在远程模式下,HiveServer2 仅接受有效的 Thrift 调用-即使在 HTTP 模式下,消息正文也包含 Thrift 有效负载。

Beeline Example

% bin/beeline 
Hive version 0.11.0-SNAPSHOT by Apache
beeline> !connect jdbc:hive2://localhost:10000 scott tiger
!connect jdbc:hive2://localhost:10000 scott tiger 
Connecting to jdbc:hive2://localhost:10000
Connected to: Hive (version 0.10.0)
Driver: Hive (version 0.10.0-SNAPSHOT)
Transaction isolation: TRANSACTION_REPEATABLE_READ
0: jdbc:hive2://localhost:10000> show tables;
show tables;
+-------------------+
|     tab_name      |
+-------------------+
| primitives        |
| src               |
| src1              |
| src_json          |
| src_sequencefile  |
| src_thrift        |
| srcbucket         |
| srcbucket2        |
| srcpart           |
+-------------------+
9 rows selected (1.079 seconds)

您也可以在命令行上指定连接参数。这意味着您可以从 UNIX Shell 历史 Logging 找到带有连接字符串的命令。

% beeline -u jdbc:hive2://localhost:10000/default -n scott -w password_file
Hive version 0.11.0-SNAPSHOT by Apache

Connecting to jdbc:hive2://localhost:10000/default

Beeline with NoSASL connection

如果要通过 NOSASL 模式进行连接,则必须明确指定身份验证模式:

% bin/beeline beeline> !connectjdbc:hive2://<host>:<port>/<db>;auth=noSasl hiveuser pass

Beeline Commands

Command Description
!<SQLLine command> 可在http://sqlline.sourceforge.net/获得的 SQLLine 命令列表。


示例:!quit退出 BeelineClient 端。
|!delimiter |设置用 Beeline 编写的查询的分隔符。允许使用多字符定界符,但不允许使用引号,斜杠和-。默认为;
用法:!delimiter $$
版本:3.0.0(HIVE-10865)|

Beeline Properties

Property Description
fetchsize 使用标准 JDBC,您可以指定在每次查询数据库往返时获取的行数,该数量称为获取大小。

在 Beeline 中设置获取大小会覆盖 JDBC 驱动程序的默认获取大小,并影响在当前会话中执行的后续语句。
值-1 指示 Beeline 使用 JDBC 驱动程序的默认访存大小(默认)
每个语句的值都将零或更大的值传递给 JDBC 驱动程序
任何其他负值都将引发异常
用法:!set fetchsize 200
版本:4.0.0(HIVE-22853)

Beeline Hive 命令

使用 Hive JDBC 驱动程序时,可以从 Beeline 运行 Hive 特定命令(与Hive CLI 命令相同)。

使用“ ;”(分号)终止命令。脚本中的 Comments 可以使用“ --”前缀指定。

Command Description
reset 将配置重置为默认值。
reset <key> 将特定配置变量(键)的值重置为默认值。


注意: 如果您拼写错误的变量名,则 Beeline 将不会显示错误。
| set<key> =<value> |设置特定配置变量(键)的值。
注意: 如果您拼写错误的变量名,则 Beeline 将不会显示错误。
| set |打印由用户或 Hive 覆盖的配置变量列表。
| set -v |打印所有 Hadoop 和 Hive 配置变量。
|添加文件[S]<filepath><filepath> *
添加 JAR [S]<filepath><filepath> *
添加 ARCHIVE [S]<filepath><filepath> * |将一个或多个文件,jar 或 Files 添加到分布式缓存中的资源列表中。有关更多信息,请参见Hive Resources
|添加文件[S]<ivyurl><ivyurl> *
添加 JAR [S]<ivyurl><ivyurl> *
添加 ARCHIVE [S]<ivyurl><ivyurl> * |从Hive 1.2.0开始,使用 ivy:// group:module:version 形式的Ivy URL 向分布式缓存中的资源列表添加一个或多个文件,jar 或存档。请求参数。有关更多信息,请参见Hive Resources
|list FILE[S]
list JAR[S]
list ARCHIVE [S] |列出已经添加到分布式缓存的资源。有关更多信息,请参见Hive Resources。 (从 Hive 0.14.0 开始:HIVE-7592)。
|列出文件[S]<filepath> *
列出 JAR [S]<filepath> *
list ARCHIVE [S]<filepath> * |检查给定资源是否已经添加到分布式缓存中。有关更多信息,请参见Hive Resources
|删除文件[S]<filepath> *
删除 JAR [S]<filepath> *
|删除 ARCHIVE [S]<filepath> * |从分布式缓存中删除资源。
|删除文件[S]<ivyurl><ivyurl> *
删除 JAR [S]<ivyurl><ivyurl> *
delete ARCHIVE [S]<ivyurl><ivyurl> * |从Hive 1.2.0开始,从分布式缓存中删除使用\ 添加的资源。有关更多信息,请参见Hive Resources
| reload |从Hive 0.14.0开始,使 HiveServer2 知道配置参数hive.reloadable.aux.jars.path指定的路径中的任何 jar 变化(无需重新启动 HiveServer2)。更改可以是添加,删除或更新 jar 文件。
| dfs<dfs command> |执行 dfs 命令。
|<query string> |执行 Hive 查询并将结果打印到标准输出中。

Beeline 命令选项

Beeline CLI 支持以下命令行选项:

Option Description
-u *<database URL> * 要连接的 JDBC URL。如果需要,参数值中的特殊字符应使用 URL 编码进行编码。

用法:beeline -u * db_URL *
-r Reconnect代表上次使用的 URL(如果用户以前使用!connect代表 URL,而!save代表 beeline.properties 文件)。
用法:beeline -r
版本:2.1.0(HIVE-13670)
-n *<username> * 连接的用户名。
用法:beeline -n 有效用户
-p *<password> * 连接密码。
用法:beeline -p 有效密码
可选密码模式:
从 Hive 2.2.0(HIVE-13589)开始,-p 选项的参数是可选的。
用法:beeline -p [valid_password]
如果未提供密码,则-p Beeline 将在启动连接时提示您 Importing 密码。当提供密码时,Beeline 使用它来启动连接而不提示。
-d *<driver class> * 要使用的驱动程序类。
用法:beeline -d * driver_class *
-e *<query> * 应执行的查询。双引号或单引号引起来的查询字符串。可以多次指定此选项。
用法:beeline -e " * query_string
支持在单个
query_string *中运行多个用分号分隔的 SQL 语句:1.2.0(HIVE-9877)
错误修复(空指针异常):0.13.0(HIVE-5765)
错误修复(不支持--headerInterval):0.14.0(HIVE-7647)
错误修复(在后台运行-e):1.3.0 和 2.0.0(HIVE-6758); workaround available适用于早期版本
-f *<file> * 应执行的脚本文件。
用法:beeline -f 文件路径
版本:0.12.0(HIVE-4268)
注意:如果脚本包含选项卡,则在 0.12.0 版中查询编译会失败。此错误已在版本 0.13.0(HIVE-6359)中修复。
错误修复(在后台运行-f):1.3.0 和 2.0.0(HIVE-6758); workaround available适用于早期版本
-i (或) -init <file or files> 用于初始化的初始化文件
用法:beeline -i /tmp/initfile
Single file:
版本:0.14.0(HIVE-6561)
Multiple files:
版本:2.1.0(HIVE-11336)
-w (或) -password-file <password file> 从中读取密码的密码文件。
版本:1.2.0(HIVE-7175)
-a (或) -authType <auth type> 作为 auth 属性传递给 jdbc 的身份验证类型
版本:0.13.0(HIVE-5155)
-属性文件 <file> 用于从中读取配置属性的文件
用法:beeline --property-file /tmp/a
版本:2.2.0(HIVE-13964)
-hiveconf *属性 = value * 为给定的配置属性使用* value *。 hive.conf.restricted.list 中列出的属性无法使用 hiveconf 重置(请参阅限制名单和白名单)。
用法:beeline --hiveconf * prop1 * = * value1 *
版本:0.13.0(HIVE-6173)
-hivevar *名称 = value * 配置单元变量名称和值。这是特定于 Hive 的设置,其中可以在会话级别设置变量,并在 Hive 命令或查询中引用。
用法:beeline --hivevar * var1 * = * value1 *
-color = [true/false] 控制是否使用颜色进行显示。默认为 false。
用法:beeline --color=true
(不支持分隔值输出格式.请参见HIVE-9770)
-showHeader = [true/false] 在查询结果中显示列名称(是)还是不(false)。默认为 true。
用法:beeline --showHeader=false
-headerInterval = ROWS 当表为 outputformat 时,重新显示列标题的间隔(以行数为单位)。默认值为 100.
用法:beeline --headerInterval=50
(不支持分隔值输出格式.请参见HIVE-9770)
-fastConnect = [true/false] 连接时,
  • 2
    点赞
  • 24
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值