Ich habe ein Problem beim Gruppieren von Daten mit Apache-Schwein.Pig Gruppe von zwei Feldern ergibt seltsames Ergebnis
Laden von Daten mit:
client_trace_send = LOAD '/user/hduser1/adm_project/client_trace50.csv' using PigStorage(',') as (code:chararray, client_id:int, loc_ts:int, length:int, op:chararray, err_code:int, time:long, thread_id:INT);
Begrenzung * und Prüfungsdaten:
client_trace_send_small = LIMIT client_trace_send 10;
DUMP client_trace_send_small;
Daten geladen:
(msg_snd,0,1,46,enrol_req,-1,1414250523591,9)
(res_rcv,0,1,25,enrol_resp,,1414250523655,9)
(msg_snd,1,2,48,query_queue,-1,1414250523655,9)
(res_rcv,1,2,14,err,19,1414250523661,9)
(msg_snd,1,3,59,peek_req,-1,1414250523661,9)
(res_rcv,1,3,13,err,0,1414250523662,9)
(msg_snd,1,4,59,peek_req,-1,1414250523662,9)
(res_rcv,1,4,13,err,0,1414250523663,9)
(msg_snd,1,5,59,peek_req,-1,1414250523663,9)
Nun möchte ich zu einer Gruppe die Daten über die Felder „client_id "und" loc_ts ".
GROUPED = GROUP client_trace_send_small by (client_id,loc_ts);
Überprüfen Sie das Ergebnis:
DUMP GROUPED;
Und seine seltsam:
((0,1),{(msg_snd,0,1,46,enrol_req,-1,1414250523591,9)})
((1,2),{(msg_snd,1,2,48,query_queue,-1,1414250523655,9)})
((1,3),{(msg_snd,1,3,59,peek_req,-1,1414250523661,9)})
((1,4),{(msg_snd,1,4,59,peek_req,-1,1414250523662,9)})
((1,5),{(msg_snd,1,5,59,peek_req,-1,1414250523663,9)})
((8,28493),{(msg_snd,8,28493,62,pop_req,-1,1414251764157,16)})
((9,25976),{(msg_snd,9,25976,66,query_sender,-1,1414251764148,17)})
((19,28250),{(msg_snd,19,28250,64,pop_req,-1,1414251764152,27)})
((31,27977),{(msg_snd,31,27977,65,peek_req,-1,1414251764152,39)})
Es gibt Werte vorhanden, die auch in den geladenen Daten erscheinen nicht. Für die erste Gruppe ich so etwas wie erwartet:
((0,1),{(msg_snd,0,1,46,enrol_req,-1,1414250523591,9),{(res_rcv,0,1,25,enrol_resp,,1414250523655,9)})
Was falsch ist hier los?
Ich schätze Ihre Hilfe, danke im Voraus.
Mit freundlichen Grüßen
Sie dumpten 'client_trace_send_small' und gruppierten' send_small'! – 54l3d
Hoppla! Entschuldigung, das ist ein Fehler beim Kopieren und Einfügen. Ich habe tatsächlich client_trace_send_small gruppiert. Sonst hätte ich einen Fehler in der Grunt-Konsole erhalten, da send_small nicht existiert. – Redo
Bearbeiten Sie Ihre Frage bitte, damit sie für andere verständlich ist. – 54l3d