如果是自己创建目录,不以正常方式加载数据,则分区表和数据不关联
[atguigu@Hadoop102 data]$ hadoop fs -mkdir /user/hive/warehouse/dept_par/day=2020-10-29
让分区表和数据产生关联的三种方式 :
(1)方式一:上传数据后修复
上传数据
[atguigu@Hadoop102 data]$ hadoop fs -put dept1.txt /user/hive/warehouse/dept_par/day=2020-10-29
执行修复命令
hive (default)> msck repair table dept_par;
(2)方式二:上传数据后添加分区
上传数据
[atguigu@Hadoop102 data]$ hadoop fs -put dept1.txt /user/hive/warehouse/dept_par/day=2020-10-30
执行添加分区
hive (default)> alter table dept_par add partition(day='2020-10-30');
(3)方式三:load 数据到分区
load会改变元数据,因此让分区表和数据产生关联
hive (default)> load data local inpath '/opt/module/hive/datas/dept_20200401.log' into table dept_partition2 partition(day='20200401',hour='15');
使用三种方式可以用查询到新建目录下的数据