Вам нужно запустить msck repair table
после того, как вы загрузили новый раздел в папку HDFS.
Почему нам нужно запускать команду msck Repair table каждый раз послекаждый прием?
Hive хранит список разделов для каждой таблицы в своем метастазе.Однако новые разделы добавляются непосредственно в HDFS , метасредство (и, следовательно, Hive) не будет знать об этих разделах, если пользователь не запустит один из приведенных ниже способов добавления новых добавленных разделов.
1.Добавление каждого раздела в таблицу
hive> alter table <db_name>.<table_name> add partition(`date`='<date_value>')
location '<hdfs_location_of the specific partition>';
(или)
2. Запустите проверку метастазов с опцией таблицы восстановления
hive> Msck repair table <db_name>.<table_name>;
, которая добавит метаданные о разделах в метасторье Hive для разделов, для которых такие метаданные еще не существуют.Другими словами, он добавит любые разделы, которые существуют в HDFS, но отсутствуют в metastore, в metastore.