文档章节

Beeline使用

China_OS
 China_OS
发布于 2017/04/10 09:34
字数 1704
阅读 2043
收藏 1

背景

        hadoop2的hive采用了新的hive server,称为HiveServer2,HiveServer2中的CLI客户端不建议使用hive CLI,而是建议使用Beeline这个客户端,今天就说说这个客户端的用法。

介绍

        HiveServer2提供了一个新的命令行工具beeline来连接hiveserver2,beeline是基于SQLLine CLI的JDBC客户端,因此SQLLine文档也适用于Beeline,SQLLine是一个基于纯Java控制台的实用程序,用于连接关系数据库和执行SQL命令。 它类似于其他命令行数据库访问实用程序,如sqlplus for Oracle,mysql for MySQL和用于Sybase / SQL Server的isql。具体看这个SQLLine

        Beeline工作模式有两种,即嵌入模式和远程模式。嵌入模式情况下,它返回一个嵌入式的Hive(类似于Hive CLI)。而远程模式则是通过Thrift协议与某个单独的HiveServer2进程进行连接通信。在远程模式下hiveserver2只接受thrift的接口调用,即使是http模式,它里面也是包含thrift的信息的。

使用

        连接数据库:

            1    你可以在交互式模式下输入hiveserver连接字符串

            2    你也可以在CLI直接输入hiveserver连接字符串,beeline -u xxx -n yyy

        beeline连接选项:

-u <database URL>	JDBC连接串,beeline -u db_URL 
-r	连接到用户最后一次连接的hiveserver上,前提是用户使用的 !connect去连接的hiveserver,同时使用 !save保存了连接,  beeline -r
-n <username>	连接的用户名,beeline -n valid_user
-p <password>	连接的密码,beeline -p valid_password
-d <driver class>	使用哪个driver连接hiveserver,beeline -d driver_class
-e <query>	用单引号或者双引号括起来的查询语句,beeline -e "query_string"
-f <file>	要执行的脚本,beeline -f filepath
-i (or) --init <file or files>	初始化文件, beeline -i /tmp/initfile
-w (or) --password-file <password file>	从一个文件读取密码
-a (or) --authType <auth type>	jdbc连接时的认证类型
--property-file <file>	读取配置文件,beeline --property-file /tmp/a
--hiveconf property=value	设置hiveconf参数,beeline --hiveconf prop1=value1
--hivevar name=value	设置hivevar参数,beeline --hivevar var1=value1
--color=[true/false]	终端显示是否带颜色,beeline --color=true
--showHeader=[true/false]	查询结果中是否显示表字段名,beeline --showHeader=false
--headerInterval=ROWS	重新显示列标题的间隔,以outputformat为表格的行数。 默认值为100, beeline --headerInterval=50
--autoCommit=[true/false]	是否开启事物的自动提交,默认false
--showWarnings=[true/false]	是CLI使用HQL的时候是否显示warning信息
--showDbInPrompt=[true/false]	是否在命令行提示符显示数据库名,默认false,beeline --showDbInPrompt=true
--showNestedErrs=[true/false]	是否显示嵌套错误,默认false.
--force=[true/false]	当执行脚本发生错误时,是否强制执行,默认false 
--autosave=[true/false]	是否自动保存首选项,默认false,beeline --autosave=true
--outputformat=[table/vertical/csv/tsv/dsv/csv2/tsv2]	查询显示的输出格式
--delimiterForDSV= DELIMITER	查询输出值的默认分隔符,默认是 '|' 

        beeline sql命令:

all	对所有活动的SQL连接执行sql语句	!all {SQL statement}
autocommit	是否开启自动事物提交	!autocommit {on/off}
batch	启动或者执行一批SQL语句	!batch {SQL statement}
brief	开启简洁输出模式	!brief
close	关闭活动的连接	!close
columns	显示表的列	!columns {table name}
commit	提交当前连接的事物	!commit
connect	连接到一个数据库	!connect {url} {username} {password} [driver class]
info	显示当前数据库的元数据	!dbinfo
describe	描述一个表	!describe [table name]
dropall	删除当前数据库的所有表	!dropall
exportedkeys	显示一个表的外键	!exportedkeys {table name}
go	跳转到不同的活动连接	!go {connection number}
help	显示帮助信息	!help
history	显示执行命令历史	!history
		!importedkeys {table name}
index	显示一个表的索引	!indexes {table name}
list	显示当前所有活动连接	!list
metadata	调用任意元数据	!metadata {methodname} {params...}
outputformat	设置输出格式	!outputformat {format name}
primarykeys	显示一个表的逐渐	!primarykeys {table name}
procedures	列出当前库的存储过程	!procedures [procedure name pattern]
properties	连接到指定文件中定义的数据库	!properties {file}
quit	退出sqlline	!quit
reconnect	重新连接到当前数据库	!reconnect
record	记录来自SQL命令的所有输出到外部文件	!record {file name}
rehash	从数据库中获取所有表和列的列表	!rehash
rollback	回滚当前事物	!rollback
run	执行一个sql脚本	!run {file name}
save	保存当前首选项	!save
scan	扫描JDBC的classpath	!scan
script	保存执行命令到指定文件,该文件可以回放	!script {filename}
set	设置首选项	!set {preference} {value}
sql	对数据库执行sql	!sql {statement}
tables	列出当前库的所有表	!tables

        配置项信息:

autocommit		设置连接自动提交
autosave		任何使用set设置的首选项都会被自动保存
color		终端输出会有颜色
fastconnect		
force		
headerinterval		
historyfile		SQLLine将保存发出的所有命令的记录的文件。 HOME / .sqlline / history
incremental		
isolation		
maxcolumnwidth		table输出格式时截断数据之前,每列显示的最大列宽。 默认为15
maxwidth		table被截断前显示的最大宽度,默认是当前终端宽度
outputformat		输出格式
showheader		显示列名
showwarnings		显示警告信息
silent		安静模式
verbose		更详细的信息

        beeline hive sql命令:

reset	将配置重置为默认值
set <key>=<value>	设置特定配置变量(键)的值
set	打印由用户或Hive覆盖的配置变量列表。
set -v	列出Hadoop和Hive所有配置变量
add FILE[S] <filepath> <filepath>* 	将一个或多个文件,jar或归档添加到分布式缓存中的资源列表。
add JAR[S] <filepath> <filepath>* 	
add ARCHIVE[S] <filepath> <filepath>*	
list FILE[S] 	列出已添加到分布式缓存中的资源。
list JAR[S] 	
list ARCHIVE[S]	
list FILE[S] <filepath>* 	检查给定的资源是否已经添加到分布式缓存中
list JAR[S] <filepath>* 	
list ARCHIVE[S] <filepath>*	
delete FILE[S] <filepath>* 	从分布式缓存中删除资源。
delete JAR[S] <filepath>* 	
delete ARCHIVE[S] <filepath>*	
reload	使HiveServer2了解由配置参数hive.reloadable.aux.jars.path指定的路径中的任何jar更改
dfs <dfs command>	执行hadoop dfs命令
<query string>	执行查询语句并输出

        beeline输出格式:

            在beeline里面输出的数据可以有几种不同的显示格式,显示格式可以通过设置outputformat来指定。目前支持以下格式:

                table:

+-----+---------+-----------------+
| id  |  value  |     comment     |
+-----+---------+-----------------+
| 1   | Value1  | Test comment 1  |
| 2   | Value2  | Test comment 2  |
| 3   | Value3  | Test comment 3  |
+-----+---------+-----------------+

                vertical:

id       1
value    Value1
comment  Test comment 1

id       2
value    Value2
comment  Test comment 2

id       3
value    Value3
comment  Test comment 3

                xmlsttr:

<resultset>
  <result id="1" value="Value1" comment="Test comment 1"/>
  <result id="2" value="Value2" comment="Test comment 2"/>
  <result id="3" value="Value3" comment="Test comment 3"/>
</resultset>

                xmlelements:

<resultset>
  <result>
    <id>1</id>
    <value>Value1</value>
    <comment>Test comment 1</comment>
  </result>
  <result>
    <id>2</id>
    <value>Value2</value>
    <comment>Test comment 2</comment>
  </result>
  <result>
    <id>3</id>
    <value>Value3</value>
    <comment>Test comment 3</comment>
  </result>
</resultset>

                Separated-Value Output Formats:

                    每一行的value值可以自定义分隔符,可以是csv, tsv, csv2, tsv2 and dsv。

 

© 著作权归作者所有

上一篇: Impala+LDAP+Sentry
下一篇: Hive on Hbase
China_OS
粉丝 427
博文 463
码字总数 519985
作品 0
静安
技术主管
私信 提问
SparkSQL使用之Thrift JDBC server

Thrift JDBC Server描述 Thrift JDBC Server使用的是HIVE0.12的HiveServer2实现。能够使用Spark或者hive0.12版本的beeline脚本与JDBC Server进行交互使用。Thrift JDBC Server默认监听端口是...

Zero零_度
2016/09/07
90
0
Hive2.x、HiveServer、HiveServer2简述及Beeline使用

Hive2.x hive2.x特性 LLAP(Live Long and Process)Hive2.1进行了极大的性能优化。在Hive2.x开启LLAP与Apache Hive1.x进行对比测试,其性能提升约25倍。 支持使用HPL/SQL的存储过程,Hive2...

PeakFang-BOK
2018/10/10
317
0
hive外部表测试

在hadoop上创建用于存放与hive外部表关联的路径 hadoop fs -mkdir /bigdata/output/MMXKUSER1/train/zjs/test_external 2. 创建hive外部表 beeline create external table tbtestexternal(i......

z_jordon
2015/11/27
202
0
Configuring Hive High Availability

Hive从0.14开始,使用Zookeeper实现了HiveServer2的HA功能(ZooKeeper Service Discovery),Client端可以通过指定一个nameSpace来连接HiveServer2,而不是指定某一个host和port。本文描述了...

candon123
2017/12/13
0
0
CentOS 6.9 中 搭建 Hive

解压 hive 安装包 2. 安装 mysql 3. 安装 mysql-connector 4. 建立 mysql-connector 链接 5. 启动 mysql 验证 mysql 服务 是否启动成功 6. 修改 mysql 数据库的 root 用户的密码 7. 配置 Hi...

自东土大唐而来
2018/01/16
34
0

没有更多内容

加载失败,请刷新页面

加载更多

Giraph源码分析(八)—— 统计每个SuperStep中参与计算的顶点数目

作者|白松 目的:科研中,需要分析在每次迭代过程中参与计算的顶点数目,来进一步优化系统。比如,在SSSP的compute()方法最后一行,都会把当前顶点voteToHalt,即变为InActive状态。所以每次...

数澜科技
今天
4
0
Xss过滤器(Java)

问题 最近旧的系统,遇到Xss安全问题。这个系统采用用的是spring mvc的maven工程。 解决 maven依赖配置 <properties><easapi.version>2.2.0.0</easapi.version></properties><dependenci......

亚林瓜子
今天
10
0
Navicat 快捷键

操作 结果 ctrl+q 打开查询窗口 ctrl+/ 注释sql语句 ctrl+shift +/ 解除注释 ctrl+r 运行查询窗口的sql语句 ctrl+shift+r 只运行选中的sql语句 F6 打开一个mysql命令行窗口 ctrl+l 删除一行 ...

低至一折起
今天
10
0
Set 和 Map

Set 1:基本概念 类数组对象, 内部元素唯一 let set = new Set([1, 2, 3, 2, 1]); console.log(set); // Set(3){ 1, 2, 3 } [...set]; // [1, 2, 3] 接收数组或迭代器对象 ...

凌兮洛
今天
4
0
PyTorch入门笔记一

张量 引入pytorch,生成一个随机的5x3张量 >>> from __future__ import print_function>>> import torch>>> x = torch.rand(5, 3)>>> print(x)tensor([[0.5555, 0.7301, 0.5655],......

仪山湖
今天
6
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部