Qubole Review: Self-Service-Big-Data-Analyse

Qubole ist eine Cloud-native Datenplattform für Analytik, KI und maschinelles Lernen und bietet Lösungen für Kundenbindung, digitale Transformation, datengesteuerte Produkte, digitales Marketing, Modernisierung und Sicherheitsinformationen. Es bietet schnelle Wertschöpfungszeit, Multi-Cloud-Unterstützung, 10-fache Administratorproduktivität, ein Verhältnis von Bediener zu Benutzer von 1: 200 und niedrigere Cloud-Kosten.

Aufgrund meiner kurzen Erfahrung mit der Plattform integriert Qubole eine Reihe von Open-Source-Tools und einige proprietäre Tools, um ein Cloud-basiertes Self-Service-Big-Data-Erlebnis für Datenanalysten und Dateningenieure zu schaffen und Datenwissenschaftler.

Qubole führt Sie von ETL über explorative Datenanalyse und Modellbildung bis hin zur Bereitstellung von Modellen im Produktionsmaßstab. Auf dem Weg dorthin werden eine Reihe von Cloud-Vorgängen automatisiert, z. B. die Bereitstellung und Skalierung von Ressourcen, die ansonsten viel Administratorzeit erfordern können. Ob diese Automatisierung tatsächlich eine 10-fache Steigerung der Administratorproduktivität oder ein Verhältnis von Bediener zu Benutzer von 1: 200 für ein bestimmtes Unternehmen oder einen bestimmten Anwendungsfall ermöglicht, ist nicht klar.

Qubole neigt dazu, auf das Konzept der "aktiven Daten" zu stoßen. Grundsätzlich haben die meisten Datenseen - im Wesentlichen Dateispeicher, die mit Daten aus vielen Quellen gefüllt sind, alle an einem Ort, aber nicht in einer Datenbank - einen geringen Prozentsatz an Daten, die aktiv für die Analyse verwendet werden. Qubole schätzt, dass die meisten Datenseen zu 10% aktiv und zu 90% inaktiv sind, und sagt voraus, dass dieses Verhältnis umgekehrt werden kann.

Zu den Konkurrenten von Qubole zählen Databricks, AWS und Cloudera. Es gibt eine Reihe anderer Produkte, die nur mit einigen Funktionen von Qubole konkurrieren .

Databricks erstellt Notizbücher, Dashboards und Jobs auf einem Cluster-Manager und Spark. Ich fand es eine nützliche Plattform für Datenwissenschaftler, als ich es 2016 überprüfte. Databricks hat kürzlich sein Delta Lake-Produkt als Open-Source-Produkt bereitgestellt, das ACID-Transaktionen, skalierbare Metadatenverarbeitung sowie einheitliches Streaming und Batch-Datenverarbeitung für Datenseen bietet, um sie zuverlässiger zu machen und um ihnen zu helfen, die Spark-Analyse zu füttern.

AWS verfügt über eine breite Palette von Datenprodukten, und tatsächlich unterstützt Qubole die Integration in viele von ihnen. Cloudera, zu dem jetzt auch Hortonworks gehört, bietet Data Warehouse- und maschinelle Lerndienste sowie einen Data Hub-Dienst. Qubole behauptet, dass sowohl Databricks als auch Cloudera keine finanzielle Governance haben. Sie können die Governance jedoch selbst auf Single-Cloud-Ebene oder mithilfe eines Multi-Cloud-Management-Produkts implementieren.

Wie Qubole funktioniert

Qubole integriert alle seine Tools in eine Cloud-basierte und browserbasierte Umgebung. Ich werde die Teile der Umgebung im nächsten Abschnitt dieses Artikels diskutieren. In diesem Abschnitt werde ich mich auf die Werkzeuge konzentrieren.

Qubole führt im Rahmen seines Cluster-Managements eine Kostenkontrolle durch. Sie können angeben, dass Cluster eine bestimmte Mischung von Instanztypen verwenden, einschließlich Spot-Instanzen, sofern verfügbar, sowie die minimale und maximale Anzahl von Knoten für die automatische Skalierung. Sie können auch angeben, wie lange ein Cluster ohne Last weiter ausgeführt werden soll, um Zombie-Instanzen zu vermeiden.

Funke

In seinem August-Artikel „Wie Qubole die Herausforderungen von Apache Spark angeht“ erläutert Ashub Thusoo, CEO von Qubole, die Vorteile und Fallstricke von Spark und wie Qubole Schwierigkeiten wie Konfiguration, Leistung, Kosten und Ressourcenmanagement behebt. Spark ist eine Schlüsselkomponente von Qubole für Datenwissenschaftler und ermöglicht eine einfache und schnelle Datentransformation und maschinelles Lernen.

Presto

Presto ist eine verteilte Open-Source-SQL-Abfrage-Engine zum Ausführen interaktiver analytischer Abfragen für Datenquellen aller Größen von Gigabyte bis Petabyte. Presto-Abfragen werden viel schneller ausgeführt als Hive-Abfragen. Gleichzeitig kann Presto Hive-Metadaten und Datenschemata anzeigen und verwenden.

Bienenstock

Apache Hive ist ein beliebtes Open-Source-Projekt im Hadoop-Ökosystem, das das Lesen, Schreiben und Verwalten großer Datenmengen im verteilten Speicher mithilfe von SQL erleichtert. Die Struktur kann auf bereits im Speicher befindliche Daten projiziert werden. Die Ausführung von Hive-Abfragen wird über Apache Tez, Apache Spark oder MapReduce ausgeführt. Hive on Qubole kann Workload-fähige automatische Skalierung und direkte Schreibvorgänge durchführen. Open Source Hive fehlen diese Cloud-orientierten Optimierungen.

Die Gründer von Qubole waren auch die Schöpfer von Apache Hive. Sie haben Hive bei Facebook gestartet und 2008 Open Source bezogen.

Quantum

Quantum ist Quboles eigene serverlose, automatisch skalierende, interaktive SQL-Abfrage-Engine, die sowohl Hive DDL als auch Presto SQL unterstützt. Quantum ist ein Pay-as-you-go-Service, der für sporadische Abfragemuster, die sich über lange Zeiträume erstrecken, kostengünstig ist und einen strengen Modus hat, um unerwartete Ausgaben zu verhindern. Quantum verwendet Presto und ergänzt Presto-Servercluster. Quantenabfragen sind auf 45 Minuten Laufzeit begrenzt.

Luftzug

Airflow ist eine Python-basierte Plattform zum programmgesteuerten Erstellen, Planen und Überwachen von Workflows. Die Workflows sind gerichtete azyklische Diagramme (DAGs) von Aufgaben. Sie konfigurieren die DAGs, indem Sie Pipelines in Python-Code schreiben. Qubole bietet Airflow als einen seiner Dienste an. Es wird häufig für ETL verwendet.

Der neue QuboleOperator kann wie jeder andere vorhandene Airflow-Betreiber verwendet werden. Während der Ausführung des Operators im Workflow sendet er einen Befehl an Qubole Data Service und wartet, bis der Befehl beendet ist. Qubole unterstützt Datei- und Hive-Tabellensensoren, mit denen Airflow Workflows programmgesteuert überwachen kann.

Um die Airflow-Benutzeroberfläche anzuzeigen, müssen Sie zuerst einen Airflow-Cluster starten und dann die Clusterseite öffnen, um die Airflow-Website anzuzeigen.

RubiX

RubiX ist Quboles leichtes Daten-Caching-Framework, das von einem Big-Data-System verwendet werden kann, das eine Hadoop-Dateisystemschnittstelle verwendet. RubiX wurde für die Verwendung mit Cloud-Speichersystemen wie Amazon S3 und Azure Blob Storage sowie zum Zwischenspeichern von Remote-Dateien auf einer lokalen Festplatte entwickelt. Qubole hat RubiX für Open Source freigegeben. Wenn Sie RubiX in Qubole aktivieren, müssen Sie ein Kontrollkästchen aktivieren.

Was macht Qubole?

Qubole bietet eine End-to-End-Plattform für Analytik und Datenwissenschaft. Die Funktionalität ist auf etwa ein Dutzend Module verteilt.

Mit dem Explore-Modul können Sie Ihre Datentabellen anzeigen, Datenspeicher hinzufügen und den Datenaustausch einrichten. In AWS können Sie Ihre Datenverbindungen, Ihre S3-Buckets und Ihre Qubole Hive-Datenspeicher anzeigen.

Mit den Modulen Analysieren und Workbench können Sie Ad-hoc-Abfragen für Ihre Datensätze ausführen. Analysieren ist die alte Schnittstelle, und Workbench ist die neue Schnittstelle, die sich noch in der Beta befand, als ich sie ausprobierte. Mit beiden Schnittstellen können Sie Datenfelder in Ihre SQL-Abfragen ziehen und dort ablegen und die Engine auswählen, mit der Sie die Vorgänge ausführen: Quantum, Hive, Presto, Spark, eine Datenbank, eine Shell oder Hadoop.

Smart Query ist ein formularbasierter SQL-Abfrage-Generator für Hive und Presto. Mit Vorlagen können Sie parametrisierte SQL-Abfragen wiederverwenden.

Notebooks sind Spark-basierte Zeppelin- oder (in der Beta) Jupyter-Notebooks für die Datenwissenschaft. Dashboards bieten eine Schnittstelle zum Teilen Ihrer Erkundungen, ohne den Zugriff auf Ihre Notizbücher zuzulassen.

Mit Scheduler können Sie Abfragen, Workflows, Datenimporte und -exporte sowie Befehle in regelmäßigen Abständen automatisch ausführen. Dies ergänzt die Ad-hoc-Abfragen, die Sie in den Modulen Analyze und Workbench ausführen können.

Mit dem Cluster-Modul können Sie Ihre Cluster aus Hadoop / Hive-, Spark-, Presto-, Airflow- und Deep Learning-Servern (Beta) verwalten. Mit der Verwendung können Sie die Verwendung Ihres Clusters und Ihrer Abfrage verfolgen. In der Systemsteuerung können Sie die Plattform entweder für sich selbst oder für andere konfigurieren, wenn Sie über Systemverwaltungsberechtigungen verfügen.

Qubole End-to-End-Durchgang

Ich habe eine Anleitung zum Importieren einer Datenbank, zum Erstellen eines Hive-Schemas und zum Analysieren des Ergebnisses mit Hive und Presto sowie separat in einem Spark-Notizbuch durchlaufen. Ich habe mir auch eine Airflow-DAG für denselben Prozess und ein Notizbuch für maschinelles Lernen mit Spark für einen nicht verwandten Datensatz angesehen.

Tiefes Lernen in Qubole

Wir haben Data Science in Qubole bis zum Niveau des klassischen maschinellen Lernens gesehen, aber was ist mit Deep Learning? Eine Möglichkeit, Deep Learning in Qubole durchzuführen, besteht darin, Python-Schritte in Ihre Notizbücher einzufügen, die Deep Learning-Frameworks wie TensorFlow importieren und in den bereits mit Spark entwickelten Datensätzen verwenden. Eine andere Möglichkeit besteht darin, Amazon SageMaker von Notebooks oder Airflow aus anzurufen, vorausgesetzt, Ihre Qubole-Installation läuft unter AWS.

Das meiste, was Sie in Qubole tun, erfordert nicht das Ausführen auf GPUs, aber für Deep Learning sind häufig GPUs erforderlich, damit das Training in angemessener Zeit abgeschlossen werden kann. Amazon SageMaker kümmert sich darum, indem es die Deep-Learning-Schritte in separaten Clustern ausführt, die Sie mit so vielen Knoten und GPUs wie nötig konfigurieren können. Qubole bietet auch Cluster für maschinelles Lernen (in der Beta) an. In AWS ermöglichen diese beschleunigte Arbeitsknoten vom Typ g und p mit Nvidia-GPUs, und in Google Cloud Platform und Microsoft Azure ermöglichen sie gleichwertige beschleunigte Arbeitsknoten.

Big Data Toolkit in der Cloud

Qubole, eine Cloud-native Datenplattform für Analyse und maschinelles Lernen, hilft Ihnen beim Importieren von Datensätzen in einen Datensee, beim Erstellen von Schemas mit Hive und beim Abfragen der Daten mit Hive, Presto, Quantum und Spark. Es werden sowohl Notebooks als auch Airflow zum Erstellen von Workflows verwendet. Es kann auch andere Dienste aufrufen und andere Bibliotheken verwenden, z. B. den Amazon SageMaker-Dienst und die TensorFlow Python-Bibliothek für vertiefendes Lernen.

Mit Qubole können Sie Ihre Cloud-Ausgaben verwalten, indem Sie die Mischung der Instanzen in einem Cluster steuern, Cluster bei Bedarf starten und automatisch skalieren und Cluster automatisch herunterfahren, wenn sie nicht verwendet werden. Es läuft auf AWS, Microsoft Azure, Google Cloud Platform und Oracle Cloud.

Insgesamt ist Qubole eine sehr gute Möglichkeit, Ihren Datensee, isolierte Datenbanken und Big Data zu nutzen (oder zu „aktivieren“). Sie können Qubole 14 Tage lang kostenlos mit AWS, Azure oder GCP mit Beispieldaten testen. Sie können auch eine kostenlose Testversion mit vollem Funktionsumfang für bis zu fünf Benutzer und einen Monat unter Verwendung Ihres eigenen Cloud-Infrastrukturkontos und Ihrer eigenen Daten arrangieren.

- -

Kosten: Test- und Testkonten kostenlos. Unternehmensplattform: 0,14 USD pro QCU (Qubole Compute Unit) pro Stunde. 

Plattform: Amazon Web Services, Google Cloud-Plattform, Microsoft Azure, Oracle Cloud.