众所周知实际开发过程中,Hive主要是通过其丰富的内置函数,便捷的类sql来处理经过MapReduce清洗后的数据,下面我们进行Hive的知识点总结。
1、Hive使用方式
方式1:学习时使用的最基本的简单查询:
[sql] view plain copy
bin/hive //启动hive
hive>select * from t_test; //进行简单使用
方式2:作为服务启动并使用:
[sql] view plain copy
bin/hiveserver2 -hiveconf hive.root.logger=DEBUG,console //前台启动
nohup bin/hiveserver2 1>/dev/null 2>&1 & //后台启动
通过服务启动成功后,可以去别的节点,通过beeline来连接使用
连接方式1:
[sql] view plain copy
bin/beeline //回车,进入beeline的命令界面
进入beeline命令界面后输入:
[sql] view plain copy
beeline> !connect jdbc:hive2//mini1:10000 //mini1是hiveserver所启动的那台主机名,端口默认是10000
然后就可以正常进行Hive操作了
连接方式2:
在启动的时候连接
[html] view plain copy
bin/beeline -u jdbc:hive2://mini1:10000 -n root
接下来就可以进行Hive操作了
方式3:脚本化运行使用
在实际的生产过程中,上述两种方法由于是交互式查询,效率会比较低,无法应对大量的Hive查询任务。因此,更多的会选择脚本化运行机制,该机制的核心是Hive可以用一次性命令的方式来执行给定的HQL语句。
比如,可以将sql语句写入shell脚本,以便于脚本化运行hive任务,并可以控制、调度众多的hive任务:
[sql] view plain copy
vi t_order_etl.sh
#!/bin/bash
hive -e "select * from db_order.t_order"
hive -e "select * from default.t_user"
hql="create table default.t_bash as select * from db_order.t_order"
hive -e "$hql"
然后运行该shell即可,当然如果sql比较复杂的话,上述方式就不可取了,我们可以把hql语句写入文件中: