Ich versuche, einen Teil der Zeichenfolge zu extrahieren und es in Spalten in HBase zu speichern.Speichern Sie einige Felder von PIG nach Hbase
Dateien Inhalt:
msgType1 Person xyz has opened Internet:www.google.com from IP:192.123.123.123 for duration 00:15:00
msgType2 Person xyz denied for opening Internet:202.x.x.x from IP:192.123.123.123 reason:unautheticated
msgType1 Person xyz has opened Internet:202.x.x.x from IP:192.123.123.123 for duration 00:15:00
Muster von Nachrichten an msgType entspricht, wird festgelegt. Jetzt versuche ich den Namen, das Ziel, die Quelle, die Dauer usw. in hbase zu speichern.
Ich versuche, Skript in PIG, um diese Aufgabe zu erledigen. Aber ich bin bei der Extraktion Teil. (Extrahieren IP oder Website-Name von 'Internet: 202.x.x.x' Token innerhalb Zeichenfolge).
Ich versuchte regulären Ausdruck, aber es funktioniert nicht für mich. Regex alway diese Fehler werfen:
ERROR 1045: Could not infer the matching function for org.apache.pig.builtin.REGEX_EXTRACT as multiple or none of them fit. Please use an explicit cast.
gibt es eine andere Art und Weise diese Werte zu extrahieren und speichern, um es zu hbase in PIG oder andere als Schwein?
verwendet Regex wie: E = foreach D erzeugen REGEX_EXTRACT (Meldung, 'Internet: *') und : E = foreach D erzeugen REGEX_EXTRACT (Meldung, 'Internet: *', 2) und viele andere Variationen. – pradeep
A = LOAD 'yourfile' mit PigStorage ('\ t') AS (Schlüssel: chararray, Nachricht: chararray); B = foreach A generiere REGEX_EXTRACT (Nachricht, 'Internet: *'); – pradeep
Mit B = FOREACH ein GENERATE REGEX_EXTRACT_ALL (f1, '(. *) \: (. *)') AS (match1: chararray, match2: chararray); Es wirft Fehler: Fehler 1000: Fehler beim Parsen. Lexikalischer Fehler in Zeile 1, Spalte 57. Entdeckt: ":" (58), nach: "\ '(. *) \\" Details unter logfile:/home/pig_1.log Und mit B = FOREACH ein GENERATE REGEX_EXTRACT_ALL (f1, '(. *): (. *)') AS (match1: chararray, match2: chararray); Es wirft Fehler: - Fehler 1000: Fehler beim Parsen. "" In Zeile 1, Spalte 67. War eines von: Details bei logfile: /home/pig_1.log – pradeep