Доброе утро. Я ищу эквивалент в Hive REGEXP_SUBSTR, который я использую в других базах данных, таких как Teradata.
Мой конкретный случай c: У меня есть поле, содержащее строку. Это выглядит примерно так:
Row1: ABC ACC ADF AFA BAC CAF
Row2: ACC BAC CAG HOL HRR NOM
Row3: ACC ARR BBA CAF LOM NOM
В моем предложении WHERE я использую RLIKE для поиска определенных c частей строки, например:
WHERE mystring RLIKE 'BAC | BBA '
То, что я хотел бы сделать, это также возвращать ту часть, которая соответствует столбцу. Таким образом, результат будет:
Row1: BAC
Row2: BAC
Row3: BBA
В других базах данных я бы сделал это, поместив это в инструкцию SELECT: REGEXP_SUBSTR (mystring, '(BAC | BBA) \ S *'). Есть ли эквивалентная функция в Hive? Если так, то каков синтаксис?
Я рассмотрел несколько различных функций Hive, но они, похоже, ожидают, что строка будет находиться в одном и том же месте каждый раз, что здесь не так. Но я, по общему признанию, мог неправильно понять синтаксис.