Zephyrnet-Logo

Werden sie sich vermischen? Google BigQuery trifft Databricks

Datum:

Klicken Sie hier, um mehr über den Autor zu erfahren Emilio Silvestri.

In der "Werden sie sich vermischen?" In Blog-Serien experimentieren wir mit den interessantesten Mischungen von Daten und Tools.

Ob es darum geht, traditionelle Quellen mit modernen Data Lakes zu vermischen, Open-Source-DevOps in der Cloud mit geschützten internen Legacy-Tools, SQL mit NoSQL, Web-Wisdom-of-the-Crowd mit firmeninternen handschriftlichen Notizen oder IoT-Sensordaten mit Leerlauf-Chatten Wir sind gespannt: Werden sie zusammenpassen? Möchten Sie herausfinden, was passiert, wenn IBM Watson auf Google News, Hadoop Hive auf Excel, R auf Python oder MS Word auf MongoDB trifft?

Lesen Sie den vorherigen Blog der Reihe hier.

Die Herausforderung

„Das Leben ist wie Fahrradfahren. Um das Gleichgewicht zu halten, muss man in Bewegung bleiben.“ Trotz seines Missbrauchs unter unzähligen Instagram-Bildern ist dieses schöne Zitat von Albert Einstein auch heute noch aktuell. Neben körperlicher Aktivität sind nachhaltige und geteilte Mobilität zu unserer Waffe gegen den täglichen Verkehr und die Umweltverschmutzung geworden: Begriffe wie gemeinsamer TransportFahrrad teilen und Fahrgemeinschaft sind mittlerweile Teil unserer Sprache und mehr Menschen denn je nutzen diese Dienste täglich. Wie oft werden diese Dienste genutzt? Wie wird ihre Nutzung durch andere Faktoren wie die Qualität des Dienstes oder die Wetterbedingungen beeinflusst?

Um diese Fragen zu beantworten, müssen wir Daten aus einer Vielzahl (normalerweise unzusammenhängender) Datenquellen sammeln, ein wenig Fantasie … und etwas Geduld! Als Beispiel werden wir heute die von Google BigQuery bereitgestellten Bike-Sharing-Daten mit den auf Databricks gespeicherten Wetterdaten kombinieren, um zu sehen, ob und wie sich die Wetterbedingungen auf die Nutzung der Fahrräder auswirken.

Für diejenigen, die diese beiden Plattformen nicht kennen: BigQuery ist die Antwort von Google auf die große Datenmengen Herausforderung. Es ist Teil der Google Cloud-Konsole und bietet die Möglichkeit, große Datensätze zu speichern und abzufragen SQL-ähnliche Syntax. Databricks ist ein cloudbasiertes Big-Data-Tool. Entwickelt von der Apache Funken Group bietet es eine Vielzahl von Vorgängen an – wie den Aufbau von Datenpipelines und die Skalierung der Datenwissenschaft auf die Produktion – und optimiert dabei die Funktionalitäten der Open-Source-Software Spark.

Beide Plattformen werden von der Analytics Platform ab Version 4.1 unterstützt. Sie können unsere herunterladen und installieren BigQuery und Databricks-Integration von unserem Hub aus.

Thema: Multivariate Visualisierung von Bike-Sharing-Daten vs. Wetterdaten

Herausforderung: Untersuchen Sie, wie das Wetter die Nutzung von Bike-Sharing beeinflusst

Zugriffsmodus:  Google BigQuery-Integration und Databricks-Integration

Das Experiment

Der erste Datensatz, der auf öffentlichen Daten von Google Big Query gehostet wird, ist der Austin Bike Share-Reisen. Es enthält mehr als 600 Radtouren im Zeitraum 2013–2019. Zu jeder Fahrt werden der Zeitstempel, die Dauer, der Abfahrts- und Ankunftsbahnhof sowie Informationen zum Teilnehmer gemeldet. Der zweite, kleinere Datensatz ist der Austin-Wetter Datensatz, der auf einer Databricks-Plattform gehostet wird. Es enthält tägliche Wetterinformationen für die Stadt Austin, wie Temperatur, Taupunkt, Luftfeuchtigkeit, Wind und Niederschlag sowie ungünstige Wetterereignisse.

Google BigQuery

Im oberen Teil unseres Workflows (den Sie im Hub herunterladen können). hier) greifen wir auf den Austin Bike Share Trips-Datensatz zu, der auf der Google BigQuery-Plattform als öffentlicher Datensatz gehostet wird. Um diesen Teil des Workflows auszuführen, benötigen Sie:

Authentifizierung

Mit den Projektanmeldeinformationen werden wir das konfigurieren Google-Authentifizierung (API-Schlüssel) Knoten. Sie müssen die E-Mail-Adresse Ihres Dienstkontos und die P12-Authentifizierungsdatei angeben. Beides finden Sie in Ihrem Google Cloud Platform-Projekt (sobald es aktiviert wurde) unter: APIs & Dienste -> Anmeldeinformationen. 

Wenn Sie mit der Google Cloud Platform bei Null anfangen, empfehle ich dies Schritt-für-Schritt-AnleitungHier erfahren Sie auch, wie Sie ein neues Projekt erstellen, neue Anmeldeinformationen generieren und den Treiber auf unserer Analytics-Plattform installieren.

Verbindung zu Google BigQuery herstellen

Nach der Authentifizierung bietet der Google BigQuery Connector-Knoten Zugriff auf die BigQuery-Plattform.

Es verwendet den BigQuery-JDBC-Treiber, den Hostnamen (d. h bigquery.cloud.google.com) und den Datenbanknamen, der in diesem Fall Ihre Projekt-ID ist. Sie finden die Projekt-ID im Dashboard Ihres Projekts auf der Google Cloud Platform (Abbildung 1). 

Abbildung 1: Ihre Projekt-ID finden Sie in der Google Cloud Platform. Fügen Sie diese ID im Feld „Datenbankname“ im Konfigurationsfenster des Google BigQuery Connector-Knotens hinzu. 

Abfrage

An diesem Punkt ist Google BigQuery zu Ihrer Remote-Datenbank geworden und Sie können alle DB-Knoten verwenden, die von der Analytics-Plattform im Ordner „DB -> Abfrage“ im Bereich „Knoten-Repository“ bereitgestellt werden. DB-Abfrageknoten sind nützlich, um leistungsstarke Abfragen für die Daten zu erstellen und auszuführen, bevor sie in Ihren Workflow importiert werden. Dies ist besonders nützlich, wenn wir, wie in diesem Fall, nur daran interessiert sind, einen Teil der Daten herunterzuladen und nicht die gesamten – riesig – Datensatz. 

Abbildung 2: Der Abschnitt des Workflows, der benutzerdefinierte Abfragen für Big Data durchführt.

Fügen wir ein hinzu DB-Tabellenauswahl Knoten und öffnen Sie das Konfigurationsfenster, um eine benutzerdefinierte Abfrage wie die in Abbildung 3 zu schreiben. Dadurch werden Funktionen wie Jahres-, Monats- und Jahresfelder extrahiert, die wir im weiteren Verlauf des Workflows verwenden. 

Achten Sie bei der direkten Eingabe von SQL-Anweisungen darauf, die für BigQuery erforderlichen spezifischen Anführungszeichen (“) zu verwenden.

Wir können unsere SQL-Anweisung verfeinern, indem wir einige zusätzliche GUI-gesteuerte DB-Knoten verwenden. Insbesondere haben wir a hinzugefügt DB-Zeilenfilter um nur die Tage im Jahresbereich [2013, 2017] zu extrahieren und einen DB-GroupBy-Knoten, um die Fahrtanzahl für jeden Tag zu erzeugen.

Tipp: Wenn Sie bei SQL-Abfragen nostalgisch werden, können Sie das Ergebnisfenster jedes DB-Knotens öffnen (Rechtsklick auf den Knoten -> letzter Eintrag) und zur Registerkarte „DB-Abfrage“ navigieren, um zu überprüfen, wie die SQL-Anweisung bisher aussieht .

Abschließend fügen wir den DB Reader-Knoten hinzu, um die Daten lokal in den Workflow zu importieren.

Abbildung 3: Konfigurationsfenster des DB Table Selector-Knotens mit einer benutzerdefinierten Abfrage.

Databricks

Der untere Teil des Workflows verarbeitet die auf Databricks gespeicherten Daten. Was Sie in diesem Abschnitt benötigen, ist:

  • Ein laufender Databricks-Cluster, der die speichert Austin-Wetter Datensatz. Sie können die CSV-Datei von Kaggle herunterladen und auf einen Databricks-Cluster hochladen.
  • Anmeldeinformationen und Cluster-ID, um eine Verbindung zur Databricks-Instanz herzustellen
  • Das offizieller JDBC-Treiber bereitgestellt von Databricks und installiert auf unserer Analytics-Plattform (empfohlen)
  • Unsere Databricks-Integration und Erweiterung für Apache Spark auf dem Hub verfügbar

Bitte beachten Sie, dass dieser Teil des Experiments trotz der Tatsache, dass Databricks ein kostenpflichtiger Dienst ist, mithilfe von Databricks implementiert wird Gemeinschaftsausgabe, das kostenlos ist und alle Funktionalitäten bietet, die wir für unsere Herausforderung benötigen.

Die Analytics-Plattform bietet einen Open-Source-Apache-Hive-Treiber, den Sie auch zum Herstellen einer Verbindung mit Databricks verwenden können. Wir empfehlen jedoch die Verwendung des offiziellen JDBC-Treibers von Databricks.

Herstellen einer Verbindung zu Databricks 

Stellen wir zunächst eine Verbindung zu Databricks her und fügen hinzu Erstellen Sie eine Databricks-Umgebung Knoten zum Workflow. Im Konfigurationsfenster werden wir aufgefordert, eine Reihe von Parametern anzugeben:

  1. Databricks-URL
  2. Cluster-ID 
  3. Arbeitsbereichs-ID
  4. Authentifizierung

Wenn Sie diese Informationen noch nicht haben, rufen Sie die Databricks-Webseite Ihres Projekts auf und wählen Sie im Menü links die Registerkarte „Cluster“ aus. Wählen Sie als Nächstes den Cluster aus, mit dem Sie eine Verbindung herstellen möchten. Zu diesem Zeitpunkt sieht die Webseiten-URL wie in Abbildung 4 aus.

Abbildung 4: Databricks-URL-Seite im Formular /?o= #/setting/clusters/ /Aufbau.

Kopieren Sie diese Einstellungen und fügen Sie sie in das Konfigurationsfenster des Knotens „Databricks-Umgebung erstellen“ ein. 

Wenn Sie Databricks auf AWS verwenden, zeigt die URL die Arbeitsbereichs-ID nicht an und Sie können dieses Feld leer lassen. Wenn Sie die Community Edition nicht ausführen, können Sie die Token-Authentifizierungsmethode verwenden. Andernfalls müssen Sie die Anmeldeinformationen angeben.

Hinweis: Die Databricks Community Edition beendet einen Cluster automatisch nach zwei Stunden Inaktivität. Wenn Sie dieses Beispiel zu einem späteren Zeitpunkt erneut ausführen möchten, sollten Sie einen neuen Cluster erstellen und die Cluster-ID im Konfigurationsfenster des Knotens „Databricks-Umgebung erstellen“ aktualisieren.

Abbildung 5: Das Konfigurationsfenster des Knotens „Databricks-Umgebung erstellen“.

Durch die Ausführung dieses Knotens wird die Analytics-Plattform mit dem Databricks-Cluster verbunden, in dem die Daten gespeichert sind. Der Knoten verfügt über drei Ports, von denen jeder einen anderen Zugriff auf die Daten ermöglicht:

  • Roter Port: die JDBC-Verbindung, zu der eine Verbindung hergestellt werden soll KNIME-Datenbankknoten
  • Blauer Hafen: der DBFS Verbindung zur Verbindung mit den Remote-Dateiverarbeitungsknoten sowie den Spark-Knoten
  • Grauer Port: Spark-Kontext zum Herstellen einer Verbindung mit allen Spark-Knoten. Bitte überprüfen Sie im Reiter „Erweitert“ des Konfigurationsfensters, ob die Option „Spark-Kontext erstellen“ aktiviert ist, um diesen Port zu aktivieren

In diesem Beispiel werden wir einige grundlegende Spark-Operationen verwenden, um die Daten abzurufen. Bitte wende dich an die KNIME auf DataBricks Leitfaden, um weitere Databricks-Vorgänge in der Analytics-Plattform zu erkunden, sowie detailliertere Anweisungen zur erstmaligen Konfiguration von Databricks.

Abbildung 6: Abschnitt des Workflows zum Bearbeiten und Importieren von Daten aus Databricks mithilfe von Spark-Knoten.

Da wir den Austin Weather-Datensatz im Databricks-Cluster als CSV-Datei gespeichert haben, fügen wir dem Spark-Knoten eine CSV-Datei hinzu, um darauf zuzugreifen. Doppelklicken Sie auf den Knoten, um das Konfigurationsfenster zu öffnen. Klicken Sie auf „Durchsuchen“ und wählen Sie die aus austin_weather.csv aus dem Cluster.

An diesem Punkt sind wir bereit, einige der von den Spark-Knoten angebotenen Funktionalitäten zu nutzen. Sie finden sie alle im Bereich „Node Repository“ unter „Tools & Services -> Apache Spark“, nachdem Sie die Erweiterung für Apache Spark installiert haben.

Hier möchten wir Informationen zum Datumsfeld extrahieren. Wir werden die Datumszeichenfolge in drei separate Spalten aufteilen: Jahr, Monat und Tag. Dazu verwenden wir die PySpark-Skript (1 zu 1) Knoten und schreiben Sie unser einfaches Skript direkt in das Konfigurationsfenster. Nach der Ausführung enthält der Ausgabeport die verarbeiteten Spark-Daten. Schließlich importiert ein Spark to Table-Knoten die Ergebnisse in unseren Workflow. 

Die Ergebnisse

In diesen letzten Schritten haben wir die zu vermischenden Daten extrahiert und vorbereitet. 

Fügen wir einen Joiner-Knoten hinzu und wählen den zuvor extrahierten Knoten aus JahrMonat, und Tag Fügen Sie Felder als Verbindungsspalten hinzu und lassen Sie die Analytics-Plattform ihre Tricks ausführen. Klicken Sie nach der Ausführung mit der rechten Maustaste auf den Joiner-Knoten, wählen Sie im Menü „Verbundene Tabelle“ aus und sehen Sie sich die Daten an, die jetzt zusammengeführt werden. 

Nach dem Joiner-Knoten im Workflow erstellt die Visualisierungskomponente ein Dashboard, das verschiedene Diagramme wie Balkendiagramme, Histogramme, Sunburst-Diagramme sowie die in Abbildung 7 dargestellte Tabellenansicht und das Streudiagramm enthält. Jeder Punkt im Streudiagramm ist kodiert die Daten eines Tages. Die Farbe des Punktes verrät uns die durchschnittliche Tagestemperatur: Die kälteren Tage sind blau, die heißeren rot. 

Abbildung 7: Streudiagramm der gemischten Daten. Jeder Punkt kodiert die Anzahl der Radtouren an einem bestimmten Tag. Die Farbe richtet sich nach der durchschnittlichen Tagestemperatur – blau für niedrigere und rot für höhere Werte. Wir können verschiedene Merkmalskombinationen direkt aus der interaktiven Streudiagrammansicht erkunden.

Das Dashboard bietet auch ein gewisses Maß an Interaktivität, um in die Erkundung einzutauchen, z. B. einen interaktiven Schieberegler zum Entfernen von Tagen entsprechend der Temperaturstufe oder eine Tabelle, die nur ausgewählte Punkte aus dem Streudiagramm anzeigt. Wie in Abbildung 7 gezeigt, können wir die Konfiguration des Diagramms auch direkt über das Dashboard ändern, indem wir verschiedene Funktionskombinationen auswählen, indem wir auf das Symbol in der oberen rechten Ecke klicken. Beispielsweise können wir Informationen über den Zusammenhang zwischen Radtouren und Regenmenge erhalten, indem wir die entsprechenden Funktionen auswählen – NiederschlagSumZoll für die X-Achse und NumberOfTrips für die Y-Achse. Anhand des resultierenden Streudiagramms können wir erkennen, dass es an den Tagen mit höheren Fahrzahlen kaum oder gar nicht geregnet hat: Die schlechten Wetterbedingungen könnten dazu geführt haben, dass die Menschen andere Fortbewegungsmittel gewählt haben. 

Klicken wir nun erneut auf das Symbol und wählen das aus Datum Spalte für die X-Achse. Die Streudiagrammaktualisierungen zeigen einen saisonalen Trend der Radtouren. Wir können die Details der Datenpunkte mit der höheren Anzahl an Radtouren untersuchen, indem wir sie aus dem Streudiagramm auswählen und sie dann in der Tabellenansicht überprüfen. Es scheint, als ob die Gipfel, die wir sehen können, hauptsächlich im März und Oktober stattfinden – wenn das Radfahren wahrscheinlich angenehmer ist als bei Regen oder bei sehr hohen oder niedrigen Temperaturen.

An diesem Punkt möchten wir möglicherweise die gemischten Daten für zukünftige Verwendungen wieder auf die Plattformen hochladen. Dazu fügen wir dem Workflow einen DB Table Creator hinzu. Wir können es entweder mit dem Google BigQuery Connector oder mit der DB-Verbindung (roter Port) des Knotens „Databricks-Umgebung erstellen“ verbinden. 

Beachten Sie, dass möglicherweise zusätzliche Schritte wie die Erstellung eines neuen Schemas in Ihrem persönlichen BigQuery-Projekt erforderlich sind. 

Konfigurieren Sie den DB Table Creator-Knoten, indem Sie das gewünschte Schema auswählen und der Tabelle einen Namen geben. Als nächstes fügen Sie einen DB Loader-Knoten an und konfigurieren ihn, um die Daten in die neue Remote-Tabelle hochzuladen. 

Hinweis: Denken Sie bei der Verwendung von BigQuery daran, alle Leerzeichen aus den Spaltennamen zu löschen. Sie würden während der Tabellenerstellung automatisch umbenannt und dies würde zu Konflikten für den nächsten Schritt führen, da die Spaltennamen nicht mehr übereinstimmen.

Abbildung 8: DB-Tabellenersteller konfiguriert, um eine neue Tabelle mit dem Namen austin_bike im Standardschema in Databricks zu erstellen.

Fazit

In diesem Beispiel haben wir gelernt, wie wir mithilfe der in unserer Analytics-Plattform verfügbaren Erweiterungen auf zwei beliebte Cloud-Dienste – Google BigQuery und Databricks – zugreifen und diese kombinieren können. Zusammen mit diesen Datensätzen haben wir das Bikesharing in Austin untersucht und untersucht, wie seine Nutzung eng mit den Wetterbedingungen zusammenhängt. 

Der vollständige Arbeitsablauf für dieses Experiment ist in Abbildung 9 dargestellt und kann im Hub unten heruntergeladen werden Google BigQuery trifft auf Databricks.

Abbildung 9: Endgültiger Workflow, der Daten aus BigQuery und Databricks zusammenführt. Es kann vom Hub heruntergeladen werden.

Münzsmart. Beste Bitcoin-Börse in Europa
Quelle: https://www.dataversity.net/will-they-blend-google-bigquery-meets-databricks/

spot_img

Neueste Intelligenz

spot_img