testbook

HiveServer2的CLI:Beeline

HiveServer2的CLI是Beeline,一个基于SQLLine CLI (http://sqlline.sourceforge.net/) 的JDBC客户端。SQLLine的用户手册对Beeline也适用。Beeline可以在嵌入模式和远程模式下工作。在嵌入模式下,Beeline运行一个嵌入的Hive(和Transwarp CLI类似);在远程模式下,Beeline通过Thrift连接到另外一个HiveServer2进程。配置完成HiveServer2后, 执行/usr/lib/hive/bin/beeline便可进入Beeline:

[$host]# /usr/lib/hive/bin/beeline
Beeline version 0.12.0-transwarp-tdh40 by Apache Hive
beeline>

Beeline命令行选项

前缀:beeline

选项描述
-u <database URL>要连接的JDBC URL
-n < username>连接使用的用户名
-p < password> 连接使用的密码
-d <driver class>要使用的driver class
-e <query>行内嵌入SQL语句。SQL语句要放在单引号或者双引号内。
-f<file path>运行脚本。file path是脚本文件目录
--hiveconf <property> = value设置指定配置属性的值。
--hivevar <name>= <value>设置Hive变量名和值。这是一个专用于Hive的设置,变量可以在session层级设置,然后在SQL指令中引用。
--color=true/false控制显示时是否用彩色。默认值为false。
--showHeader=true/false控制是否在SQL结果里显示列名。默认值为true。
--headerInterval=<number of rows>当outputformat是表时,控制每多少行重复显示列名。默认值为100。
--fastConnect=<true/false>控制连接时,是否跳过建表名和列名清单来提供tab补齐SQL语句。true为跳过,即不建清单;faulse为建清单。默认值为true。
--autoCommit=<true/false>打开/关闭 自动 transaction commit。默认值为false。
--verbose=<true/false>控制是否显示完整的报错消息和debug信息。true为显示,false为不显示。默认值为false。
--showWarnings=<true/false>控制发出SQL指令后是否显示告警。true为显示,false为不显示。默认值为false。
--showNestedErrs=<true/false>控制是否显示嵌套的错误。true为显示,false为不显示。默认值为true。
--numberFormat=<pattern>用DecimalFormat来使数字显示格式化
--force=<true/false>控制在报错后是否继续运行脚本。true为继续运行,false为停止运行。默认值为false。
--maxWidth=MAXWIDTHThe maximum width to display before truncating data, in characters, when outputformat is table. Default is to query the terminal for current width, then fall back to 80.
--maxColumnWidth=<max column width>输出表的最大列宽(以字符个数衡量)。默认值为15。
--silent=<true/false>控制是否减少显示的消息。true为减少,false为不减少。默认值为false。
--autosave=<true/false>控制是否自动保存使用偏好。true为保存,false为不保存。默认值为false。
--outputformat=<table/vertical/csv/tsv/dsv/csv2/tsv2>控制显示的结果的格式。默认值为table。
--truncateTable=<true/false>控制是否在输出表超过命令行窗口长度时截断表。true为截断,false为不截断。(hive14)
--delimiterForDSV= <DELIMITER>指定分开输出值的分隔符。默认值为“|”符号。
--isolation=<LEVEL>将transaction的分离级别设置为TRANSACTION_READ_COMMITTED或者TRANSACTION_SERIALIZABLE。
--nullemptystring=<true/false>控制是否将null作为空字符串输出(true),或者沿用当前的输出行为(false)将null输出为'NULL'。
--incremental=<true/false>Print output incrementally.
--help显示使用方式

举例

JDBC连接到Inceptor Server

执行

beeline -u jdbc:hive2://inceptor_server:10000 -n user_name -p password
或者:

/usr/lib/hive/bin/beeline
beeline> !connect jdbc:hive2://inceptor_server:10000
就可以通过JDBC连接到Inceptor Server,以某个用户的身份进行交互式查询。Inceptor交互式shell中的命令都可以使用。