извлечение подстроки из текстового столбца в кусте - PullRequest
0 голосов
/ 08 ноября 2018

У нас есть текстовые данные в столбце с названием title, как показано ниже

"id":"S-1-98-13474422323-33566802","name":"uid=Xzdpr0,ou=people,dc=vm,dc=com","shortName":"XZDPR0","displayName":"Jund Lee","emailAddress":"jund.lee@bm.com","title":"Leading Product Investor"

Необходимо извлечь только отображаемое имя (в данном примере Jund lee) из приведенных выше текстовых данных в кусте. Я пробовал использовать функцию подстроки, но, похоже, не работает, пожалуйста, помогите

1 Ответ

0 голосов
/ 09 ноября 2018

Используйте функцию regexp_extract с регулярным выражением matching для захвата только displayName из значения вашего поля title.

Пример:

hive> with tb as(select string('"id":"S-1-98-13474422323-33566802",
         "name":"uid=Xzdpr0,ou=people,dc=vm,dc=com","shortName":"XZDPR0",
         "displayName":"Jund Lee","emailAddress":"jund.lee@bm.com",
         "title":"Leading Product Investor"')title) 
     select regexp_extract(title,'"displayName":"(.*?)"',1) title from tb;

+-----------+--+
|   title   |
+-----------+--+
| Jund Lee  |
+-----------+--+
...