Ich habe einen großen Datensatz, aufgeteilt in viele 200 GB Chunks.PIG: Wie kann man einen großen Datensatz effizient laden und filtern?
Im Moment habe ich Schwierigkeiten, die Daten mit Pig zu knacken. Tatsächlich ist mein Cluster ziemlich klein (4 Knoten). Ich denke, ein möglicher Engpass ist, wenn ich die Daten lade, weil ich nur einen Bruchteil der 2 TB Daten brauche, die ich habe.
Insbesondere I wurde gefragt, ob
einen gesamten Datensatz geladen wird, und dann Filtrieren
A = load ‘data_part*’ as (x, y);
A = FILTER A by x>0
ist weniger effizient als
jeden Chunk Laden filtern jeden Chunk und hängen alles zusammen
A1 = load ‘data_part1’ as (x, y);
A1 = FILTER A1 by x>0
A2 = load ‘data_part2’ as (x, y);
A2 = FILTER A2 by x>0
A = UNION A1, A2;
Wenn das der Fall ist, warum?
Ich finde keinen Hinweis in der Dokumentation. Ich kann das jetzt auch nicht direkt mit meinen Daten versuchen. Wenn hier jemand helfen kann, wäre das toll!
Vielen Dank!
hallo danke! Entschuldigung, aber ich verstehe nicht. sagen die vollen Daten sind 2T, und nach dem Filter ist nur 20GB. Warum stirbt mein Cluster? Wird PiG die unbenutzten Daten nicht löschen? –