Im Cloudzeitalter hat sich JSON (JavaScript Object Notation) als flexibles Datenaustauschformat in den meisten Bereichen durchgesetzt. Es ist ähnlich ausdrucksstark wie XML, aber speicherplatzeffizienter und wegen der Möglichkeit der direkten Verarbeitung in Javascript besser in der Webinfrastruktur einsetzbar. So geben heute die meisten Webservices Daten im JSON Format zurück. Die WebAutomation Extension für RapidMiner ergänzt nun Funktionen, um diesen reichhaltigen Informations- und Funktionsfundus zu erschließen. Mit ihr lassen sich beliebige JSON-Datenstrukturen einlesen und für Analysen nutzbar machen sowie Webservices zur Datenanreicherung oder das Deployment ansprechen.
JSON-Import
Kernfunktionalität ist das extrem effiziente Einlesen von JSON-Daten in eine oder mehrere Tabellen. Dazu legt der Benutzer einen RapidMiner Prozess an, der die JSON-Struktur widerspiegelt und angibt, in welcher Tabelle und in welcher Spalte die Daten gespeichert werden sollen. Damit ist auch ein dynamischer, datengetrieber Aufbau des Formates möglich. Enthält das JSON relationale Strukturen, können mehrere Tabellen extrahiert werden, die über eindeutige IDs miteinander verbunden werden, sodass keine Informationen verloren gehen.
Die definierte JSON-Struktur kann genutzt werden, um JSON aus verschiedenen Quellen zu verarbeiten: Entweder aus einer Tabelle, einer Datei repräsentiert als FileObject in RapidMiner oder direkt von einem Webserviceaufruf. Damit deckt die Erweiterung im Zusammenspiel mit den Kernoperatoren von RapidMiner so gut wie jede mögliche Quelle von JSON-Daten ab. Entsprechend lassen sich die neuen Operatoren in jeden RapidMiner Prozess integrieren, für den Sie JSON-Daten benötigen.
JSON-Export
Die WebAutomation Extension erlaubt nicht nur, JSON zu importieren und zur weiteren Verarbeitung in RapidMiner zugänglich zu machen, es ist auch möglich, JSON direkt in RapidMiner zu generieren und von da aus weiterzuverwenden, etwa zum Hochladen seiner Analyseergebnisse. So kann die Arbeit mit Webservices für Data Scientists noch effizienter gestaltet werden.
Um in RapidMiner JSON generieren zu können, haben wir den neuen Write JSON Operator in die WebAutomation Extension eingefügt. An diesen können beliebig viele ExampleSets geliefert werden, die dann im Subprozess des Operators mithilfe von Insert Array und Insert Properties Operatoren zu einer JSON-Datei zusammengebaut werden. Der Prozessaufbau orientiert sich dabei an der Struktur des späteren JSON-Codes.
Um Ihnen den Einstieg in die Extension zu erleichtern, besitzt jeder Operator einen umfangreichen Hilfetext mit Beispielprozessen. Zusätzlich finden Sie in unserem Hilfebereich mehrere HowTos für die WebAutomation Extension, die die Funktionalitäten genau beleuchten (auf Englisch): JSON Parsing & Writing: Tutorials.
Webservices
Die Erweiterung bringt erweiterte Funktionalität mit, um Webservices in den Prozessablauf zu integrieren. Damit werden zahlreiche Unzulänglichkeiten der existierenden Web Extension beseitigt.
Die Operatoren
Die Extension stellt drei verschiedene Operatoren bereit, um Webservices aufzurufen. Zwei der Operatoren setzen dabei einen einzelnen Call ab, einer für jede Zeile eines gegebenen Datensatzes. Das einzelne Ergebnis kann als FileObject zurückgegeben werden: So eignen sich diese Operatoren zum Beispiel zum Abrufen von binären Daten wie Zip-Dateien oder CSVs. Alternativ lässt sich das Ergebnis direkt als JSON interpretieren, was unnötige Datenkopien vermeidet und damit den Speicherverbrauch reduziert. Im Fall des dritten Operators werden die Ergebnisse des Aufrufs direkt als neue Attribute in den Datensatz eingefügt.
Alle drei Operatoren verwenden Connections, in denen der Benutzer sowohl Authentizifierungsdaten hinterlegen kann, als auch ein Rate Limit festlegen kann. Dieses wird in der gesamten RapidMiner Instanz eingehalten. Laufen also mehrere Prozesse oder Prozessteile parallel, um Daten von einem Server abzurufen, ist die Einhaltung des Rate Limits trotzdem sichergestellt. Dadurch lassen sich leichter ärgerliche Accountsperrungen und IP-Bans vermeiden, die sonst nur mit viel Aufwand sicher auszuschließen sind.
Intern verwendet die Extension eine moderne, leistungsfähige HTTP-Bibliothek, die Verbindungen hält und nach Möglichkeit weiterverwendet und damit die Antwortzeiten deutlich reduziert.
Es ist nun auch endlich möglich, Cookies und Header dynamisch zu kontrollieren, indem beide als Datensätze zurückgegeben und auch für die nächste Anfrage als Datensatz gereicht werden können. Damit ist es nun sehr einfach möglich, beliebige HTTP-Logiken durch RapidMiner-Prozesse abzubilden.
Liste der Operatoren
JSON Parsing
- Parse JSON
- Parse JSON from Data
- Parse JSON from File
- Process Object
- Process Array
- Extract Properties
- Extract Scalar
- Commit Row
Webservice Requests
- Send Request
- Send Request from Data
- Send JSON Request
Lizenzkosten
Anzahl Nutzer | 1-Jahresabo | 2-Jahresabo | unbefristete Lizenz | Wartung |
---|---|---|---|---|
1 benannter Benutzer | 129.00€ * | 227.00€ * | 295.00€ * | 59.00€ * |
5 benannte Benutzer | 533.00€ * | 932.00€ * | 1,201.00€ * | 240.00€ * |
Firmenlizenz | 1,227.00€ * | 2,144.00€ * | 2,761.00€ * | 552.00€ * |
* zzgl. MwSt.
Haben Sie Fragen, Kritik oder Anmerkungen zu unserer Extension?
Nehmen Sie gern Kontakt mit uns auf.