Hive分区表加载数据的两种方式:本地加载数据,直接使用put上传,修复元数据,添加元数据(十一)

分区字段:月份,城市

1. 分区表(load)

1. 创建一个分区表

CREATE TABLE tb_country(
  name STRING,
  house_type STRING,
  house_area STRING,
  region STRING,
  floor_str STRING,
  direction STRING,
  total_price STRING,
  square_price STRING,
  build_date STRING

)
PARTITIONED BY (month_str STRING COMMENT 'first partition Month',
city_sar STRING COMMENT 'first partition City')
ROW FORMAT DELIMITED FIELDS TERMINATED BY ',' 
LINES TERMINATED BY '\n';

在这里插入图片描述

1.2 加载数据

LOAD DATA LOCAL INPATH '/opt/datas/2nd_bj_05_price.csv'  INTO TABLE tb_country PARTITION (month_str="05",city_str="BJ"); 

在这里插入图片描述

1.3 统计BJ5月房数

select
   count(1)
from   
   tb_country
where
    month_str="05" and city_str="BJ";

在这里插入图片描述

1.4 查看分区信息

show partitions tb_country
在这里插入图片描述

2. 分区表(put命令上传数据)

2.1 创建对应目录

dfs -mkdir -p /user/hive/warehouse/db_lianjia.db/tb_country/month_str=05/city_str=XA
dfs -mkdir -p /user/hive/warehouse/db_lianjia.db/tb_country/month_str=06/city_str=XA

在这里插入图片描述

2.2 将对应文件上传到指定目录

dfs -put /opt/datas/2nd_xa_05_price.csv /user/hive/warehouse/db_lianjia.db/tb_country/month_str=05/city_str=XA
dfs -put /opt/datas/2nd_xa_06_price.csv /user/hive/warehouse/db_lianjia.db/tb_country/month_str=06/city_str=XA

在这里插入图片描述

2.3 修复元数据(方式一)

在这里插入图片描述
msck repair table db_lianjia.tb_country
在这里插入图片描述

2.3 添加元数据(方式二)

ALTER TABLE tb_country ADD IF NOT EXISTS PARTITION (month_str="05",city_str="SH")
在这里插入图片描述

  • 2
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值