Beeline–命令⾏参数详解
Beeline Shell 在嵌⼊式模式和远程模式下均可⼯作。在嵌⼊式模式下,它运⾏嵌⼊式 Hive(类似于),⽽远程模式⽤于通过 Thrift 连接到单独的 HiveServer2 进程。从开始,当 Beeline 与 HiveServer2 ⼀起使⽤时,它还会打印 HiveServer2 的⽇志消息,以查询执⾏到STDERR 的查询。建议将远程 HiveServer2 模式⽤于⽣产环境,因为它更安全并且不需要为⽤户授予直接 HDFS /元存储访问权限。
Warning
在远程模式下,HiveServer2 仅接受有效的 Thrift 调⽤-即使在 HTTP 模式下,消息正⽂也包含 Thrift 有效负载。
Beeline Example
% bin/beeline
Hive version 0.11.0-SNAPSHOT by Apache
beeline> !connect jdbc:hive2://localhost:10000 scott tiger
!connect jdbc:hive2://localhost:10000 scott tiger
Connecting to jdbc:hive2://localhost:10000
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_quencefile |
| src_thrift |
| srcbucket |
| srcbucket2 |
| srcpart |
+-------------------+
9 rows lected (1.079 conds)
您也可以在命令⾏上指定连接参数。这意味着您可以从 UNIX Shell 历史 Logging 找到带有连接字符串的命令。
% beeline -u jdbc:hive2://localhost:10000/default -n scott -w password_file
Hive version 0.11.0-SNAPSHOT by Apache
Connecting to jdbc:hive2://localhost:10000/default
Beeline with NoSASL connection
如果要通过 NOSASL 模式进⾏连接,则必须明确指定⾝份验证模式:
% bin/beeline beeline> !connectjdbc:hive2://<host>:<port>/<db>;auth=noSasl hiveur pass
Beeline Commands
Command Description
!<SQLLine command>可在获得的 SQLLine 命令列表。
⽰例:!quit退出 BeelineClient 端。
|!delimiter |设置⽤ Beeline 编写的查询的分隔符。允许使⽤多字符定界符,但不允许使⽤引号,斜杠和-。默认为;⽤法:!delimiter $$
版本:3.0.0()|
Beeline Properties
Property Description
fetchsize 使⽤标准 JDBC,您可以指定在每次查询数据库往返时获取的⾏数,该数量称为获取⼤⼩。
在 Beeline 中设置获取⼤⼩会覆盖 JDBC 驱动程序的默认获取⼤⼩,并影响在当前
会话中执⾏的后续语句。
值-1 指⽰ Beeline 使⽤ JDBC 驱动程序的默认访存⼤⼩(默认)
每个语句的值都将零或更⼤的值传递给 JDBC 驱动程序
他在丛中笑任何其他负值都将引发异常
⽤法:!t fetchsize 200
版本:4.0.0()
Beeline Hive 命令
属鼠年龄使⽤ Hive JDBC 驱动程序时,可以从 Beeline 运⾏ Hive 特定命令(与相同)。使⽤“ ;”(分号)终⽌命令。脚本中的 Comments 可以使⽤“ --”前缀指定。Command Description
ret将配置重置为默认值。
ret <key>将特定配置变量(键)的值重置为默认值。
注意: 如果您拼写错误的变量名,则 Beeline 将不会显⽰错误。
| t<key> =<value> |设置特定配置变量(键)的值。
注意: 如果您拼写错误的变量名,则 Beeline 将不会显⽰错误。
| t |打印由⽤户或 Hive 覆盖的配置变量列表。
| t -v |打印所有 Hadoop 和 Hive 配置变量。
|添加⽂件[S]<filepath><filepath> *
添加 JAR [S]<filepath><filepath> *
添加 ARCHIVE [S]<filepath><filepath> * |将⼀个或多个⽂件,jar 或 Files 添加到分布式缓存中的资源列表中。有关更多信息,请参见。|添加⽂件[S]<ivyurl><ivyurl> *
添加 JAR [S]<ivyurl><ivyurl> *深沉什么意思
添加 ARCHIVE [S]<ivyurl><ivyurl> * |从开始,使⽤ ivy:// group:module:version 形式的 URL 向分布式缓存中的资源列表添加⼀个或多个⽂件,jar 或存档。请求参数。有关更多信息,请参见。
|list FILE[S]
list JAR[S]
list ARCHIVE [S] |列出已经添加到分布式缓存的资源。有关更多信息,请参见。 (从 Hive 0.14.0 开始:)。
|列出⽂件[S]<filepath> *
列出 JAR [S]<filepath> *
list ARCHIVE [S]<filepath> * |检查给定资源是否已经添加到分布式缓存中。有关更多信息,请参见。
|删除⽂件[S]<filepath> *
删除 JAR [S]<filepath> *
|删除 ARCHIVE [S]<filepath> * |从分布式缓存中删除资源。
|删除⽂件[S]<ivyurl><ivyurl> *
删除 JAR [S]<ivyurl><ivyurl> *
delete ARCHIVE [S]<ivyurl><ivyurl> * |从开始,从分布式缓存中删除使⽤\ 添加的资源。有关更多信息,请参见。
| reload |从开始,使 HiveServer2 知道配置参数指定的路径中的任何 jar 变化(⽆需重新启动 HiveServer2)。更改可以是添加,删除或更新 jar ⽂件。
| dfs<dfs command> |执⾏ dfs 命令。
|<query string> |执⾏ Hive 查询并将结果打印到标准输出中。
Beeline 命令选项
孩子发烧物理降温
Beeline CLI ⽀持以下命令⾏选项:
Option Description
-u *<databa URL> *要连接的 JDBC URL。如果需要,参数值中的特殊字符应使⽤ URL 编码进⾏编码。
⽤法:beeline -u * db_URL *
-r 代表上次使⽤的 URL(如果⽤户以前使⽤!connect代表 URL,⽽!save代表 beeline.properties ⽂件)。⽤法:beeline -r
版本:2.1.0()
-n *<urname> *连接的⽤户名。
⽤法:beeline -n有效⽤户
-p *<password> *连接密码。
古代朴素唯物主义⽤法:beeline -p有效密码
可选密码模式:
从 Hive 2.2.0()开始,-p 选项的参数是可选的。
⽤法:beeline -p [valid_password]
如果未提供密码,则-p Beeline 将在启动连接时提⽰您 Importing 密码。当提供密码时,Beeline 使⽤它来启动连接⽽不提⽰。
-d *<driver class> *要使⽤的驱动程序类。
⽤法:beeline -d * driver_class *
应执⾏的查询。双引号或单引号引起来的查询字符串。可以多次指定此选项。⽤法:beeline -e " * query_string “
-e *<query> *
⽀持在单个 query_string *中运⾏多个⽤分号分隔的 SQL 语句:1.2.0()
错误修复(空指针异常):0.13.0()
错误修复(不⽀持--headerInterval):0.14.0()
错误修复(在后台运⾏-e):1.3.0 和 2.0.0(); 适⽤于早期版本
-f *<file> *应执⾏的脚本⽂件。
⽤法:beeline -f⽂件路径
版本:0.12.0()
注意:如果脚本包含选项卡,则在 0.12.0 版中查询编译会失败。此错误已在版本 0.13.0()中修复。错误修复(在后台运⾏-f):1.3.0 和 2.0.0(); 适⽤于早期版本
-i (或) -init <file or files>⽤于初始化的初始化⽂件
⽤法:beeline -i /tmp/initfile Single file:地藏本愿经全文
版本:0.14.0()
Multiple files:
版本:2.1.0()
-w (或) -password-file <password file>从中读取密码的密码⽂件。版本:1.2.0()
-a (或) -authType <auth type>作为 auth 属性传递给 jdbc 的⾝份验证类型版本:0.13.0()
-属性⽂件 <file>⽤于从中读取配置属性的⽂件
⽤法:beeline --property-file /tmp/a 版本:2.2.0()
-hiveconf *属性 = value *为给定的配置属性使⽤* value *。 stricted.list 中列出的属性⽆法使⽤ hiveconf 重置(请参阅)。⽤法:beeline --hiveconf * prop1 * = * value1 *
版本:0.13.0()
-hivevar *名称 = value *配置单元变量名称和值。这是特定于 Hive 的设置,其中可以在会话级别设置变量,并在 Hive 命令或查询中引⽤。
⽤法:beeline --hivevar * var1 * = * value1 *
-color = [true/fal]控制是否使⽤颜⾊进⾏显⽰。默认为 fal。⽤法:beeline --color=true
(不⽀持分隔值输出格式.请参见)
-showHeader = [true/fal]在查询结果中显⽰列名称(是)还是不(fal)。默认为 true。⽤法:beeline --showHeader=fal
-headerInterval = ROWS 当表为 outputformat 时,重新显⽰列标题的间隔(以⾏数为单位)。默认值为 100.⽤法:beeline --headerInterval=50
(不⽀持分隔值输出格式.请参见)
-fastConnect = [true/fal]连接时,跳过为 HiveQL 语句的制表符完成⽽构建所有表和列的列表(true)或构建列表(fal)。默认为 true。⽤法:beeline --fastConnect=fal
-autoCommit = [true/fal]启⽤/禁⽤⾃动事务提交。默认为 fal。⽤法:beeline --autoCommit=true
-verbo = [true/fal]显⽰详细错误消息和调试信息(true)或不显⽰(fal)。默认为 fal。⽤法:beeline --verbo=true
-showWarnings = [true/fal]显⽰发出任何 HiveQL 命令后在连接上报告的警告。默认为 fal。⽤法:beeline --showWarnings=true
**** - showDbInPrompt = **** [true/fal]在提⽰中显⽰当前数据库名称。默认为 fal。⽤法:beeline --showDbInPrompt=true
版本:2.2.0()
-showNestedErrs = [true/fal]显⽰嵌套错误。默认为 fal。
⽤法:beeline --showNestedErrs=true
-numberFormat = [pattern]使⽤模式设置数字格式。
⽤法:beeline --numberFormat="#,###,##0.00"
Option Description
-force = [true/fal]即使出现错误(true)还是不 continue(fal),仍 continue 运⾏脚本。默认为 fal。
⽤法:beeline--force=true
-maxWidth = MAXWIDTH 当 outputformat 为表时,在截断数据之前显⽰的最⼤宽度(以字符为单位)。默认是查询终端当前宽度,然后回落到 80.
⽤法:beeline --maxWidth=150
-
maxColumnWidth = MAXCOLWIDTH 当 outputformat 为表格时的最⼤列宽(以字符为单位)。在 Hive 2.2.0 版(请参阅)中,默认值为 50;在较早版本中,默认值为 15.
⽤法:beeline --maxColumnWidth=25
-silent = [true/fal]减少显⽰的信息性消息的数量(真)或否(假)。它还停⽌显⽰来⾃ HiveServer2(和更⾼版本)和 HiveQL 命令(和更⾼版本)的查询⽇志消息。默认为 fal。
⽤法:beeline --silent=true
-autosave = [true/fal]⾃动保存⾸选项(true)或不⾃动保存(fal)。默认为 fal。⽤法:beeline --autosave=true
-outputformat = [表格/垂直/ csv/tsv/dsv/csv2/tsv2]结果显⽰的格式化模式。默认为表格。有关推荐的 sv 选项的说明,请参见下⾯的。⽤法:beeline --outputformat=tsv
版本:dsv/csv2/tsv2 已添加到 0.14.0()
- truncateTable = [true/fal]如果为 true,则当超出控制台长度时,会在控制台中截断表列。版本:0.14.0()
-delimiterForDSV = DELIMITER 定界符分隔值输出格式的定界符。默认值为“
”字
符。
版本:
0.14.0()
-isolation = LEVEL 将事务隔离级别设置为 TRANSACTION_READ_COMMITTED or TRANSACTION_SERIALIZABLE.
请参阅 Java ⽂档中的“字段详细信息”部分。
⽤法:beeline --isolation=TRANSACTION_SERIALIZABLE
-nullemptystring = [true/fal]使⽤将 null 打印为空字符串(true)的历史⾏为,或使⽤将 null 打印为 NULL 的当前⾏为(fal)。默认为fal。
⽤法:beeline --nullemptystring=fal
版本:0.13.0()
-incremental = [true/fal]从 Hive 2.3 起默认为true,然后默认为fal.。当设置为fal时,将在显⽰之前提取并缓冲整个结果集,从⽽产⽣最佳的显⽰列浆纱。当设置为true时,结果⾏将在获取时⽴即显⽰,从⽽以额外的显⽰列填充为代价,降低了 await 时间和内存使⽤量。如果在 Client 端遇到 OutOfMemory,则建议设置--incremental=true(由于获取的结果集⼤⼩太⼤)。
**** -incrementalBufferRows = **** NUMROWS 在标准输出上打印⾏时要缓冲的⾏数,默认为 1000;默认值为 1000.仅适⽤于--incremental=true和--outputformat=table
外勤
⽤法:beeline --incrementalBufferRows=1000
花卷好吃版本:2.3.0()
-maxHistoryRows = **** NUMROWS 存储 Beeline 记录的最⼤⾏数。版本:2.3.0()
-delimiter = ;设置⽤ Beeline 编写的查询的分隔符。允许使⽤多字符定界符,但不允许使⽤引号,斜杠和-。默认为;⽤法:beeline --delimiter=$$
版本:3.0.0()
-
convertBinaryArrayToString = [true/fal]使⽤平台的默认字符集将⼆进制列数据显⽰为字符串。
默认⾏为(fal)是使⽤以下命令显⽰⼆进制数据:String(byte[] columnValue)版本:3.0.0()
使⽤ UTF-8 字符集将⼆进制列数据显⽰为字符串。
默认⾏为(fal)是使⽤ Ba64 编码显⽰⼆进制数据⽽⽆填充。
版本:4.0.0( )
⽤法:beeline --convertBinaryArrayToString=true
-help 显⽰使⽤情况消息。⽤法:beeline --help
Option Description