Я хочу очистить набор таблиц Hive, который был определен следующим образом:
create table tbl
(
col1 string,
col2 string,
col3 string
)
PARTITIONED BY (col4 string, col5 int)
CLUSTERED BY(col1) into 256 BUCKETS
STORED AS ORC TBLPROPERTIES ('transactional'='true');
Я использовал команду TRUNCATE:
truncate table mydb.tbl
Используя оболочку Hive, если я пытаюсь сосчитать элементы внутри таблицы
select count(*) from mydb.tbl
, то получаю правильно ноль. Но если я попытаюсь сосчитать элементы, фильтруемые по разделам
select count(*) from mydb.tbl where col4=a and col5=b
, то получу число больше нуля. Почему это все еще не ноль? Я также заметил, что папка hdfs / warehouse / tablespace / managed / hive / mydb / tbl / col4 = a / col5 = b все еще присутствовала, но была пуста. Я также удалил эту папку, но результат выбора счетчика все еще не равен нулю.