Nicht umsonst erfahrenere Kollegen, deren Köpfe mit Fehlern übersät sind und die bereits grauhaarig sind, über die unglaublich schnelle Bereitstellung von "Containern" in "Cubes" auf Dutzenden von Servern in "modischen Sprachen" mit integrierter Unterstützung für asynchrone, nicht blockierende E / A nachdenken - bescheidenes Lächeln ... Und sie lesen "man ps" stillschweigend erneut, tauchen in den Quellcode von "nginx" ein, bis sie aus den Augen bluten, und schreiben, schreiben, schreiben und schreiben Unit-Tests. Die Kollegen wissen, dass das Interessanteste vor uns liegt, wenn "all das" eines Nachts an Silvester auf dem Spiel steht. Und nur ein tiefes Verständnis der Natur von Unix, eine erlernte TCP / IP-Statustabelle und grundlegende Sortiersuchalgorithmen werden ihnen helfen. Um das System unter dem Glockenspiel wieder zum Leben zu erwecken.
Oh ja, ich war ein wenig abgelenkt, aber ich hoffe, ich habe es geschafft, den Zustand der Vorfreude zu vermitteln.
Heute möchte ich unsere Erfahrungen mit der Bereitstellung eines praktischen und kostengünstigen Stacks für DataLake teilen, der die meisten analytischen Aufgaben in einem Unternehmen für völlig unterschiedliche strukturelle Abteilungen löst.
Vor einiger Zeit haben wir verstanden, dass das Unternehmen immer mehr die Früchte sowohl der Produkt- als auch der technischen Analyse benötigt (ganz zu schweigen von der Kirsche auf dem Kuchen in Form von maschinellem Lernen) und Trends und Risiken zu verstehen - immer mehr müssen gesammelt und analysiert werden. mehr Metriken.
Grundlegende technische Analyse bei Bitrix24
Vor einigen Jahren haben wir gleichzeitig mit der Einführung des Bitrix24-Dienstes aktiv Zeit und Ressourcen in die Schaffung einer einfachen und zuverlässigen Analyseplattform investiert, mit deren Hilfe wir Infrastrukturprobleme schnell erkennen und den nächsten Schritt planen können. Natürlich war es wünschenswert, die Werkzeuge fertig und so einfach und verständlich wie möglich zu nehmen. Infolgedessen wurde Nagios für die Überwachung und Munin für die Analyse und Visualisierung ausgewählt. Jetzt haben wir täglich Tausende von Checks in Nagios, Hunderte von Charts in Munin und Kollegen und setzen sie erfolgreich ein. Die Metriken sind klar, die Grafiken sind klar, das System arbeitet seit mehreren Jahren zuverlässig und es werden regelmäßig neue Tests und Grafiken hinzugefügt: Wir nehmen einen neuen Service in Betrieb - wir fügen mehrere Tests und Grafiken hinzu. Viel Glück.
Hand am Puls - fortschrittliche technische Analyse
Der Wunsch, Informationen über Probleme "so schnell wie möglich" zu erhalten, führte uns zu aktiven Experimenten mit einfachen und verständlichen Werkzeugen - pinba und xhprof.
Pinba schickte uns in UDP-Paketstatistiken Statistiken über die Geschwindigkeit von Teilen von Webseiten in PHP und es war möglich, online im MySQL-Speicher (Pinba wird mit einer eigenen MySQL-Engine für die schnelle Ereignisanalyse geliefert) eine kurze Liste von Problemen anzuzeigen und darauf zu reagieren. Und xhprof im automatischen Modus ermöglichte es, Ausführungsdiagramme der langsamsten PHP-Seiten von Clients zu sammeln und zu analysieren, was dazu führen könnte - ruhig, Tee einschenken oder etwas Stärkeres.
Vor einiger Zeit wurde das Toolkit durch eine weitere recht einfache und unkomplizierte Engine ergänzt, die auf dem Algorithmus für die umgekehrte Indizierung basiert und perfekt in der legendären Lucene-Bibliothek implementiert ist - Elastic / Kibana. Die einfache Idee, Dokumente mit mehreren Threads in den inversen Lucene-Index zu schreiben, basierend auf Ereignissen in den Protokollen, und sie mithilfe der facettierten Unterteilung schnell zu durchsuchen, erwies sich als sehr nützlich.
Trotz der eher technischen Art von Visualisierungen in Kibana mit "fließenden" Low-Level-Konzepten wie "Bucket" und der neu erfundenen Sprache der noch nicht vergessenen relationalen Algebra half uns das Tool bei den folgenden Aufgaben:
- Wie viele PHP-Fehler hatte der Bitrix24-Client in der letzten Stunde auf dem p1-Portal und welche? Verstehe, vergebe und behebe schnell.
- - 24 , /?
- ( C PHP), ? segfaults?
- PHP? : «out of memory»? .
Hier ist ein konkretes Beispiel. Trotz sorgfältiger und mehrstufiger Tests hatte der Client mit einem sehr ungewöhnlichen Fall und beschädigten Eingabedaten einen nervigen und unerwarteten Fehler, eine Sirene ertönte und der Prozess der schnellen Lösung begann:
Darüber hinaus können Sie mit kibana Benachrichtigungen über bestimmte Ereignisse organisieren und sind in kurzer Zeit zu einem Werkzeug im Unternehmen geworden Verwenden Sie Dutzende von Mitarbeitern aus verschiedenen Abteilungen - von technischem Support und Entwicklung bis hin zur Qualitätssicherung.
Die Aktivitäten einer Abteilung innerhalb des Unternehmens lassen sich bequem nachverfolgen und messen. Statt einer manuellen Analyse der Protokolle auf Servern reicht es aus, die Analyse der Protokolle einzurichten und sie einmal an den elastischen Cluster zu senden, um beispielsweise die Anzahl der verkauften zweiköpfigen Kätzchen im Kibana-Dashboard zu betrachten, die auf 3D gedruckt sind Drucker für den letzten Mondmonat.
Grundlegende Business Intelligence
Jeder weiß, dass Business Intelligence in Unternehmen häufig mit einer äußerst aktiven Nutzung beginnt, ja, ja, Excel. Hauptsache aber, dass es dort nicht endet. Cloud Google Analytics fügt dem Feuer Treibstoff hinzu - Sie gewöhnen sich schnell an gute Dinge.
In unserem sich harmonisch entwickelnden Unternehmen tauchten hier und da „Propheten“ intensiverer Arbeit mit größeren Datenmengen auf. Der Bedarf an tieferen und vielfältigeren Berichten tauchte regelmäßig auf, und dank der Bemühungen von Mitarbeitern aus verschiedenen Abteilungen wurde vor einiger Zeit eine einfache und praktische Lösung organisiert - eine Kombination aus ClickHouse und PowerBI.
Diese flexible Lösung hat lange Zeit sehr geholfen, aber nach und nach wurde klar, dass ClickHouse kein Gummi ist und nicht so verspottet werden kann.
Hier ist es wichtig zu verstehen, dass ClickHouse wie Druid wie Vertica wie Amazon RedShift (basierend auf Postgres) Analyse-Engines sind, die für recht bequeme Analysen (Summen, Aggregationen, Minimum-Maximum pro Spalte und ein wenig Joins) optimiert sind ), weil sind so organisiert, dass Spalten im Gegensatz zu MySQL und anderen bekannten (zeilenorientierten) Datenbanken, die wir kennen, effizient in relationalen Tabellen gespeichert werden.
Tatsächlich ist ClickHouse nur eine umfangreichere "Datenbank" von Daten mit nicht sehr praktischer Punkteinfügung (wie beabsichtigt, alles ist in Ordnung), aber netten Analysen und einer Reihe interessanter leistungsstarker Funktionen für die Arbeit mit Daten. Ja, Sie können sogar einen Cluster erstellen - aber Sie verstehen, dass das Hämmern von Nägeln mit einem Mikroskop nicht ganz korrekt ist, und wir haben begonnen, nach anderen Lösungen zu suchen.
Die Nachfrage nach Python und Analysten
Es gibt viele Entwickler in unserem Unternehmen, die 10 bis 20 Jahre lang fast täglich Code in PHP, JavaScript, C #, C / C ++, Java, Go, Rust, Python und Bash schreiben. Es gibt auch viele erfahrene Systemadministratoren, die mehr als eine absolut unglaubliche Katastrophe überlebt haben, die nicht in die Gesetze der Statistik passt (zum Beispiel, wenn die meisten Festplatten in Raid-10 durch einen starken Blitzschlag zerstört werden). Unter solchen Bedingungen war lange Zeit nicht klar, was ein "Python-Analyst" ist. Python ist wie PHP, nur der Name ist etwas länger und die Spuren der geistesverändernden Substanzen sind im Quellcode des Interpreters etwas kleiner. Mit der Erstellung von immer mehr Analyseberichten erkannten erfahrene Entwickler jedoch immer mehr, wie wichtig eine enge Spezialisierung auf Tools wie Numpy, Pandas, Matplotlib und Seaborn ist.
Die entscheidende Rolle spielte höchstwahrscheinlich die plötzliche Ohnmacht der Mitarbeiter aufgrund der Kombination der Wörter "logistische Regression" und der Nachweis einer effektiven Berichterstattung über große Datenmengen mit yes, yes, pyspark.
Apache Spark, sein Funktionsparadigma, seine relationale Algebra und seine Fähigkeiten haben Entwickler, die an MySQL gewöhnt sind, so beeindruckt, dass die Notwendigkeit, den Kampf mit erfahrenen Analysten zu stärken, mit der Zeit klar wurde.
Weitere Versuche von Apache Spark / Hadoop zu starten und was schief gelaufen ist
Es wurde jedoch schnell klar, dass mit Spark anscheinend etwas systemisch nicht ganz stimmt oder Sie nur Ihre Hände besser waschen müssen. Wenn der Hadoop / MapReduce / Lucene-Stack von ziemlich erfahrenen Programmierern erstellt wurde, was offensichtlich ist, wenn man sich den Java-Quellcode oder die Ideen von Doug Cutting in Lucene mit Leidenschaft ansieht, dann ist Spark plötzlich aus praktischer Sicht sehr kontrovers geschrieben und entwickelt jetzt keine exotische Scala-Sprache. Und der regelmäßige Rückgang der Berechnungen im Spark-Cluster aufgrund der unlogischen und nicht sehr transparenten Arbeit mit der Zuweisung von Speicher für Reduzierungsvorgänge (viele Schlüssel kommen gleichzeitig an) - hat einen Heiligenschein um etwas herum erzeugt, das Raum zum Wachsen hat. Zusätzlich wurde die Situation durch eine große Anzahl seltsamer offener Ports, temporärer Dateien, verschärft.Wachsen an den unverständlichsten Orten und in der Hölle der Glasabhängigkeiten - was den Systemadministratoren seit ihrer Kindheit ein bekanntes Gefühl verursachte: heftigen Hass (oder vielleicht war es notwendig, Ihre Hände mit Wasser und Seife zu waschen).
Infolgedessen haben wir mehrere interne Analyseprojekte „überlebt“, die Apache Spark (einschließlich Spark Streaming, Spark SQL) und das Hadoop-Ökosystem (und andere und andere) aktiv verwendeten. Trotz der Tatsache, dass wir im Laufe der Zeit gelernt haben, "es" gut zu kochen und zu überwachen, und "es" praktisch plötzlich aufhörte zu fallen, aufgrund der Änderung der Art der Daten und des Ungleichgewichts des einheitlichen RDD-Hashing, des Wunsches, etwas Fertiges zu nehmen, das irgendwo aktualisiert und verwaltet wird Die Wolke wurde immer stärker. Zu diesem Zeitpunkt haben wir versucht, die vorgefertigte Cloud-basierte Assembly von Amazon Web Services - EMR zu verwenden, und anschließend versucht, Probleme zu lösen. EMR ist ein Apache Spark, der von Amazon mit zusätzlicher Software aus dem Ökosystem erstellt wurde, ähnlich wie Cloudera / Hortonworks-Builds.
"Gummi" -Dateispeicher für Analysen - ein dringender Bedarf
Die Erfahrung, Hadoop / Spark mit Verbrennungen an verschiedenen Körperteilen zu "kochen", war nicht umsonst. Die Notwendigkeit, einen einzigen, kostengünstigen und zuverlässigen Dateispeicher zu erstellen, der gegen Hardwarefehler resistent ist und in dem Dateien in verschiedenen Formaten von verschiedenen Systemen gespeichert werden können und in dem eine effiziente und zu einem angemessenen Zeitpunkt ausgewählte Auswahl für Berichte möglich ist, wurde immer deutlicher.
Ich wollte auch, dass das Software-Update dieser Plattform nicht zu einem Neujahrs-Albtraum wird, wenn 20-seitige Java-Traces gelesen und kilometerlange detaillierte Cluster-Protokolle mit Spark History Server und einer von hinten beleuchteten Lupe analysiert werden. Ich wollte ein einfaches und transparentes Tool, das kein regelmäßiges Tauchen unter der Haube erfordert, wenn der Entwickler die Standard-MapReduce-Anforderung nicht mehr ausführt, wenn der Worker zum Reduzieren von Daten mit einem schlecht ausgewählten Partitionierungsalgorithmus für die Anfangsdaten aus dem Speicher ausfällt.
Amazon S3 ein DataLake-Kandidat?
Die Erfahrung mit Hadoop / MapReduce hat gezeigt, dass Sie ein skalierbares, zuverlässiges Dateisystem und darüber skalierbare Mitarbeiter benötigen, die näher an die Daten heranrücken, um keine Daten über das Netzwerk zu übertragen. Die Arbeitnehmer sollten in der Lage sein, Daten in verschiedenen Formaten zu lesen, jedoch vorzugsweise keine unnötigen Informationen zu lesen, damit die Daten im Voraus in für die Arbeitnehmer geeigneten Formaten gespeichert werden können.
Wieder die Hauptidee.Es besteht kein Wunsch, Big Data in eine einzelne Cluster-Analyse-Engine "hochzuladen", die früher oder später ertrinkt und hässlich sein muss. Ich möchte Dateien, nur Dateien, in einem verständlichen Format speichern und effektive analytische Abfragen mit verschiedenen, aber verständlichen Tools durchführen. Und es wird immer mehr Dateien in verschiedenen Formaten geben. Und es ist besser, nicht den Motor, sondern die Anfangsdaten zu zerreißen. Wir brauchen einen erweiterbaren und vielseitigen DataLake, haben wir uns entschieden ...
Was ist, wenn wir Dateien im bekannten und bekannten skalierbaren Amazon S3-Cloud-Speicher speichern, ohne unsere eigenen Chops von Hadoop aus erstellen zu müssen?
Es ist klar, dass die Daten "unten" sind, aber andere Daten, wenn Sie sie herausnehmen und "effektiv fahren"?
Cluster-BigData-Analyse-Ökosystem von Amazon Web Services - in sehr einfachen Worten
Nach unserer Erfahrung mit AWS wird es dort seit langem unter verschiedenen Apache Hadoop / MapReduce-Saucen aktiv eingesetzt, beispielsweise im DataPipeline-Dienst (ich beneide meine Kollegen, sie haben gelernt, wie man es richtig kocht). Hier haben wir Sicherungen von verschiedenen Diensten aus DynamoDB-Tabellen konfiguriert:
Und sie werden seit mehreren Jahren regelmäßig auf den integrierten Hadoop / MapReduce-Clustern wie am Schnürchen durchgeführt.
Richten Sie es ein und vergessen Sie es: Sie können sich auch effektiv auf Datenatanismus einlassen, indem Sie Jupiter-Laptops für Analysten in der Cloud anheben und AWS SageMaker zum Trainieren und Bereitstellen von KI-Modellen im Kampf verwenden. So sieht es bei uns aus:
Und ja, Sie können einen Laptop in der Cloud für sich selbst oder für Analysen abholen und an den Hadoop / Spark-Cluster anhängen, alles berechnen und dann "nageln":
Sehr praktisch für einzelne Analyseprojekte und für einige haben wir den EMR-Service erfolgreich für umfangreiche Berechnungen und Analysen eingesetzt. Was ist mit einer Systemlösung für DataLake? Funktioniert sie? In diesem Moment standen wir kurz vor Hoffnung und Verzweiflung und setzten unsere Suche fort.
AWS Glue - ordentlich verpackter Apache Spark "auf Steroiden"
Es stellte sich heraus, dass AWS eine eigene Version des Hive / Pig / Spark-Stacks hat. Die Rolle von Hive, d.h. Im Katalog der Dateien und ihrer Typen in DataLake wird der Dienst "Datenkatalog" ausgeführt, der die Kompatibilität mit dem Apache Hive-Format nicht verbirgt. In diesem Dienst müssen Sie Informationen darüber hinzufügen, wo sich Ihre Dateien befinden und in welchem Format sie vorliegen. Die Daten können sich nicht nur in s3, sondern auch in der Datenbank befinden, aber darum geht es in diesem Beitrag nicht. So ist das DataLake-Datenverzeichnis hier organisiert:
Die Dateien sind registriert, toll. Wenn die Dateien aktualisiert wurden, starten wir sie entweder von Hand oder nach einem Zeitplan von Crawlern, die Informationen über sie vom See aus aktualisieren und speichern. Außerdem können die Daten aus dem See verarbeitet und die Ergebnisse irgendwo entladen werden. Im einfachsten Fall laden wir es auch auf s3 hoch. Die Datenverarbeitung kann überall durchgeführt werden. Es wird jedoch empfohlen, die Verarbeitung in einem Apache Spark-Cluster mithilfe erweiterter Funktionen über die AWS Glue-API einzurichten. Tatsächlich können Sie den guten alten und vertrauten Python-Code mithilfe der pyspark-Bibliothek verwenden und so konfigurieren, dass er auf N Knoten eines Clusters mit einer gewissen Kapazität mit Überwachung ausgeführt wird, ohne sich in die Eingeweide von Hadoop zu vertiefen und Docker-Mocker-Container zu ziehen und Abhängigkeitskonflikte zu beseitigen.
Noch einmal eine einfache Idee.Sie müssen Apache Spark nicht konfigurieren, sondern müssen lediglich Python-Code für pyspark schreiben, ihn lokal auf dem Desktop testen und dann in einem großen Cluster in der Cloud ausführen, um anzugeben, wo sich die Quelldaten befinden und wo das Ergebnis abgelegt werden soll. Manchmal ist es notwendig und nützlich, und so wird es bei uns konfiguriert:
Wenn Sie also etwas im Spark-Cluster für die Daten in s3 berechnen müssen, schreiben Sie den Code in Python / Pyspark, testen Sie ihn und machen Sie einen guten Ausflug in die Cloud.
Was ist mit der Orchestrierung? Und wenn die Aufgabe fiel und verschwand? Ja, es wird vorgeschlagen, eine schöne Pipeline im Stil von Apache Pig zu erstellen, und wir haben sie sogar ausprobiert, aber beschlossen, unsere tief angepasste Orchestrierung vorerst in PHP und JavaScript zu verwenden (ich verstehe, es gibt eine kognitive Dissonanz, aber sie funktioniert jahrelang und ohne Fehler).
Das Lake-Dateiformat ist der Schlüssel zur Leistung
Es ist sehr, sehr wichtig, zwei weitere wichtige Punkte zu verstehen. Damit Datenanforderungen aus Dateien im See so schnell wie möglich ausgeführt werden können und die Leistung beim Hinzufügen neuer Informationen nicht beeinträchtigt wird, benötigen Sie:
- Speichern Sie die Dateispalten separat (damit Sie nicht alle Zeilen lesen müssen, um zu verstehen, was in den Spalten enthalten ist). Dafür haben wir das Parkettformat mit Komprimierung übernommen
- Es ist sehr wichtig, Dateien von Vätern im Geiste zu speichern: Sprache, Jahr, Monat, Tag, Woche. Motoren, die diese Art von Sharding verstehen, sehen nur die richtigen Daddies an, ohne alle Daten durch sich selbst zu verschieben.
Auf diese Weise legen Sie in der effizientesten Form die Anfangsdaten für die darüber hängenden Analyse-Engines an, die selektiv nur die erforderlichen Spalten aus den Dateien eingeben und in Sharded-Daddies lesen können. Es ist nicht nötig, irgendwohin zu gehen, es wird sich herausstellen, dass die Daten "gefüllt" werden (der Speicher platzt einfach) - legen Sie sie einfach sofort im richtigen Format sinnvoll in das Dateisystem. Natürlich sollte hier klar sein, dass es nicht sehr ratsam ist, eine große CSV-Datei in DataLake zu speichern, die zuerst zeilenweise vom Cluster gelesen werden muss, um die Spalten zu extrahieren. Denken Sie noch einmal über die beiden oben genannten Punkte nach, wenn noch nicht klar ist, warum dies alles so ist.
AWS Athena - "Hölle" aus der Schnupftabakdose
Und dann, als wir den See schufen, stießen wir irgendwie im Vorbeigehen auf Amazon Athena. Plötzlich stellte sich heraus, dass Sie durch ordentliches Falten unserer riesigen Protokolldateien durch Shards-Daddies im richtigen (Parkett-) Spaltenformat sehr schnell eine äußerst informative Auswahl treffen und Berichte OHNE Apache Spark / Glue-Cluster erstellen können.
Die s3-Daten-Engine Athena basiert auf dem legendären Presto , einem Mitglied der MPP-Familie (Massive Parallel Processing) von Datenverarbeitungsansätzen, die Daten dort aufnehmen, wo sie liegen, von s3 und Hadoop über Cassandra bis hin zu Nur-Text-Dateien. Sie müssen nur Athena bitten, die SQL-Abfrage auszuführen, und dann "funktioniert alles schnell und von selbst". Es ist wichtig zu beachten, dass Athena "klug" ist, nur zu den erforderlichen Sharded Daddies geht und nur die Spalten liest, die in der Anfrage benötigt werden.
Anfragen an Athena werden ebenfalls interessant berechnet. Wir zahlen für die Menge der gescannten Daten . Jene. Nicht für die Anzahl der Computer im Cluster pro Minute, sondern ... für die tatsächlich auf 100-500 Computern gescannten Daten, nur die Daten, die zur Erfüllung der Anforderung erforderlich sind.
Und indem wir nur die notwendigen Kolumnen von richtig zerhackten Vätern anforderten, stellte sich heraus, dass der Athena-Service uns mehrere zehn Dollar im Monat kostet. Gut, großartig, fast kostenlos im Vergleich zu Analysen in Clustern!
Übrigens, so teilen wir unsere Daten in s3:
In kurzer Zeit begannen völlig andere Abteilungen des Unternehmens, von der Informationssicherheit bis zur Analytik, aktiv Anfragen an Athena zu richten und erhielten innerhalb von Sekunden schnell nützliche Antworten von den „Großen“. Daten für ziemlich lange Zeiträume: Monate, ein halbes Jahr usw.
Wir gingen jedoch noch weiter und begannen, über einen ODBC-Treiber in die Cloud zu gehen, um Antworten zu erhalten : Ein Analyst schreibt eine SQL-Abfrage in eine vertraute Konsole, die auf 100-500 Computern in s3 „für einen Cent“ Wolldaten ausgibt und die Antwort normalerweise in wenigen Sekunden zurückgibt. Praktisch. Und schnell. Ich kann es immer noch nicht glauben.
Nachdem wir uns entschieden hatten, Daten in s3 in einem effizienten Spaltenformat und mit angemessenem Daten-Sharding durch Väter zu speichern, erhielten wir DataLake und eine schnelle und kostengünstige Analyse-Engine - kostenlos. Und er wurde sehr beliebt bei der Firma, weil versteht SQL und führt Größenordnungen schneller aus als das Starten / Stoppen / Konfigurieren von Clustern. "Und wenn das Ergebnis das gleiche ist, warum mehr bezahlen?"
Die Anfrage an Athena sieht ungefähr so aus. Auf Wunsch können Sie natürlich genug bildenkomplexe und mehrseitige SQL-Abfrage , aber wir beschränken uns auf einfache Gruppierung. Lassen Sie uns sehen, welche Antwortcodes der Client vor einigen Wochen in den Protokollen des Webservers hatte, und sicherstellen, dass keine Fehler vorliegen:
Schlussfolgerungen
Nachdem wir einen langen, aber schmerzhaften Weg gegangen sind, bei dem die Risiken sowie die Komplexität und die Kosten des Supports ständig angemessen bewertet wurden, haben wir eine Lösung für DataLake und Analytics gefunden, die uns immer wieder mit Geschwindigkeit und Betriebskosten zufrieden stellt.
Es stellte sich heraus, dass selbst erfahrene Entwickler, die niemals als Architekten arbeiten und keine Quadrate auf Quadrate mit Pfeilen zeichnen können und 50 Begriffe aus dem Hadoop-Ökosystem kennen, in der Lage sind, einen effizienten, schnellen und kostengünstigen DataLake für die Anforderungen völlig unterschiedlicher Unternehmensbereiche zu erstellen.
Zu Beginn der Reise spaltete sich mein Kopf von den wildesten Zoos offener und geschlossener Software und dem Verständnis der Last der Verantwortung gegenüber Nachkommen. Erstellen Sie einfach Ihren DataLake mit einfachen Tools: nagios / munin -> elastisch / kibana -> Hadoop / Spark / s3 ..., sammeln Sie Feedback und verstehen Sie die Physik der ablaufenden Prozesse genau. Alles kompliziert und schlammig - geben Sie es Ihren Feinden und Konkurrenten.
Wenn Sie nicht in die Cloud gehen und Open Source-Projekte warten, aktualisieren und patchen möchten, können Sie ein ähnliches Schema wie unser lokales auf kostengünstigen Büromaschinen mit Hadoop und Presto erstellen. Die Hauptsache ist nicht anzuhalten und vorwärts zu gehen, zu zählen, nach einfachen und klaren Lösungen zu suchen und alles wird definitiv klappen! Viel Glück an alle und bis bald!