原文链接:https://blog.csdn.net/huanggang028/article/details/44591663
Hive Beeline的推出时 !quit
Hive Beeline使用
2015年03月24日 14:57:13 huanggang028 阅读数:66269更多
个人分类: hive
HiveServer2提供了一个新的命令行工具Beeline,它是基于SQLLine CLI的JDBC客户端。关于SQLLine的的知识,可以参考这个网站:http://sqlline.sourceforge.net/#manual
Beeline工作模式有两种,即本地嵌入模式和远程模式。嵌入模式情况下,它返回一个嵌入式的Hive(类似于Hive CLI)。而远程模式则是通过Thrift协议与某个单独的HiveServer2进程进行连接通信。
下面给一个简单的登录Beeline的使用实例:
-
% bin/beeline
-
Hive version 0.11.0-SNAPSHOT by Apache
-
beeline> !connect jdbc:hive2://localhost:10000/default
-
!connect jdbc:hive2://localhost:10000/default
-
Connecting to jdbc:hive2://localhost:10000/default
-
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)
我们项目在使用的过程中,因为整合了Hamza的权限控制, 使用的时候需要传入用户名和密码,(常用的方式有单次查询-e,也可以把命令写到一个文件中-f),远程连接到HiveServer2:
beeline -u "jdbc:hive2://hadoop1:10000/hamza_group_1" --hivevar hamza.usr="hamza_group" --hivevar hamza.passwd="hMyLXJ6uddQSy1WU" --color=true;
退出beeline命令行则是!quit, 很多命令都是前面需要加一个感叹号, 但对于登录了后的DDL,DML,则直接运行SQL语句即可,语句后带上一个分号,然后回车执行。
-
The Beeline CLI 支持以下命令行参数:
-
Option
-
Description
-
--autoCommit=[true/false]
-
Enable/disable automatic transaction commit. Default is false.
-
Usage: beeline --autoCommit=true
-
--autosave=[true/false]
-
Automatically save preferences (true) or do not autosave (false). Default is false.
-
Usage: beeline --autosave=true
-
--color=[true/false]
-
Control whether color is used for display. Default is false.
-
Usage: beeline --color=true
-
(Not supported for Separated-Value Output formats. See HIVE-9770)
-
--delimiterForDSV= DELIMITER
-
The delimiter for delimiter-separated values output format. Default is '|' character.
-
Version: 0.14.0 (HIVE-7390)
-
--fastConnect=[true/false]
-
When connecting, skip building a list of all tables and columns for tab-completion of
-
HiveQL statements (true) or build the list (false). Default is true.
-
Usage: beeline --fastConnect=false
-
--force=[true/false]
-
Continue running script even after errors (true) or do not continue (false). Default is false.
-
Usage: beeline--force=true
-
--headerInterval=ROWS
-
The interval for redisplaying column headers, in number of rows, when outputformat is table.
-
Default is 100.
-
Usage: beeline --headerInterval=50
-
(Not supported for Separated-Value Output formats. See HIVE-9770)
-
--help
-
Display a usage message.
-
Usage: beeline --help
-
--hiveconf property=value
-
Use value for the given configuration property. Properties that are listed in hive.conf.restricted.list cannot be reset with hiveconf (see Restricted List and Whitelist).
-
Usage: beeline --hiveconf prop1=value1
-
Version: 0.13.0 (HIVE-6173)
-
--hivevar name=value
-
Hive variable name and value. This is a Hive-specific setting in which variables can be set
-
at the session level and referenced in Hive commands or queries.
-
Usage: beeline --hivevar var1=value1
-
--incremental=[true/false]
-
Print output incrementally.
-
--isolation=LEVEL
-
Set the transaction isolation level to TRANSACTION_READ_COMMITTED
-
or TRANSACTION_SERIALIZABLE.
-
See the "Field Detail" section in the Java Connection documentation.
-
Usage: beeline --isolation=TRANSACTION_SERIALIZABLE
-
--maxColumnWidth=MAXCOLWIDTH
-
The maximum column width, in characters, when outputformat is table. Default is 15.
-
Usage: beeline --maxColumnWidth=25
-
--maxWidth=MAXWIDTH
-
The 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.
-
Usage: beeline --maxWidth=150
-
--nullemptystring=[true/false]
-
Use historic behavior of printing null as empty string (true) or use current behavior of printing
-
null as NULL (false). Default is false.
-
Usage: beeline --nullemptystring=false
-
Version: 0.13.0 (HIVE-4485)
-
--numberFormat=[pattern]
-
Format numbers using a DecimalFormat pattern.
-
Usage: beeline --numberFormat="#,###,##0.00"
-
--outputformat=[table/vertical/csv/tsv/dsv/csv2/tsv2]
-
Format mode for result display. Default is table. See Separated-Value Output Formats below for description of recommended sv options.
-
Usage: beeline --outputformat=tsv
-
Version: dsv/csv2/tsv2 added in 0.14.0 (HIVE-8615)
-
--showHeader=[true/false]
-
Show column names in query results (true) or not (false). Default is true.
-
Usage: beeline --showHeader=false
-
--showNestedErrs=[true/false]
-
Display nested errors. Default is false.
-
Usage: beeline --showNestedErrs=true
-
--showWarnings=[true/false]
-
Display warnings that are reported on the connection after issuing any HiveQL commands.
-
Default is false.
-
Usage: beeline --showWarnings=true
-
--silent=[true/false]
-
Reduce the amount of informational messages displayed (true) or not (false). It also stops displaying the log messages for the query from HiveServer2 (Hive 0.14 and later). Default is false.
-
Usage: beeline --silent=true
-
--truncateTable=[true/false]
-
If true, truncates table column in the console when it exceeds console length.
-
Version: 0.14.0 (HIVE-6928)
-
--verbose=[true/false]
-
Show verbose error messages and debug information (true) or do not show (false).
-
Default is false.
-
Usage: beeline --verbose=true
-
-d <driver class>
-
The driver class to use.
-
Usage: beeline -d driver_class
-
-e <query>
-
Query that should be executed. Double or single quotes enclose the query string. This option can be specified multiple times.
-
Usage: beeline -e "query_string"
-
Icon
-
Only a single command per -e option is supported. You can't provide multiple semicolon separated commands. Use the -e option multiple times if you want to achieve this.
-
Bug fix (null pointer exception): 0.13.0 (HIVE-5765)
-
Bug to be fixed (running -e in background): workaround available (HIVE-6758)
-
Bug fix (--headerInterval not honored): 0.14.0 (HIVE-7647)
-
-f <file>
-
Script file that should be executed.
-
Usage: beeline -f filepath
-
Version: 0.12.0 (HIVE-4268)
-
Note: If the script contains tabs, query compilation fails in version 0.12.0. This bug is fixed in version 0.13.0 (HIVE-6359).
-
Bug to be fixed (running -f in background): workaround available (HIVE-6758)
-
-n <username>
-
The username to connect as.
-
Usage: beeline -n valid_user
-
-p <password>
-
The password to connect as.
-
Usage: beeline -p valid_password
-
-u <database URL>
-
The JDBC URL to connect to.
-
Usage: beeline -u db_URL