7 Tools zum Zähmen von Big Data mit Hadoop

Die Überschwemmungen, die die Festplattenindustrie in Thailand verwüstet haben, sind jetzt ein halbes Jahr alt, und die Preise pro Terabyte fallen endlich wieder. Das bedeutet, dass sich Daten häufen und die Mitarbeiter im Büro sich fragen, was damit getan werden kann. Vielleicht gibt es einige Einblicke in diese Protokolldateien? Vielleicht findet eine statistische Analyse einige Goldklumpen, die in all dem Lärm vergraben sind? Vielleicht finden wir genug Wechselgeld in den Sofakissen dieser Akten, um uns alle eine Gehaltserhöhung zu ermöglichen?

Die Branche hat jetzt das Schlagwort "Big Data", wie wir mit der riesigen Menge an Informationen etwas anfangen sollen. "Big Data" ersetzt "Business Intelligence", das "Reporting" subsumiert, was "Tabellenkalkulationen" einen schöneren Glanz verleiht und die altmodischen "Ausdrucke" übertrifft. Manager, die vor langer Zeit Ausdrucke studiert haben, stellen jetzt Mathematiker ein, die behaupten, Big-Data-Spezialisten zu sein, um das gleiche alte Problem zu lösen: Was verkauft sich und warum?

[Ebenfalls auf: Enterprise Hadoop: Big Data-Verarbeitung erleichtert | Entdecken Sie die aktuellen Trends und Lösungen in BI mit dem interaktiven Business Intelligence iGuide. | Entdecken Sie mit dem Newsletter Technology: Applications, was in Geschäftsanwendungen neu ist. ]]

Es ist nicht fair zu behaupten, dass diese Schlagworte ein einfacher Ersatz für einander sind. Big Data ist eine kompliziertere Welt, da der Maßstab viel größer ist. Die Informationen sind normalerweise auf mehrere Server verteilt, und die Zusammenstellung der Daten muss zwischen ihnen koordiniert werden. In der Vergangenheit wurde die Arbeit weitgehend an die Datenbanksoftware delegiert, die mithilfe ihres magischen JOIN-Mechanismus Tabellen kompilierte und dann die Spalten addierte, bevor das Datenrechteck an die Berichtssoftware übergeben wurde, die es paginierte. Das war oft schwieriger als es sich anhört. Datenbankprogrammierer können Ihnen die Geschichten über komplizierte JOIN-Befehle erzählen, die ihre Datenbank stundenlang sperren würden, während sie versuchten, einen Bericht für den Chef zu erstellen, der seine Kolumnen nur so wollte.

Das Spiel ist jetzt ganz anders. Hadoop ist ein beliebtes Tool zum Organisieren von Racks und Racks von Servern, und NoSQL-Datenbanken sind beliebte Tools zum Speichern von Daten auf diesen Racks. Diese Mechanismen können viel leistungsfähiger sein als die alte Einzelmaschine, aber sie sind bei weitem nicht so ausgefeilt wie die alten Datenbankserver. Obwohl SQL kompliziert sein kann, war das Schreiben der JOIN-Abfrage für die SQL-Datenbanken oft viel einfacher als das Sammeln von Informationen von Dutzenden von Computern und das Kompilieren dieser Informationen zu einer zusammenhängenden Antwort. Hadoop-Jobs werden in Java geschrieben, und das erfordert ein anderes Maß an Raffinesse. Die Tools zur Bewältigung von Big Data fangen gerade erst an, diese verteilte Rechenleistung auf eine Weise zu verpacken, die etwas einfacher zu verwenden ist.

Viele der Big-Data-Tools arbeiten auch mit NoSQL-Datenspeichern. Diese sind flexibler als herkömmliche relationale Datenbanken, aber die Flexibilität weicht nicht so sehr von der Vergangenheit ab wie Hadoop. NoSQL-Abfragen können einfacher sein, da das Datenbankdesign die komplizierte Tabellenstruktur entmutigt, die die Komplexität der Arbeit mit SQL erhöht. Die Hauptsorge ist, dass die Software die Möglichkeit vorhersehen muss, dass nicht jede Zeile Daten für jede Spalte enthält.

Die größte Herausforderung könnte darin bestehen, sich mit den Erwartungen zu befassen, die der große Kinofilm "Moneyball" weckt. Alle Chefs haben es gesehen und die Botschaft aufgenommen, dass einige clevere Statistiken ein Team mit kleinem Budget zu einem World Series-Gewinner machen können. Es ist egal, dass die Oakland Athletics in der "Moneyball" -Ära nie die World Series gewonnen haben. Das ist die Magie von Michael Lewis 'Prosa. Die Chefs denken alle: "Vielleicht wird Hollywood Brad Pitt einstellen, um mich in der Filmversion zu spielen, wenn ich ein paar gute Statistiken bekomme."

Keine der Software in dieser Sammlung wird Brad Pitt dazu verleiten, seinen Agenten um eine Kopie des Skripts für die Filmversion Ihres Hadoop-Jobs zu bitten. Das muss von dir oder den anderen Menschen kommen, die an dem Projekt arbeiten. Das Verstehen der Daten und das Finden der richtigen Frage ist oft viel komplizierter als das schnelle Ausführen Ihres Hadoop-Jobs. Das sagt wirklich etwas aus, denn diese Tools sind nur die halbe Miete.

Um das Versprechen des Feldes in den Griff zu bekommen, lud ich einige Big-Data-Tools herunter, mischte Daten ein und starrte dann auf die Antworten für Einstein-Einsichten. Die Informationen stammten aus Protokolldateien auf der Website, auf der einige meiner Bücher verkauft wurden (wayner.org), und ich suchte nach einer Vorstellung davon, was verkauft wurde und warum. Also habe ich die Software ausgepackt und die Fragen gestellt.

 

Big-Data-Tools: Jaspersoft BI Suite

Das Jaspersoft-Paket ist einer der Open-Source-Marktführer für die Erstellung von Berichten aus Datenbankspalten. Die Software ist gut poliert und bereits in vielen Unternehmen installiert, um SQL-Tabellen in PDFs umzuwandeln, die jeder bei Besprechungen überprüfen kann.

Das Unternehmen steigt in den Big-Data-Zug ein. Dies bedeutet, dass eine Softwareschicht hinzugefügt wird, um die Software zur Berichterstellung mit den Orten zu verbinden, an denen Big Data gespeichert wird. Der JasperReports Server bietet jetzt Software zum Abrufen von Daten von vielen der wichtigsten Speicherplattformen, einschließlich MongoDB, Cassandra, Redis, Riak, CouchDB und Neo4j. Hadoop ist ebenfalls gut vertreten. JasperReports bietet einen Hive-Anschluss für HBase.

Diese Bemühungen scheinen noch nicht abgeschlossen zu sein - viele Seiten des Dokumentations-Wikis sind leer und die Tools sind nicht vollständig integriert. Der visuelle Abfrage-Designer funktioniert beispielsweise noch nicht mit Cassandras CQL. Sie können diese Abfragen manuell eingeben.

Sobald Sie die Daten aus diesen Quellen erhalten haben, werden sie vom Jaspersoft-Server auf interaktive Tabellen und Grafiken reduziert. Die Berichte können sehr ausgefeilte interaktive Tools sein, mit denen Sie einen Drilldown in verschiedene Ecken durchführen können. Sie können immer mehr Details anfordern, wenn Sie diese benötigen.

Dies ist eine gut entwickelte Ecke der Software-Welt, und Jaspersoft erweitert sich, indem es einfacher wird, diese anspruchsvollen Berichte mit neueren Datenquellen zu verwenden. Jaspersoft bietet keine besonders neuen Möglichkeiten zum Anzeigen der Daten, sondern nur ausgefeiltere Möglichkeiten zum Zugreifen auf Daten, die an neuen Speicherorten gespeichert sind. Ich fand das überraschend nützlich. Die Aggregation meiner Daten reichte aus, um zu verstehen, wer auf die Website ging und wann sie dorthin gingen.

 

Big-Data-Tools: Pentaho Business Analytics

Pentaho ist eine weitere Softwareplattform, die als Engine zur Berichterstellung begann. Wie JasperSoft verzweigt es sich in Big Data, indem es das Aufnehmen von Informationen aus den neuen Quellen erleichtert. Sie können das Pentaho-Tool mit vielen der beliebtesten NoSQL-Datenbanken wie MongoDB und Cassandra verbinden. Sobald die Datenbanken verbunden sind, können Sie die Spalten per Drag & Drop in Ansichten und Berichte ziehen, als ob die Informationen aus SQL-Datenbanken stammen.

Ich fand die klassischen Sortier- und Siebtabellen äußerst nützlich, um zu verstehen, wer die meiste Zeit auf meiner Website verbracht hat. Das einfache Sortieren nach IP-Adresse in den Protokolldateien zeigte, was die starken Benutzer taten.

Pentaho bietet auch Software zum Zeichnen von HDFS-Dateidaten und HBase-Daten aus Hadoop-Clustern. Eines der faszinierendsten Tools ist die grafische Programmierschnittstelle, die entweder als Kettle- oder Pentaho-Datenintegration bekannt ist. Es verfügt über eine Reihe integrierter Module, die Sie per Drag & Drop auf ein Bild ziehen und dann verbinden können. Pentaho hat Hadoop und die anderen Quellen gründlich in diese integriert, sodass Sie Ihren Code schreiben und zur Ausführung auf dem Cluster senden können.

 

Big-Data-Tools: Karmasphere Studio und Analyst

Viele der Big-Data-Tools begannen nicht als Berichterstellungstools. Karmasphere Studio ist beispielsweise eine Reihe von Plug-Ins, die auf Eclipse basieren. Es ist eine spezialisierte IDE, die das Erstellen und Ausführen von Hadoop-Jobs erleichtert.

Ich hatte ein seltenes Gefühl der Freude, als ich anfing, einen Hadoop-Job mit diesem Entwicklertool zu konfigurieren. Es gibt eine Reihe von Phasen im Leben eines Hadoop-Jobs, und die Tools von Karmasphere führen Sie durch jeden Schritt und zeigen die Teilergebnisse auf dem Weg. Ich denke, Debugger haben es uns immer ermöglicht, in den Mechanismus zu blicken, während er funktioniert, aber Karmasphere Studio macht etwas besseres: Während Sie den Workflow einrichten, zeigen die Tools bei jedem Schritt den Status der Testdaten an. Sie sehen, wie die temporären Daten aussehen, wenn sie auseinandergeschnitten, analysiert und dann reduziert werden.

Karmasphere vertreibt auch ein Tool namens Karmasphere Analyst, mit dem das Durchsuchen aller Daten in einem Hadoop-Cluster vereinfacht werden soll. Es enthält viele nützliche Bausteine ​​zum Programmieren eines guten Hadoop-Jobs, z. B. Unterprogramme zum Dekomprimieren von komprimierten Protokolldateien. Anschließend werden sie miteinander verknüpft und die Hive-Aufrufe parametrisiert, um eine Ausgabetabelle zum Durchsuchen zu erstellen.

 

Big-Data-Tools: Talend Open Studio

Talend bietet auch eine Eclipse-basierte IDE zum Aneinanderreihen von Datenverarbeitungsjobs mit Hadoop. Die Tools sollen bei der Datenintegration, Datenqualität und Datenverwaltung helfen, wobei alle Unterprogramme auf diese Jobs abgestimmt sind.

Mit Talend Studio können Sie Ihre Jobs aufbauen, indem Sie kleine Symbole auf eine Leinwand ziehen und dort ablegen. Wenn Sie einen RSS-Feed erhalten möchten, ruft die Talend-Komponente das RSS ab und fügt bei Bedarf Proxy hinzu. Es gibt Dutzende von Komponenten zum Sammeln von Informationen und Dutzende weitere zum Ausführen von Dingen wie einem "Fuzzy Match". Dann können Sie die Ergebnisse ausgeben.

Das visuelle Aneinanderreihen von Blöcken kann einfach sein, nachdem Sie ein Gefühl dafür bekommen haben, was die Komponenten tatsächlich tun und was nicht. Dies war für mich einfacher herauszufinden, als ich anfing, den Quellcode zu betrachten, der hinter der Leinwand zusammengestellt wurde. Talend lässt Sie das sehen, und ich denke, es ist ein idealer Kompromiss. Visuelle Programmierung mag wie ein hohes Ziel erscheinen, aber ich habe festgestellt, dass die Symbole die Mechanismen niemals so detailliert darstellen können, dass sie verstehen, was vor sich geht. Ich brauche den Quellcode.

Talend unterhält auch TalendForge, eine Sammlung von Open Source-Erweiterungen, die die Arbeit mit den Produkten des Unternehmens erleichtern. Die meisten Tools scheinen Filter oder Bibliotheken zu sein, die die Software von Talend mit anderen wichtigen Produkten wie Salesforce.com und SugarCRM verknüpfen. Sie können Informationen aus diesen Systemen in Ihre eigenen Projekte einfließen lassen, um die Integration zu vereinfachen.

 

Big-Data-Tools: Skytree Server

Nicht alle Tools sind so konzipiert, dass Code mit visuellen Mechanismen einfacher miteinander verknüpft werden kann. Skytree bietet ein Bundle, das viele der anspruchsvolleren Algorithmen für maschinelles Lernen ausführt. Sie müssen lediglich den richtigen Befehl in eine Befehlszeile eingeben.

Skytree konzentriert sich mehr auf die Eingeweide als auf die glänzende Benutzeroberfläche. Skytree Server ist optimiert, um eine Reihe klassischer Algorithmen für maschinelles Lernen für Ihre Daten auszuführen. Dabei wird eine Implementierung verwendet, die nach Angaben des Unternehmens 10.000-mal schneller sein kann als andere Pakete. Es kann Ihre Daten nach Clustern mathematisch ähnlicher Elemente durchsuchen und diese dann umkehren, um Ausreißer zu identifizieren, bei denen es sich möglicherweise um Probleme, Chancen oder beides handelt. Die Algorithmen können präziser sein als Menschen und sie können große Datenmengen durchsuchen, um nach Einträgen zu suchen, die etwas ungewöhnlich sind. Dies kann Betrug sein - oder ein besonders guter Kunde, der Geld ausgibt und ausgibt.

Die kostenlose Version der Software bietet dieselben Algorithmen wie die proprietäre Version, ist jedoch auf Datensätze mit 100.000 Zeilen beschränkt. Dies sollte ausreichen, um festzustellen, ob die Software gut zu Ihnen passt.

 

Big-Data-Tools: Tableau Desktop und Server

Tableau Desktop ist ein Visualisierungstool, mit dem Sie Ihre Daten auf einfache Weise auf neue Weise betrachten, dann aufteilen und auf andere Weise betrachten können. Sie können die Daten sogar mit anderen Daten mischen und in einem anderen Licht untersuchen. Das Tool ist so optimiert, dass Sie alle Spalten für die Daten erhalten und diese mischen können, bevor Sie sie in eine der Dutzenden von Grafikvorlagen einfügen.

Tableau Software hat vor einigen Versionen begonnen, Hadoop zu nutzen, und jetzt können Sie Hadoop "so behandeln, wie Sie es bei jeder Datenverbindung tun würden". Tableau verlässt sich bei der Strukturierung der Abfragen auf Hive und versucht dann, so viele Informationen wie möglich im Speicher zwischenzuspeichern, damit das Tool interaktiv ist. Während viele der anderen Berichterstellungstools auf der Tradition basieren, die Berichte offline zu generieren, möchte Tableau einen interaktiven Mechanismus anbieten, mit dem Sie Ihre Daten immer wieder in Scheiben schneiden und in Würfel schneiden können. Das Caching hilft dabei, die Latenz eines Hadoop-Clusters zu bewältigen.

Die Software ist gut poliert und ästhetisch ansprechend. Ich fand mich oft dabei, die Daten neu zu schneiden, nur um sie in einem weiteren Diagramm zu sehen, obwohl beim Wechsel von einem Kreisdiagramm zu einem Balkendiagramm und darüber hinaus nicht viel Neues zu lernen war. Das Software-Team besteht eindeutig aus einer Reihe von Personen mit künstlerischem Talent.

 

Big Data Tools: Splunk

Splunk unterscheidet sich ein wenig von den anderen Optionen. Es ist nicht gerade ein Tool zur Berichterstellung oder eine Sammlung von KI-Routinen, obwohl es auf dem Weg viel davon leistet. Es erstellt einen Index Ihrer Daten, als wären Ihre Daten ein Buch oder ein Textblock. Ja, Datenbanken erstellen auch Indizes, aber Splunks Ansatz ist einem Textsuchprozess viel näher.

Diese Indizierung ist überraschend flexibel. Splunk ist bereits auf meine spezielle Anwendung abgestimmt und macht Sinn für Protokolldateien. Es wird auch in verschiedenen Lösungspaketen verkauft, darunter eines zur Überwachung eines Microsoft Exchange-Servers und eines zur Erkennung von Webangriffen. Der Index hilft bei der Korrelation der Daten in diesen und mehreren anderen gängigen serverseitigen Szenarien.