先进入hive的bin目录下,执行 ./hive 命令,进入hive的命令行界面。
一 对数据库进行操作
- 1 创建数据库
假设要创建的数据库名称为tglog_aw_2018
可以用下面的命令来创建数据库:
create database tglog_aw_2018;
执行效果如下:
- 2 查看数据库
可以使用下面的命令,进行数据库的创建:
show databases;
执行效果如下:
可以看到,除了我们创建的数据库以外,还有一个名为default的默认库。
- 3 使用数据库
使用下面的命令:
use tglog_aw_2018;
这样就可以进入我们想要操作的数据库了,如果不进行切换,建表就会建到default库下。
- 4 删除数据库
如果想要删除数据库,可以使用drop命令:
drop database tglog_aw_2018;
如果数据库不为空(其中有表存在),那么当执行drop时会报异常。
二 对表进行操作
- 1 建表
假设表名叫做golds_log,用来存储玩家游戏币的变化,共有5个字段:user_id(玩家id)、accounts(玩家账号)、change_type(游戏币变更类型)、golds(游戏币变更数目)、log_time(变更时间)。
用下面的命令进行建表:
Create Table golds_log(user_id bigint, accounts string, change_type string, golds bigint, log_time int);
- 2 查看当前数据库的表
和查看数据库类似,可以用下面的命令来查看当前数据库的表:
show tables;
执行效果如下:
- 3 查看表内内容
select * from from 表名
三 使用 Insert…Values语句写入数据
在Hive中也可以使用Insert语句来写入数据。假设需要向golds_log表中写入5条数据,可以执行下面的语句:
hive> Insert into table golds_log values (3645356,'wds7654321(4171752)','新人注册奖励',1700,1526027152), (2016869,'dqyx123456789(2376699)','参加一场比赛',1140,1526027152), (3630468,'dke3776611(4156064)','大转盘奖励',1200,1526027152), (995267,'a254413189(1229417)','妞妞拼十翻牌',200,1526027152), (795276,'li8762866(971402)','妞妞拼十翻牌',1200,1526027152);
正常可以看到下面的结果输出,说明在执行 insert…values语句时,底层是在执行MapReduce作业。
新建的数据内容存储在下面的目录:
/opt/apache-hive-2.1.1-bin/hive/warehouse
在windows上使用HDFS的WebUI,通过Utilities–>Browse the file system进入该目录下,就可以看到数据库文件