您的位置:首页 > 其它

HiveServer2 入门使用

2015-05-19 15:11 507 查看


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.IconIn remote mode HiveServer2 only accepts valid Thrift calls – even in HTTP mode, the message body contains Thrift payloads.Beeline 要与HiveServer2配合使用,支持嵌入模式和远程模式启动HiverServer2 , ./bin/hiveserver2启动Beelinewangyue@wangyue-um:~/opt/hive/hive-0.12.0-cdh5.1.0$ ./bin/beelinebeeline> !connect jdbc:hive2://localhost:10000默认 用户名就是登录账号 密码为空Beeline with NoSASL connectionIf you'd like to connect via NOSASL mode, you must specify the authentication mode explicitly:
% bin/beeline
beeline> !connect jdbc:hive2://<host>:<port>/<db>;auth=noSasl hiveuser pass org.apache.hive.jdbc.HiveDriver


Beeline Commands

CommandDescription
!<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:
OptionDescription
-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
filepathVersion: 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)
--hiveconf property=valueUse 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
=
value1Version: 0.13.0 (HIVE-6173)
--hivevar name=valueHive variable name and value. This is a Hive-specific setting in which variables can be setat the session level and referenced in Hive commands or queries.Usage:
beeline --hivevar
var1
=
value1
--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)
--showHeader=[true/false]Show column names in query results (true) or not (false). Default is true.Usage:
beeline --showHeader=false
--headerInterval=ROWSThe 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 ofHiveQL statements (true) or build the list (false). Default is true.Usage:
beeline --fastConnect=false
--autoCommit=[true/false]Enable/disable automatic transaction commit. Default is false.Usage:
beeline --autoCommit=true
--verbose=[true/false]Show verbose error messages and debug information (true) or do not show (false).Default is false.Usage:
beeline --verbose=true
--showWarnings=[true/false]Display warnings that are reported on the connection after issuing any HiveQL commands.Default is false.Usage:
beeline --showWarnings=true
--showNestedErrs=[true/false]Display nested errors. Default is false.Usage:
beeline --showNestedErrs=true
--numberFormat=[pattern]Format numbers using a DecimalFormat pattern.Usage:
beeline --numberFormat="#,###,##0.00"
--force=[true/false]Continue running script even after errors (true) or do not continue (false). Default is false.Usage:
beeline--force=true
--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.Usage:
beeline --maxWidth=150
--maxColumnWidth=MAXCOLWIDTHThe maximum column width, in characters, when outputformat is table. Default is 15.Usage:
beeline --maxColumnWidth=25
--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:
beeline --silent=true
--autosave=[true/false]Automatically save preferences (true) or do not autosave (false). Default is false.Usage:
beeline --autosave=true
--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)
--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_COMMITTEDor TRANSACTION_SERIALIZABLE.See the "Field Detail" section in the Java Connection documentation.Usage:
beeline --isolation=TRANSACTION_SERIALIZABLE
--nullemptystring=[true/false]Use historic behavior of printing null as empty string (true) or use current behavior of printingnull as NULL (false). Default is false.Usage:
beeline --nullemptystring=false
Version: 0.13.0 (HIVE-4485)
--incremental=[true/false]Print output incrementally.
--helpDisplay a usage message.Usage:
beeline --help

Server ConnectionHive 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:
12> 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:
12>beeline-u <url>-n<username>-p<password>
Query ExecutionExecuting queries in Beeline is very similar to that in Hive CLI. In Hive CLI:
12> hive -e <query in quotes>> hive -f <query file name>
In Beeline:
12>beeline-e<queryinquotes>>beeline-f<queryfilename>
Another important command is
!quit
(or
!q
), which allows you to exit interactive mode:
120:jdbc:hive2://>
!quitClosing: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/
尊重原创,未经允许不得转载:/article/1810572.html
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: