Database Reference
In-Depth Information
Sie sollten das gleiche Ergebnis erhalten wie beim direkt integrierten Java-
Script-Code.
Fest eingebaute Funktionen
Sie können einige der in Riak fest eingebauten Funktionen nutzen, die mit
dem JavaScript-Objekt Riak verknüpft sind. Wenn Sie den folgenden Code
ausführen, packen die Zimmer-Objekte die Werte in JSON und liefern sie
zurück. Die Funktion Riak.mapValuesJson gibt Werte im JSON-Format zu-
rück.
curl -X POST http://localhost:8091/mapred \
-H "content-type:application/json" --data @-
{
"inputs":[
["rooms","101"],["rooms","102"],["rooms","103"]
],
"query":[
{"map":{
"language":"javascript",
"name":"Riak.mapValuesJson"
}}
]
}
Riak stellt weitere Funktionen in einer Datei namens mapred _ builtins.js zur
Verfügung, die Sie online (oder tief im Code) finden. Sie können diese Syntax
auch nutzen, um eine fest eingebaute Funktionen aufzurufen. Diesem Thema
widmen wir uns morgen.
Reduce
Mapping ist nützlich, bei der Umwandlung einzelner Werte in andere indi-
viduelle Werte aber recht beschränkt. Irgendeine Form der Analyse über die
Daten auszuführen, und sei es so etwas Einfaches wie das Zählen der Da-
tensätze, verlangt einen weiteren Schritt. An dieser Stelle kommt Reduce ins
Spiel.
Das SQL/Ruby-Beispiel, das wir uns in 3.3, Reduce , auf Seite 71 angesehen
haben, zeigt, wie über alle Werte iteriert und die Gesamtkapazität für jeden
Zimmertyp berechnet wird. Wir wollen genau das in unserer reduce -Funktion
in JavaScript machen.
Der Großteil des an /mapred übergebenen Befehls ist gleich, doch diesmal
fügen wir noch die reduce -Funktion hinzu.
Search WWH ::




Custom Search