HiveServer2 supports a new command shell Beeline that works with HiveServer2. It's a JDBC client that is based on the SQLLine CLI (http://sqlline.sourceforge.net/). There’s detailed documentation of SQLLine which is applicable to Beeline as well.
The Beeline shell works in both embedded mode as well as remote mode. In the embedded mode, it runs an embedded Hive (similar to Hive CLI) whereas remote mode is for connecting to a separate HiveServer2 process over Thrift. Starting inHive 0.14, when Beeline is used with HiveServer2, it also prints the log messages from HiveServer2 for queries it executes to STDERR.
Beeline 要与HiveServer2配合使用,支持嵌入模式和远程模式
启动HiverServer2 , ./bin/hiveserver2
启动Beeline
wangyue@wangyue-um:~/opt/hive/hive-0.12.0-cdh5.1.0$ ./bin/beeline
beeline> !connect jdbc:hive2://localhost:10000
默认 用户名就是登录账号 密码为空
Beeline with NoSASL connection
Command |
Description |
---|---|
!<SQLLine command> |
List of SQLLine commands available at http://sqlline.sourceforge.net/. Example: |
The Beeline CLI supports these command line options:
Option |
Description |
---|---|
-u <database URL> |
The JDBC URL to connect to. Usage: |
-n <username> |
The username to connect as. Usage: |
-p <password> |
The password to connect as. Usage: |
-d <driver class> |
The driver class to use. Usage: |
-e <query> |
Query that should be executed. Double or single quotes enclose the query string. This option can be specified multiple times. Usage: Support to run multiple sql statements separated by semicolons in a single query_string: 1.2.0 (HIVE-9877) Bug fix (--headerInterval not honored): 0.14.0 (HIVE-7647) |
-f <file> | Script file that should be executed. Usage: Version: 0.12.0 (HIVE-4268) Bug to be fixed (running |
--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: 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 Usage: |
--color=[true/false] | Control whether color is used for display. Default is false. Usage: (Not supported for Separated-Value Output formats. See HIVE-9770) |
--showHeader=[true/false] | Show column names in query results (true) or not (false). Default is true. Usage: |
--headerInterval=ROWS | The interval for redisplaying column headers, in number of rows, when outputformat is table. Usage: (Not supported for Separated-Value Output formats. See HIVE-9770) |
--fastConnect=[true/false] | When connecting, skip building a list of all tables and columns for tab-completion of Usage: |
--autoCommit=[true/false] | Enable/disable automatic transaction commit. Default is false. Usage: |
--verbose=[true/false] | Show verbose error messages and debug information (true) or do not show (false). Usage: |
--showWarnings=[true/false] | Display warnings that are reported on the connection after issuing any HiveQL commands. Usage: |
--showNestedErrs=[true/false] | Display nested errors. Default is false. Usage: |
--numberFormat=[pattern] | Format numbers using a DecimalFormat pattern. Usage: |
--force=[true/false] | Continue running script even after errors (true) or do not continue (false). Default is false. Usage: |
--maxWidth=MAXWIDTH | The maximum width to display before truncating data, in characters, when outputformat is table. Usage: |
--maxColumnWidth=MAXCOLWIDTH | The maximum column width, in characters, when outputformat is table. Default is 15. Usage: |
--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) and the HiveQL commands (Hive 1.2.0 and later). Default is false. Usage: |
--autosave=[true/false] | Automatically save preferences (true) or do not autosave (false). Default is false. Usage: |
--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: Version: dsv/csv2/tsv2 added in 0.14.0 (HIVE-8615) |
--truncateTable=[true/false] | If true, truncates table column in the console when it exceeds console length. Version: 0.14.0 (HIVE-6928) |
--delimiterForDSV= DELIMITER | The delimiter for delimiter-separated values output format. Default is '|' character. Version: 0.14.0 (HIVE-7390) |
--isolation=LEVEL | Set the transaction isolation level to TRANSACTION_READ_COMMITTED Usage: |
--nullemptystring=[true/false] | Use historic behavior of printing null as empty string (true) or use current behavior of printing Usage: Version: 0.13.0 (HIVE-4485) |
--incremental=[true/false] |
Print output incrementally. |
--help |
Display a usage message. Usage:
|
Server Connection
Hive CLI connects to a remote HiveServer1 instance using the Thrift protocol. To connect to a server, you specify the host name and optionally the port number of the remote server:
In contrast, Beeline connects to a remote HiveServer2 instance using JDBC. Thus, the connection parameter is a JDBC URL that’s common in JDBC-based clients:
Query Execution
Executing queries in Beeline is very similar to that in Hive CLI. In Hive CLI:
In Beeline:
Another important command is !quit
(or !q
), which allows you to exit interactive mode:
https://cwiki.apache.org/confluence/display/Hive/HiveServer2+Clients
http://blog.cloudera.com/blog/2014/02/migrating-from-hive-cli-to-beeline-a-primer/
尊重原创,未经允许不得转载:http://blog.csdn.net/stark_summer/article/details/45844403