Невозможно удалить раздел таблицы кустов содержит специальный символ знак равенства (=)
вставлены данные в таблицу Hive со значением столбца раздела (CL) в виде ('CL=18'), который хранится как /db/tbname/CL=CL%3D18 (недопустимый раздел содержит специальный символ в кодировке URL для знака равенства).
Согласно сообществу hortonworks, было упомянуто, что улей хранит специальные символы, поскольку URL избежал.
- Я пытался использовать escape-последовательность для знака равенства как \x3D(hex), \u0030 (unicode), но не сработало
Пример: изменить таблицу tb drop section (CL='CL\x3D18'); <- не работал
Кто-нибудь может мне помочь, я делаю что-то неправильно для знака равенства (=)?
1 ответ
Попробуй с alter table id drop partition(cl="cl=18");
(или), заключив значение раздела в single quotes(')
также.
я воссоздал сценарий и смог удалить разделы со специальными символами, не используя шестнадцатеричную последовательность.
Пример:
Я создал таблицу разделов с cl в качестве столбца раздела string
тип.
hive> alter table t1 add partition(cl="cl=18"); --add the partition to the table
hive> show partitions t1; --list the partititons in the table
+-------------+--+
| partition |
+-------------+--+
| cl=cl%3D18 |
+-------------+--+
hive> alter table t1 drop partition(cl='cl=18'); --drop the partition from the table.
hive> show partitions t1;
+------------+--+
| partition |
+------------+--+
+------------+--+