2017-08-17 1 views
2

Ich habe mehrere IDs für jede Zeile und ich möchte die Zahl extrahieren, die nach bestimmten Text in jeder Zeile kommt. Unten könnten meine Werte in der ID Spalte stehen.Extrahieren von Text nach bestimmten Zeichen in Zeichenfolge im Bienenstock

test123; tghy876; 8906; TT-1234

best123; tghy8656; 88706; TT-5678

Ich möchte Ausgabe nur Zahlen zurückgeben, die nach tt kommt - so sollte meine Ausgabe wie folgt sein.

was hive Code sollte dies zu erreichen, verwendet werden?

Antwort

0

konnte es mit mehreren Split tun.

geteilte (split (id, "tt -") [1], ";") [0]

2

regexp Verwendung - erste Gruppe von einer beliebigen Anzahl von Stellen nach ‚Rückkehr; TT-‘

select regexp_extract(src_string,'\; TT-(\\d+)',1); 

Demo:

hive> select regexp_extract('best123\; tghy8656\; 88706\; TT-5678','\; TT-(\\d+)',1); 
OK 
5678 
Time taken: 0.056 seconds, Fetched: 1 row(s) 
hive> 
Verwandte Themen