hive-查询并写入新表操作案例

需求

  1. 统计城市酒店数量和房间数量, 以城市房间数降序排列, 并打印前10条统计结果
  2. 将结果写入table3_1中
  3. 查看table3_1的前5行数据

需求分析

数据表样式
数据项字段名
省份provice
城市city
酒店数量hotel_num
房间数量room_num

数据样式:

provincecityhotel_numroom_num
贵州贵阳1234123456.0

命令和结果

  1. 首先我们要有一个数据表来存储原始数据,我们把它命名为htl, 字段之间用’\t’分隔;
create table htl(
province string,
city string,
hotel_num int,
room_num float)
row format delimited
fields terminated by '\t';
  1. 我们在/data/h3c1文件夹下创建一个data.txt文件, 里边是我们的数据, 字段之间用tab键分隔;
    温馨提示:数据是假的, 我闭着眼睛瞎按的,仅供参考

贵州 贵阳 2134 213423.0
山东 济南 2314 324123.0
吉林 吉林 3324 234123.0
吉林 长春 1245 453232.0
山东 威海 1245 125132.0
山东 潍坊 1236 243252.0
浙江 温州 4136 125315.0
浙江 绍兴 5425 324521.0
河北 沧州 2634 342623.0
河北 洛阳 4562 546123.0
河北 石家庄 5613 346315.0
海南 三亚 5432 143562.0
海南 海口 3426 456154.0

  1. 我们要把数据导进表里, 运行下述命令;
load data local inpath '/data/h3c1/data.txt' overwrite into table htl;

因为是从本地导入的文件, 所以要加上local关键字, 如果是从hdfs中导入数据就不用写local关键字

  1. 然后我们查询一下, 验证表里的数据是否有误;
    在这里插入图片描述
  2. 我们表里数据没有什么问题,我们就可以实现需求1了;
    要以城市房间数降序查询,要用到order by, desc关键字;
    输出前十行要用到limit关键字;
    命令和结果如下:
select * from htl order by room_num desc limit 10;

在这里插入图片描述

  1. 实现需求2,首先我们要新建一个table3_1,表结构和htl表是一样的;然后把htl的搜索结果导入到table3_1中;
    命令和结果如下:
    在这里插入图片描述
    在这里插入图片描述在这里插入图片描述

  2. 然后我们要查看table3_1的前五行数据;
    在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值