使HDFS数据与分区表产生联系的方式
把数据直接上传到分区目录上,让分区表和数据产生关联的三种方式
方式一:上传数据后修复
上传数据dfs -mkdri -p /user/hive/warehouse/mydb.db/dept_partition02/day=20200401/hour=13;
dfs -put /opt/moudule/datas/dept_20200401.log//user/hive/warehouse/mydb.db/dept_partition2/day=20200401/hour=13;查询数据(查询不到刚上传的数据)
select * from dept_partition2 where day='20200401' and hour='13';
修复指令
msck repair table dept_partition2;
再次查询数据
select * from dept_partition2 where day='20200401' and hour='13';
方式二:上传数据后添加分区
上传数据dfs -mkdir -p
/user/hive/warehouse/mydb.db/dept_partition2/day=20200401/hour=14;
dfs -put /opt/module/hive/datas/dept_20200401.log /user/hive/warehouse/mydb.db/dept_partition2/day=20200401/hour=14;执行添加分区
alter table dept_partition2 add partition (day='201709',hour='14');
查询数据
select * from dept_partition2 where day='20200401' and hour='14';
方式三:创建文件夹后load 数据到分区
创建目录dfs -mkdir -p /user/hive/warehouse/mydb.db/dept_partition2/day=20200401/hour=15;
上传数据
load data local inpath '/opt/module/hive/datas/dept_20200401.log' into table dept_partition2 partition(day='20200401',hour='15');
查询数据
select * from dept_partition2 where day='20200401' and hour='15';