Hive初体验--映射

本文在单机伪分布式环境上演示,需要两个会话窗口,一个窗口用来写linux命令,另一个窗口用来做hive数据库操作。

#启动集群
[xiaokang@hadoop ~]$ start-dfs.sh
[xiaokang@hadoop ~]$ start-yarn.sh
#启动hive
[xiaokang@hadoop ~]$ hive

hive (default)> show databases;
OK
database_name
default
Time taken: 0.583 seconds, Fetched: 1 row(s)
#创建xiaoliu数据库
hive (default)> create database xiaoliu;
OK
Time taken: 0.499 seconds
hive (default)> show databases;
OK
database_name
default
xiaoliu

打开hdfs的web端,可以看到,在我们的/user/hive/warehouse/路径下(这与我们在安装hive,配置hive-site.xml文件时所设置的路径相应)出现了xiaoliu.db数据库,点进去,里面为空
在这里插入图片描述
接下来,我们创建一个文档,写入数据:

#创建一个文件夹
[xiaokang@hadoop ~]$ mkdir hive_data
[xiaokang@hadoop ~]$ cd hive_data/
#创建一个文档,并如下写入数据
[xiaokang@hadoop hive_data]$ vim 1.txt
1,xiaoliu,20
2,yibo,20
2,hailong,21

在xiaoliu数据库下创建一张表t1,指定分隔符为逗号:

hive (default)> use xiaoliu;
OK
Time taken: 0.03 seconds
hive (xiaoliu)> create table t1(id int, name string, age int) row format delimited fields terminated by ',';
OK
Time taken: 0.496 seconds

这时,我们在xiaoliu.db下看到了t1表:
在这里插入图片描述
将创建的1.txt文档拷贝到hdfs的/user/hive/warehouse/xiaoliu.db/t1路径下:

[xiaokang@hadoop hive_data]$ cd
[xiaokang@hadoop ~]$ hadoop fs -put /home/xiaokang/hive_data/1.txt /user/hive/warehouse/xiaoliu.db/t1

此时可以在t1下看到1.txt
在这里插入图片描述
查看t1表:

hive (xiaoliu)> select * from t1;
OK
t1.id  t1.name  t1.age
1  xiaoliu  20
2  yibo  20
2  hailong  21

如图所示,此时已经将1.txt的数据映射在了表t1中
在这里插入图片描述

总结:
①hive建立一张表,跟已经存在的结构化的数据文件产生映射关系。
映射成功后,就可以通过写sql来分析这结构化的数据,避免了写mr程序的繁琐步骤。
②数据库:与hdfs上/user/hive/warehouse路径下的一个文件夹对应。
表:与数据库文件夹下面的子文件夹对应/user/hive/warehouse/xiaoliu.db/t1
③建立表的时候需要指定分隔符,否则映射不成功。

由此体会一下结构化数据文件与一张表产生映射。

  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

小刘新鲜事儿

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值