msck repair table 表名;
该命令会把没添加进partition的数据,都增加对应的partition。同步源数据信息metadata。
场景:
由于一个数据量较大的表使用的是textfield格式存储,需要将此表转换成rcfile格式存储。
step1. 使用 hadoop fs -mv hdfsdir1 hdfsdir2 修改文件路径
step2. 建立结构相同的表引用 hdfsdir2 文件路径
step3. 使用msck repair table 命令修复引用各分区数据。
step4. 删除并重新创建原始表(存储格式为rcfile),做个循环job将数据重新insert到原始表。