Также в дополнение к уже предоставленным решениям с regexp_extract
и substr()
+ instr()
, вы можете использовать split()
:
hive> select split('ENTERPRISE > DEMO','>')[0];
OK
ENTERPRISE
Time taken: 0.099 seconds, Fetched: 1 row(s)
hive> select split('ENTERPRISE > DEMO','>')[1];
OK
DEMO
Time taken: 0.072 seconds, Fetched: 1 row(s)
Примените trim (), если вы хотите удалить пробелы:
hive> select trim(split('ENTERPRISE > DEMO','>')[0]);
OK
ENTERPRISE
Или вы можете разделить на любое количество пробелов + '>' + любое количество пробелов. split () использует регулярное выражение, нет необходимости использовать trim ():
hive> select trim(split('ENTERPRISE >DEMO',' *?> *?')[0]);
OK
ENTERPRISE
Time taken: 0.075 seconds, Fetched: 1 row(s)