http://blog.csdn.net/huanggang028/article/details/44591663
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