A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

之前的分区表都是先创建表然后加载数据到分区表中,然后就会在HDFS自动创建相关的目录存储数据,但是这里反过来做,先在HDFS中创建相应的目录,然后把数据直接上传到这个目录下,具体如下所示

先在HDFS中创建存放数据的目录

dfs -mkdir -p /user/hive/warehouse/ys.db/test/month=201809/day=02;

然后直接上传数据到该目录下

dfs -put /opt/package/hive/txt/dept.txt /user/hive/warehouse/ys.db/test/month=201809/day=02;

这时候查询数据会发现没有数据,只有相应的字段

这是因为分区表与数据还没有关联起来,下面有3中方法进行关联

1.执行修复命令

msck repair table test;

2.执行添加分区

alter table test add partition(month='201809', day='02');

3.load数据到分区

load data local inpath '/opt/package/hive/txt/dept.txt' into table test partition(month='201809',day='02');

这时候再查询数据就会查到了


1 个回复

倒序浏览
奈斯
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马