Verwendung von Map/Reduce-AEs in SQL-Abfragen
Das Map/Reduce-Framework Netezza Analytics bietet die Möglichkeit, Mapper und Reducer direkt aus nzsql aufzurufen. Es gibt drei allgemeine Analytic Executables (AEs), die mit der mapreduce-Cartridge in der inza-Datenbank registriert sind. Diese können in einer SQL-Abfrage verwendet werden, um einen bestimmten Mapper, Reducer oder Combiner aus einer Java-Klasse auszuführen. Die AEs werden als benutzerdefinierte Tabellenfunktionen (UDTF) mit den folgenden Namen registriert:
- MapperAE
- ReducerAE
- CombinerAE
Diese SARs haben eine gemeinsame Signatur:
<Aufgabe>AEK1, ... , Kn, V1, ... , Vm,NZAE_PARAMETER2=<conf.xml>')
Dabei gilt:
- K1, ... , Kn
- Die Schlüsselspalten.
- V1, ... ,Vm
- Die Wertespalten,
- <conf.xml>
- Der Pfad zu einer Konfigurationsdatei, die alle für die Ausführung der Aufgabe erforderlichen Eigenschaften enthält.
Eigenschaften
In der folgenden Tabelle sind die für jede AE verfügbaren Eigenschaften aufgeführt.
| Eigenschaft | Zuordnungsfunktion | Mähdrescher | Reduzierstück |
|---|---|---|---|
| mapreduce.job.run.dir | ERFORDERLICH | JA | JA |
| mapreduce.job.jar | ERFORDERLICH, wenn Job's jar verfügbar ist | ERFORDERLICH, wenn Job's jar verfügbar ist | ERFORDERLICH, wenn Job's jar verfügbar ist |
| mapreduce.job.map.class | ERFORDERLICH | ||
| mapreduce.map.input.key.class | ERFORDERLICH | ||
| mapreduce.map.input.value.class | ERFORDERLICH | ||
| mapreduce.map.output.key.class | ERFORDERLICH | ERFORDERLICH | JA |
| mapreduce.map.output.key.columns.sizes | ERFORDERLICH | ||
| mapreduce.map.output.value.class | ERFORDERLICH | ERFORDERLICH | JA |
| mapreduce.map.output.value.columns.sizes | ERFORDERLICH | ||
| mapreduce.job.combine.class | ERFORDERLICH | ERFORDERLICH | |
| mapreduce.combine.output.key.class | ERFORDERLICH | ERFORDERLICH | ERFORDERLICH, wenn mapreduce.job.combine.class definiert ist |
| mapreduce.combine.output.key.columns.sizes | ERFORDERLICH | ERFORDERLICH | |
| mapreduce.combine.output.value.class | ERFORDERLICH | ERFORDERLICH | ERFORDERLICH, wenn mapreduce.job.combine.class definiert ist |
| mapreduce.combine.output.value.columns.sizes | ERFORDERLICH | ||
| mapreduce.job.reduce.class | ERFORDERLICH | ||
| mapreduce.reduce.output.key.class | ERFORDERLICH | ||
| mapreduce.reduce.output.key.columns.sizes | ERFORDERLICH | ||
| mapreduce.reduce.output.value.class | ERFORDERLICH | ||
| mapreduce.reduce.output.value.columns.sizes | ERFORDERLICH |