У меня есть таблица в улей построена с помощью следующей команды:капают улей раздел на основе определенного условия во время выполнения
create table t1 (x int, y int, s string) partitioned by (wk int) stored as sequencefile;
В таблице есть данные ниже:
select * from t1;
+-------+-------+-------+--------+--+
| t1.x | t1.y | t1.s | t1.wk |
+-------+-------+-------+--------+--+
| 1 | 2 | abc | 10 |
| 4 | 5 | xyz | 11 |
| 7 | 8 | pqr | 12 |
+-------+-------+-------+--------+--+
Теперь спросите заключается в том, чтобы удалить самый старый раздел, когда число разделов равно >=2
Можно ли это обрабатывать в hql или через любой сценарий оболочки и как?
Учитывая я буду использовать имя_бд в качестве переменной, как hive -e 'use "$dbname"; show partitions t1
да будет упорядочен по week_key. Но как показывают разделы раздела? Можете ли вы предоставить примеры команд –
@KoushikChandra Я добавил код, который я не запускал. Если это полезно, не стесняйтесь предлагать редактирование этого ответа, если для его работы требуются некоторые изменения ... –
Если я хочу использовать имя базы данных в переменной, то та же команда не работает, как улей -e 'show разделы $ dbname.t1 '> /home/$USER/t1.txt –