选项 |
描述 |
---|---|
-u |
用于JDBC URL连接。 用例: |
-r |
重新连接到最近使用过的URL(如果用户有预先使过的用的,用!connect生成URL,用 用例: Version: 2.1.0 (HIVE-13670) |
-n |
连接时使用的用户名。 用例: |
-p |
连接时使用的密码。 用例: 可选的密码模式: 从Hive 2.2.0开始参数-p选项是可选的。 用例 : beeline -p [valid_password] 如果密码不是在-p之后提供的,Beeline将在初始化连接时提示输入密码。当密码提供后Beeline会用它来初始化连接而不提示。 |
-d |
配置使用的驱动类 用例: |
-e |
应该执行的查询。查询语句两端用单引号和双引号。这个选项被使用多次。 用例: 支持运行复杂的SQL语句,在一个语句中通过使用分号分隔。 (HIVE-9877) |
-f |
需要被执行的脚本文件。 用例: Version: 0.12.0 (HIVE-4268) |
-i (or) --init |
初始化需要的初始文件。 用例: 单个文件: Version: 0.14.0 (HIVE-6561) 多个文件: Version: 2.1.0 (HIVE-11336) |
-w (or) --password-file |
从文件中读取密码。 Version: 1.2.0 (HIVE-7175) |
-a (or) --authType |
jdbc的认证类型是一个身份认证属性。 Version: 0.13.0 (HIVE-5155) |
--property-file |
读取配置属性的文件 用例: Version: 2.2.0 (HIVE-13964) |
--hiveconf property=value | 为给定的配置属性赋值。 在hive.conf.restricted.list列表中的属性不能通过hiveconf的方式重置。 (see Restricted List and Whitelist). 用例: Version: 0.13.0 (HIVE-6173) |
--hivevar name=value | Hive的变量名和变量值。这是一个Hive指定的设置,在这变量能够在会话级别被设置和被Hive命令和查询引用。 用例: |
--color=[true/false] | 控制颜色是否被用来展示。默认是false 用例: (不支持分隔的值输出方式。See HIVE-9770) |
--showHeader=[true/false] | 展示列名是否在查询结果中。默认是true。 用例: |
--headerInterval=ROWS | 当输出为表格时,重新显示列头时他们之间的间隔,用行数计算。默认值为100 用例: (不支持分隔的值输出方式。See HIVE-9770) |
--fastConnect=[true/false] | 连接时,跳过为HiveQL语法的tab键自动补全功能而构建所有表和列的清单,默认为true不构建该列表。 用例: |
--autoCommit=[true/false] | 允许或者禁止自动事务执行。默认是false 用例: |
--verbose=[true/false] | 展示冗长的报错信息和调试信息(true)或者不展示(false),默认是false 用例: |
--showWarnings=[true/false] | Default is false.连接时,在执行任意HiveQL命令后展示警告信息。默认是false。 用例: |
--showDbInPrompt=[true/false] | 在提示符里面展示当前数据库名字。默认是false。 用例: Version: 2.2.0 (HIVE-14123) |
--showNestedErrs=[true/false] | 展示内部错误,默认是false。 用例: |
--numberFormat=[pattern] | 用一个小数格式的模板来格式化数字。 用例: |
--force=[true/false] | 出错后继续运行脚本(true),或者不运行(false)。默认是false。 用例: |
--maxWidth=MAXWIDTH | 当输出格式是表格时,在截断数据前展示的最大宽度。默认是查询时的终端的当前宽度,然后回到80。 用例: |
--maxColumnWidth=MAXCOLWIDTH | 当输出是表格时,最大列宽,Hive 2.2.0以后默认是50,之前的版本是15。 用例: |
--silent=[true/false] | 是(true)否(false)减少展示的信息量。它也会停止展示HiveServer2(Hive 0.14及之后的版本)的查询和命令(Hive 1.2.0及之后的版本)日志信息,默认是false。 用例: |
--autosave=[true/false] | 自动保存参数选择(true)或者不保存(false)。默认是false。 用例: |
--outputformat=[table/vertical/csv/tsv/dsv/csv2/tsv2] | 结果展示的模式。默认是表格。查阅下方的Separated-Value Output Formats获取更多信息和推荐选项。 用例: 版本号: dsv/csv2/tsv2 added in 0.14.0 (HIVE-8615) |
--truncateTable=[true/false] | 如果是true,那么当表格超出终端显示宽度时,截断表格的列在终端上展示。 版本号: 0.14.0 (HIVE-6928) |
--delimiterForDSV= DELIMITER | 用于输出格式中划分值的界定符。默认是‘|’ 版本号: 0.14.0 (HIVE-7390) |
--isolation=LEVEL | 设置事务隔离级别为TRANSACTION_READ_COMMITTED或者TRANSACTION_SERIALIZABLE. 用例: |
--nullemptystring=[true/false] | 使用历史的打印空字符null的形式(true)还是使用当前打印空值的方式(false),默认是false。 用例: Version: 0.13.0 (HIVE-4485) |
--incremental=[true/false] |
从Hive 2.3版本往后默认是true,在它之前是默认为false。当设置为false时,为了最佳的展示列宽,完整的结果集会在展示之前被收集然后缓存起来。当设置为true时,结果集一旦被抓取到就会立即展示, 为了在展示列的填充额外消耗更少的延迟和内存。当你在客户端遭遇一个内存溢出时,推荐设置 |
--incrementalBufferRows=NUMROWS | 当打印行到标准输出时,保存在缓存中的行数,默认是1000。只有当 用例: Version: 2.3.0 (HIVE-14170) |
--maxHistoryRows=NUMROWS | 存储Beeline 历史记录的最大行数。 Version: 2.3.0 (HIVE-15166) |
--delimiter=; | 设置Beeline的查询语句分隔符。允许用多个字符的分隔符,但是引号,斜杠和--是不允许的,默认是分号; 用例: Version: 3.0.0 (HIVE-10865) |
--convertBinaryArrayToString=[true/false] | 展示二进制列数据为字符串或者位矩阵。
用例:
Version: 3.0.0 (HIVE-14786) |
--help |
展示一个帮助信息。 用例: |
beeline connect有几种方式,见hive-site.xml,缺省为NONE。
<property>
<name>hive.server2.authenticationname>
<value>NONEvalue>
<description>
Expects one of [nosasl, none, ldap, kerberos, pam, custom].
Client authentication types.
NONE: no authentication check
LDAP: LDAP/AD based authentication
KERBEROS: Kerberos/GSSAPI authentication
CUSTOM: Custom authentication provider
(Use with property hive.server2.custom.authentication.class)
PAM: Pluggable authentication module
NOSASL: Raw transport
description>
property>
此时连接方式为
lcc@lcc ~$ beeline
Beeline version 1.2.1.spark2 by Apache Hive
beeline> !connect jdbc:hive2://localhost:10014/default
Connecting to jdbc:hive2://localhost:10014/default
Enter username for jdbc:hive2://localhost:10014/default:
Enter password for jdbc:hive2://localhost:10014/default:
。。。。
Connected to: Apache Hive (version 2.1.0)
Driver: Hive JDBC (version 1.2.1.spark2)
Transaction isolation: TRANSACTION_REPEATABLE_READ
0: jdbc:hive2://localhost:10014/default> show databases;
+----------------+--+
| database_name |
+----------------+--+
| default |
| lccdb |
+----------------+--+
设置相应用户名和密码
hive.server2.thrift.client.user
data1
Username to use against thrift client
hive.server2.thrift.client.password
123456
Password to use against thrift client
可以使用密码连接
3: jdbc:hive2://cdh-server2:10000/default> !connect jdbc:hive2://cdh-server2:10000/default
Connecting to jdbc:hive2://cdh-server2:10000/default
Enter username for jdbc:hive2://cdh-server2:10000/default: data1
Enter password for jdbc:hive2://cdh-server2:10000/default: *****
Connected to: Apache Hive (version 1.1.0-cdh5.14.4)
Driver: Hive JDBC (version 1.1.0-cdh5.14.4)
Transaction isolation: TRANSACTION_REPEATABLE_READ
注意这里设置的用户要求对inode="/tmp/hive" 有执行权限,否则会出现下列问题:
Connecting to jdbc:hive2://localhost:10000/default
Enter username for jdbc:hive2://localhost:10000/default: hive
Enter password for jdbc:hive2://localhost:10000/default: **
Error: Failed to open new session: java.lang.RuntimeException: org.apache.hadoop.security.AccessControlException: Permission denied: user=hive, access=EXECUTE, inode="/tmp/hive":root:supergroup:drwxrwx---
at org.apache.hadoop.hdfs.server.namenode.FSPermissionChecker.check(FSPermissionChecker.java:319)
at org.apache.hadoop.hdfs.server.namenode.FSPermissionChecker.checkTraverse(FSPermissionChecker.java:259)
at org.apache.hadoop.hdfs.server.namenode.FSPermissionChecker.checkPermission(FSPermissionChecker.java:205)
at org.apache.hadoop.hdfs.server.namenode.FSPermissionChecker.checkPermission(FSPermissionChecker.java:190)
at org.apache.hadoop.hdfs.server.namenode.FSDirectory.checkPermission(FSDirectory.java:1698)
at org.apache.hadoop.hdfs.server.namenode.FSDirStatAndListingOp.getFileInfo(FSDirStatAndListingOp.java:108)
at org.apache.hadoop.hdfs.server.namenode.FSNamesystem.getFileInfo(FSNamesystem.java:3817)
at org.apache.hadoop.hdfs.server.namenode.NameNodeRpcServer.getFileInfo(NameNodeRpcServer.java:1005)
at org.apache.hadoop.hdfs.protocolPB.ClientNamenodeProtocolServerSideTranslatorPB.getFileInfo(ClientNamenodeProtocolServerSideTranslatorPB.java:843)
[root@cdh-server2 hive]# beeline -u "jdbc:hive2://10.28.34.11:10000" -n hive -p hive
Java HotSpot(TM) 64-Bit Server VM warning: ignoring option MaxPermSize=512M; support was removed in 8.0
Java HotSpot(TM) 64-Bit Server VM warning: ignoring option MaxPermSize=512M; support was removed in 8.0
scan complete in 2ms
Connecting to jdbc:hive2://10.28.34.11:10000
Connected to: Apache Hive (version 1.1.0-cdh5.14.4)
Driver: Hive JDBC (version 1.1.0-cdh5.14.4)
Transaction isolation: TRANSACTION_REPEATABLE_READ
Beeline version 1.1.0-cdh5.14.4 by Apache Hive
0: jdbc:hive2://10.28.34.11:10000>