Hadoop Split / Regex - PullRequest
       10

Hadoop Split / Regex

0 голосов
/ 22 октября 2018

У меня есть данные, которые выглядят следующим образом:

 Boston--Age:--Gender:--Favorite_Fruit:APPLE--Favorite_Veggie:GREEN BEANS--Blood_Type:AB

Я хотел бы разделить данные, чтобы получить данные в Favorite_Veggie без данных Blood_Type:

split('Boston--Age:--Gender:--Favorite_Fruit:APPLE--Favorite_Veggie:GREEN 
 BEANS--Blood_Type:AB', 'Favorite_Veggie\\:')[1]

текущий вывод:

 GREEN BEANS--Blood_Type:AB

идеальный выход:

 GREEN BEANS

1 Ответ

0 голосов
/ 22 октября 2018

Вам, вероятно, будет лучше использовать REGEX_EXTRACT:

data = 'Boston--Age:--Gender:--Favorite_Fruit:APPLE--Favorite_Veggie:GREEN BEANS--Blood_Type:AB'

REGEX_EXTRACT(data, 'Favorite_Veggie:([^-]*)', 1)

Если вы хотите использовать исключительно SPLIT, то разделите первую результирующую строку снова:

SPLIT(result, '--')[1]
...