MapReduce Join
Ein MapReduce-Join implementiert Verbünde in einem verteilten Rechenframework: Map taggt die Quelle, Shuffle gruppiert nach Join-Schlüssel, Reduce führt zusammen.
Zweck
Verständnis des verteilten Join-Ausführungsmodells und Analyse der Shuffle-Kosten von Big-Data-Verbünden.
Mechanismus
Map: jede Zeile emittiert (Join-Schlüssel, (Tag, Zeile)). Shuffle: Zeilen mit demselben Schlüssel versammeln sich an einem Reducer. Reduce: Gruppierung nach Tag, dann Nested-Loop- oder Hash-Join. Reduce-seitige Joins sind allgemein, aber shuffle-lastig; Map-seitige Joins erfordern das Broadcasten der kleinen Tabelle.
Anwendungsfälle
- Big-Data-Verbünde
- MapReduce-Optimierung
- Shuffle-Kostenanalyse