Невозможно удалить раздел таблицы кустов содержит специальный символ знак равенства (=)

  • вставлены данные в таблицу 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  |
+------------+--+
+------------+--+
Другие вопросы по тегам