Как я могу полностью очистить стол Hive? - PullRequest
0 голосов
/ 03 февраля 2020

Я хочу очистить набор таблиц 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 все еще присутствовала, но была пуста. Я также удалил эту папку, но результат выбора счетчика все еще не равен нулю.

...