HIVE是什么?
hive是一个可以将sql翻译成MapReduce(MR)的程序工具
hive支持用户将HDFS上的文件映射为表结构,用户可以输入sql对这些表进行查询分析
HIVE的用途?
解放大数据分析程序员,不用自己写大量的mr程序来分析数据,只需要写sql脚本即可
HIVE可用于构建大数据体系下的数据仓库
HIVE的使用方式?
方式1:可以交互式查询
方式2:可以将hive作为命令一次性运行
方式3:可以将方式2写入一个xxx.sh脚本中
hive执行的三种模式
1.[root@hdp01 ~]# hive -e “use default;create table tset_1(id int,name string); ” #创建了一个hive表
我们也可以创建一个文件,执行这个文件
[root@hadoop2 home]# vi /home/userinfo.txt
1,xiaoming,20
2,xiaowang,22
[root@hadoop2 home]# vi a.hql
use default;
create table test_2(id int,name string,age int)
row format delimited
fields terminated by ',';
load data local inpath '/home/userinfo.txt' into table test_2;
select count(*) from test_2;
hive -f a.hql;#执行
运行结果
运行方式1
hive -f a.hql
运行方式2
hive -e "use default;select * from test;"
2.hive -f a.hql
3.在hadoop1上
在/usr/local/src/hive-1.2.1/bin下有一个服务:hiveserver2
我们启动这个服务
这样这个服务启动完毕,光标停到下一行
我们在hadoop2上同样进入hive的bin目录
[root@hdp01 bin]# ./beeline
Beeline version 1.2.1 by Apache Hive
beeline> !connect jdbc:hive2://hdp02:10000
Connecting to jdbc:hive2://hdp02:10000
Enter username for jdbc:hive2://hdp02:10000: root
Enter password for jdbc:hive2://hdp02:10000:
Connected to: Apache Hive (version 1.2.1)
Driver: Hive JDBC (version 1.2.1)
Transaction isolation: TRANSACTION_REPEATABLE_READ
0: jdbc:hive2://hdp02:10000>
这样我们就链接到了hdp02的服务端了,我们可以在这输入一些hive的语句
0: jdbc:hive2://hdp02:10000> show databases;
0: jdbc:hive2://hdp02:10000> show tables
这些命令都是发到hdp02上的服务端执行
可以看到hdp02的已经有“ok出现”