Beeline命令行操作

本文介绍了如何使用Beeline客户端操作Hive,包括基本的命令如查看帮助、关闭连接、连接HiveServer2,以及数据查询操作如SELECT、ORDER BY、LIMIT等。讨论了Hive的order by和limit在大数据场景下的影响,并展示了MapReduce在Beeline中的应用,如Map端连接和Reduce端的设置。最后提到了通过Java JDBC连接和操作Hive的方法。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

通过上一小节对Hive-Cli的一些操作,可以掌握基本的Hive的语法了,本小节需要讲解一下Beeline客户端的一些操作,其实Beeline的语法和Hive客户端的基本一致,但是Hive自身的客户端只能自己用,别人连不上去,要想多个用户访问,必须使用HiveServer2。话不多说,直接进入Beeline-Cli输入一些语句来看一下结果,

$beeline>

$beeline>!help //查看帮助

$beeline>!close //关闭当前连接

$beeline>!connect jdbc:hiveserver2://localhost:10000/myhive

$beeline>!tables; //显式表

$beeline>show tables; //展示表

$beeline>!sh clear ; //执行shell脚本命令

$beeline>!quit; //退出beeline终端

$beeline>select count(*) from t1 ; //查询表t1的行数

$beeline>select max(*) from t1 ; //查询表t1的最大值

$beeline>select min(*) from t1 ; //查询表t1的最小值

$beeline>select sum(*) from t1 ; //查询表t1所有value值的和

$beeline>select avg(*) from t1 ; //查询表t1的平均值

limit的使用,Hive没有像MySql那样的limit start,end那样的写法实现分页,所以需要使用别的方式来实现分页。Hive使用limit的前一个参数表示的是去掉前几个数值,从下一个数值开始计数,第二个参数表示的是查询数值的个数。用limit分页明显减少shuffle的量,因为如果不用limit的话,所有的Map数据都到Reduce端上去了。

Hive中的order by跟传统的hql语言中的order by作用是一样的,会对查询的结果做一次全局排序,所以说,只有Hive的hql中制定了order by所有的数据都会到同一个reducer进行处理(不管有多少Map,也不管文件有多少的block只会启动一个reducer)。但是对于大量数据这将会消耗很长的时间去执行。

这里跟传统的sql还有一点区别:如果指定了hive.mapred.mode=strict&#

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值