Удаление пустых мест в Hive - PullRequest
0 голосов
/ 03 октября 2018

Я не могу удалить пустые места из таблицы Hive.

Ниже вводится:

select ColName from <TableName> where <Filtering Condition>;
EAIaIQobChMIibKXn4HY3QIVieNkCh2vxwlQEAQYByABEgIGRfD_BwE

select hex("EAIaIQobChMIibKXn4HY3QIVieNkCh2vxwlQEAQYByABEgIGRfD_BwE");
4541496149516F6243684D4969624B586E3448593351495669654E6B4368327678776C514541515942794142456749475266445F427745

Ниже приведен способ, которым я пытался удалить пробел:

select hex(ColName) from <TableName> where <Filtering Condition>;

select hex(trim(ColName)) from <TableName> 
where <Filtering Condition>;

select hex(REGEXP_REPLACE(ColName, '\\s+', '')) from <TableName>  where <Filtering Condition>;

select hex(translate(ColName, ' ', '')) from <TableName>  where <Filtering Condition>;

select hex(regexp_replace(trim(ColName),' +',' ')) from <TableName>  where <Filtering Condition>;

Вот вывод для всех возможных запросов:

004500410049006100490051006F006200430068004D004900690062004B0058006E003400480059003300510049005600690065004E006B004300680032007600780077006C0051004500410051005900420079004100420045006700490047005200660044005F00420077004500

Пробовал и ниже.Но не повезло:

select regexp_replace(ColName,'\\s','');
select regexp_replace(ColName,'\\p{Blank}','');
select regexp_replace(ColName,'\\p{Space}','');
select regexp_replace(ColName,'\\p{javaWhitespace}','');

Я просто использовал гекс в большинстве случаев для определения пробелов.Из вышеприведенного вывода я ясно понимаю, что ни один из запросов не удаляет пробелы, поскольку 00 становится префиксом для всех символов.

Не могли бы вы предложить, если есть какой-либо другой способ исправить мою проблему?

Моя проблема в том, что я пытаюсь соединить эту строку между двумя таблицами.Но из-за пробелов в одной из таблиц я не получаю совпадений.

Спасибо за вашу помощь в Advance.

...