HiveServer2 入门使用
Beeline – 一个新的命令行Shell
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
Beeline Commands
Command
Description
!<SQLLine command>
List of SQLLine commands available at http://sqlline.sourceforge.net/.
Example: !quit
exits the Beeline client.
Beeline Command Options
The Beeline CLI supports these command line options:
Option
Description
-u <database URL>
The JDBC URL to connect to.
Usage: beeline -u
db_URL
-n <username>
The username to connect as.
Usage: beeline -n
valid_user
-p <password>
The password to connect as.
Usage: beeline -p
valid_password
-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"
Support to run multiple sql statements separated by semicolons in a single query_string: 1.2.0 (HIVE-9877)
Bug to be fixed (running -e
in background): workaround available (HIVE-6758)Bug fix (null pointer exception): 0.13.0 (HIVE-5765)
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)
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=valueHive 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
Control whether color is used for display. Default is false.
Usage: beeline --color=true
(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: beeline --showHeader=false
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)
--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
Enable/disable automatic transaction commit. Default is false.
Usage: beeline --autoCommit=true
Show verbose error messages and debug information (true) or do not show (false).
Default is false.
Usage: beeline --verbose=true
Display warnings that are reported on the connection after issuing any HiveQL commands.
Default is false.
Usage: beeline --showWarnings=true
Display nested errors. Default is false.
Usage: beeline --showNestedErrs=true
Format numbers using a DecimalFormat pattern.
Usage: beeline --numberFormat="#,###,##0.00"
Continue running script even after errors (true) or do not continue (false). Default is false.
Usage: beeline--force=true
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
The maximum column width, in characters, when outputformat is table. Default is 15.
Usage: beeline --maxColumnWidth=25
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: beeline --silent=true
Automatically save preferences (true) or do not autosave (false). Default is false.
Usage: beeline --autosave=true
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)
--truncateTable=[true/false]If true, truncates table column in the console when it exceeds console length.
Version: 0.14.0 (HIVE-6928)
--delimiterForDSV= DELIMITERThe delimiter for delimiter-separated values output format. Default is '|' character.
Version: 0.14.0 (HIVE-7390)
--isolation=LEVELSet 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
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)
--incremental=[true/false]
Print output incrementally.
--help
Display a usage message.
Usage: beeline --help
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:
1 2 | >hive-h<hostname>-p <port> |
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:
1 2 | >beeline-u <url>-n<username>-p <password> |
Query Execution
Executing queries in Beeline is very similar to that in Hive CLI. In Hive CLI:
1 2 | >hive-e<query inquotes> >hive-f<query file name> |
In Beeline:
1 2 | >beeline-e<queryinquotes> >beeline-f<queryfilename> |
Another important command is !quit
(or !q
), which allows you to exit interactive mode:
1 2 | 0:jdbc:hive2://> !quit Closing:org.apache.hive.jdbc.HiveConnection |
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