Улей извлекать текст до <br> - PullRequest
0 голосов
/ 21 января 2019

В Apache Hive, как я могу извлечь подстроку из заданной строки.У меня есть столбец, содержащий значение ниже.

Мне нужно извлечь ABC3170 из строки ниже, т.е. до <br>

мои данные выглядят примерно так, как показано ниже.Я хочу получить все записи и исключить текст после <BR> Col1 ---------G3333XYZD205289ABC2620CDF-B700SТАМОЖЕННЫЙ МЕНЕДЖЕРABC3170 <BR></DIV><DIV DIR="AUTO" STYLE="DIRECTION: LTR; MARGIN: 0; PADDING: 0; FONT-FAMILY: SANS-SE

1 Ответ

0 голосов
/ 21 января 2019

Используйте Regexp_Extract функцию и соответствующее регулярное выражение Java для извлечения значения до <BR>.

Выражение регулярного выражения:

(.*?)\\s+<BR> //capture without space until <BR>

Запрос улья:

hive> select regexp_extract(<column.name>,"(.*?)\\s+<BR>",1) from <db.name>.<tab.name>;

Пример: * ** 1022 тысячу двадцать одна * hive> select regexp_extract(txt,"(.*?)\\s+<BR>",1),txt from i; +----------+---------------------------------------------------------------------------------------------------------------------------------------------+--+ | _c0 | txt | +----------+---------------------------------------------------------------------------------------------------------------------------------------------+--+ | ABC3170 | ABC3170 <BR></DIV><DIV DIR="AUTO" STYLE="DIRECTION: LTR; MARGIN: 0; PADDING: 0; FONT-FAMILY: SANS-SERIF; FONT-SIZE: 11PT; COLOR: BLACK; "> | +----------+---------------------------------------------------------------------------------------------------------------------------------------------+--+

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...