Big Data und Microsoft Azure So funktionieren Datenanalysen mit Apache Spark
Microsoft bietet mit seinem Cloud-Dienst Azure eine ideale Plattform für zahlreiche Cloud-Dienste. Interessant wird Azure etwa in Kombination mit der Open-Source-Lösung Apache Spark, mit der Unternehmen interaktive Analysen mit In-Memory-Technik durchführen können.
Anbieter zum Thema

Apache Spark erweitert die Möglichkeit von Hadoop-Clustern um Echtzeitabfragen, ähnlich zu SQL. Dazu bietet das Framework In-Memory-Technologien, kann also Abfragen und Daten direkt im Arbeitsspeicher der Clusterknoten speichern.
Apache Spark ist ideal für die schnelle Verarbeitung von großen Datenmengen. Zusammen mit Microsoft Azure, welches wiederum in der Lage ist, große Datenmengen zu speichern und mit HDInsight/Hadoop zu verarbeiten, kann Spark das ideale Werkzeug für Analysen sein. Trotz der hohen Geschwindigkeit und des enormen Leistungsumfangs ist Apache Spark aber einfach in der Anwendung, vor allem für Entwickler, denn Spark ist sehr flexibel, was die Installation betrifft und lässt sich auf vielen Plattformen betreiben. Da Apache Spark zudem Machine Learning unterstützt, kann der Betrieb in Microsoft Azure ideal sein, denn auch diese Cloud-Plattform ist ein idealer Speicherort für Machine-Learning-Lösungen.
:quality(80)/images.vogel.de/vogelonline/bdb/1056000/1056071/original.jpg)
Einfacher, schneller, smarter
Apache Spark 2.0 ist da
Azure Data Lake und Apache Spark
Werden die Daten im Azure Data Lake gespeichert, kann Apache Spark auf diese Daten zur Analyse zugreifen. Data Lakes sind, einfach ausgedrückt, eine unternehmensinterne Speichermöglichkeit für alle Daten und Quellen. Für gewöhnlich liegen die Daten im Data Lake in unveränderter Form vor, sie werden also nicht transformiert. Der Zugriff auf den Data Lake erfolgt mit verschiedenen Analyse-Werkzeugen, welche die Daten erst für den eigenen Gebrauch umwandeln, darunter Spark. Azure Data Lake kann auch sehr gut mit gestreamten Daten umgehen, also Daten, die normalerweise über eine schlechte Latenz verfügen, dafür eine große Datenmenge verursachen und ständig aktualisiert werden.
Spark-Cluster in Microsoft Azure erstellen
Spark lässt sich in Microsoft Azure in einem HDInsight-Cluster betreiben. Dazu erstellen Entwickler im Azure-Portal über Neu\Data+Analytics\HDInsight zunächst einen neuen Hadoop/HDInsight-Cluster.
Bei Clustertyp stehen die Optionen „Spark“ und „R Server on Spark“ zur Verfügung. Auch die Spark-Version kann an dieser Stelle ausgewählt werden. Spark wird auf Basis von Linux installiert. Im Rahmen der Erstellung lässt sich auch das Speicherkonto erstellen. In den Optionen zum Erstellen eines neuen Spark-Clusters lässt sich auch die Anzahl der Knoten festlegen, die im Cluster zur Verfügung stehen.
Die Knoten können natürlich jederzeit angepasst werden. Nachträglich kann die Anzahl der Knoten und deren Konfiguration und Leistung festgelegt werden. Dadurch ist der Spark-Cluster in Microsoft Azure sehr leicht skalierbar, da keine eigenen Server installiert werden müssen. Sobald alle Einstellungen vorgenommen wurden, wird der Cluster in wenigen Minuten automatisiert erstellt und steht in Microsoft Azure zur Verfügung.
Spark-Cluster in Microsoft Azure steuern
Sobald der Spark-Cluster erstellt ist, steht er in Microsoft Azure bereit. Entwickler greifen über die URL auf den Cluster zu. Die URL ist wiederum in den Eigenschaften des Clusters zu sehen. Die Anmeldung erfolgt mit den Benutzernamen und Kennwörtern, die bei der Erstellung des Clusters vorgegeben wurden. Danach steht Spark über Microsoft Azure zur Verfügung. In der Weboberfläche stehen alle Optionen und Informationen von Spark bereit. Die Werte von Spark lassen sich anpassen, wenn das gewünscht ist. Die Konfiguration dazu kann per SSH erfolgen oder über das Webportal. Um auf Spark zuzugreifen, müssen Entwickler keinen Zugriff auf Microsoft Azure erhalten. Das Webportal von Spark ist losgelöst von der Verwaltung des Clusters in Microsoft Azure.
Die Verwaltung der Cluster-internen Konfiguration erfolgt über das Ambari-Dashboard. Dieses wird im Rahmen der Clustererstellung automatisch mit installiert. Ambari bietet eine grafische Oberfläche für das Installieren von Hadoop-Clustern und kann jederzeit beim Hinzufügen weiterer Knoten und Prozesse helfen. Neben der einfachen Überwachung von Clustern lassen sich auch die Anwendungen, Abfragen und deren Auslastung auslesen. Dazu kommt die parallele Anbindung an Oozie, Zookeeper und Hive. Sehr wichtig in diesem Zusammenhang ist auch das Informieren von Administratoren bei Fehlern in Jobs oder des ganzen Servers.
Neben Spark werden im HDInsight-Cluster auch HDFS, YARN, MapReduce 2, TEZ, Hive, Pig, Sqoop, Oozie, ZooKeeper, Jupyter und Livy integriert. Die Verwaltung erfolgt zentral im Ambari-Dashboard. Hier lassen sich für alle Dienste alle Einstellungen vornehmen und überprüfen. Entwickler können mit dem Cluster arbeiten, ohne die zugrunde liegende Konfiguration des Clusters oder die virtuellen Knoten anpassen zu müssen.
Die Überwachung der Dienste und deren Status erfolgt ebenfalls im Ambari-Dashboard. Dazu stehen im oberen Bereich die Menüpunkte Services, Hosts, Alerts und Admin zur Verfügung.
Microsoft Azure HDInsight Spark Dashboard und Cortana Analytics Suite
Wenn Spark in HDInsight bereit steht, lassen sich alle zur Verfügung stehenden Optionen über das Dashboard steuern. Dazu stehen über die Spark-URL am oberen Bereich verschiedene Menüs bereit. Interessant ist hier, dass neben Spark auch die anderen Einstellungsmöglichkeiten von HDInsight zur Verfügung stehen. Auch auf das Speicherkonto und die darin gespeicherten Daten kann über das Dashboard zugegriffen werden.
HDInsight und Spark sind Bestandteil der Cortana Analytics Suite. Dazu gehören auch Azure Data Catalog, Data Factory, Event Hub und Azure SQL Data Warehouse. Auch Azure Machine Learning, Azure Data Lake Analytics Service und Azure Stream Analytics sind Bestandteil dieser Lösung. Spark wird also direkt in die Analyse eingebunden und kann auf eine Vielzahl an Daten zugreifen.
Durch die Integration können die verschiedenen Daten problemlos zwischen den einzelnen Lösungen bereit stehen. Mit dem HDInsight/Spark-Cluster kann problemlos auf die Daten von Azure Data Lake Store zugegriffen werden. Die Datenmenge, die in diesem Speicher abgelegt werden können, ist nahezu unbegrenzt.
Fazit
Spark gehört zu den wichtigsten Analysewerkzeugen in Big-Data-Umgebungen. Damit eine Spark-Umgebung optimal genutzt werden kann, ist eine recht komplizierte Big Data-Umgebung notwendig. Außerdem muss eine Datenquelle zur Verfügung stehen, welche die Datenmenge des Clusters zur Verfügung stellt. Da Microsoft Azure alle notwendigen Funktionen bietet und die Bereitstellung sehr schnell durchgeführt werden kann, ist es sinnvoll, sich die Möglichkeiten von Apache Spark in Microsoft Azure näher anzusehen.
(ID:44206887)