qimia

Data Engineering auf Azure - Die Einrichtung - 1/4

Startseite
page
Insights
page
Blogs
page
Data Engineering a...

Data Science

10 min. lesen

January 26, 2023

Data Engineering auf Azure - Die Einrichtung - 1/4

Die Einrichtung Einführung

In den letzten Jahren hat Machine Learning aufgrund der Fortschritte in der Forschung viel Aufmerksamkeit erregt. Viele Unternehmen würden die Möglichkeiten, die diese Techniken bieten, gerne nutzen oder Business Analytics durchführen, tun sich aber schwer damit, weil ihre Daten in Silos wie OLTP-Datenbanken mit operativen Daten eingeschlossen sind. In der Vergangenheit gab es zwei Hauptansätze für die Nutzung von Daten für analytische Zwecke und Machine Learning:

Mit einem Data Warehouse

Mit einem Data Lake

Der Zugriff auf die Daten wird durch ETL- (Data Warehouse) oder ELT-Prozesse (Data Lake) ermöglicht. Während das Konzept eines Data Lake vor allem darauf abzielt, die Übertragung von Daten zu vermeiden und sie dort zu belassen, wo sie sind, konzentrieren sich Data Warehouses auf die Umwandlung und Speicherung von Daten in einer Weise, die blitzschnelle analytische Abfragen ermöglicht. Die Einrichtung einer geeigneten Data Architecture ist nicht nur für den Erfolg klassischer Analyselösungen, sondern auch für Machine Learning Algorithmen absolut entscheidend. Mit dieser kurzen Einführung möchten wir Sie zu unserer Tutorial-Serie über Data Engineering auf MS Azure willkommen heißen!

Ziel

In diesem Lernprogramm zeigen wir Ihnen, wie Sie:

  • Richten Sie die entsprechenden Ressourcen auf Azure ein und verwalten Sie deren Zugang zueinander

  • Erstellen Sie Pipelines in Data Factory, die Daten lesen, umwandeln, partitionieren und schreiben können.

  • Richten Sie in der Azure Data Warehouse-Lösung 'Synapse' entsprechende Sternschemata ein.

Die Serie wird uns schließlich zu folgendem Aufbau führen:

Das Tutorial besteht aus vier Teilen, die aufeinander aufbauen:

  1. Einrichtung und Einführung in das Projekt

  2. Laden der Northwind-Datenbank, Stapeln und Ablegen der Daten in einem Data Lake

  3. Design des geeigneten Sternschemas für unsere Daten auf der Grundlage der angenommenen Zugriffsmuster

  4. Transformieren, aggregieren, verbinden und übertragen Sie die Daten in den Data Lake und kopieren Sie die Daten täglich in Synapse.

Dies ist der erste Teil unserer Serie und der Schwerpunkt liegt auf der Einrichtung unserer Startressourcen einschließlich ihrer wichtigsten Konfigurationsoptionen. Wir werden unsere erste Pipeline vorbereiten, die Daten von unserer SQL-Datenbank zum Azure Data Lake Storage überträgt. Wir verwenden die bekannte Northwind Datenbank.

Wenn Sie nicht daran interessiert sind, die Komponenten selbst einzurichten, können Sie unser Azure CLI-Skript auf Github. Beachten Sie, dass Sie den Zugriffsschlüssel für das Speicherkonto immer noch als Geheimnis im Key Vault hinterlegen müssen.

Einrichten der Ressourcen

Bevor wir mit unserer ersten Pipeline beginnen, werden wir einige Dinge einrichten:

Ressourcengruppe

Azure Data Lake Storage Gen 2 (ADLS G2)

SQL-Datenbank und Datenbank

Schlüssel Tresor

1. Ressourcengruppe

In Azure sind die Ressourcen in Ressourcengruppen organisiert. Wir werden eine neue Ressourcengruppe einrichten, in der wir alle unsere Ressourcen speichern werden. Gehen Sie dazu in Ihr Azure-Portal, suchen Sie nach Ressourcengruppen und fügen Sie eine neue Gruppe hinzu.

Wir werden unsere 'qde_rg' nennen für Qimia Data Engineering Ressourcengruppe. Wir werden dieses Präfix während des gesamten Tutorials verwenden. Stellen Sie sicher, dass Sie eine Region wählen, die alle benötigten Dienste enthält. Wir werden US East verwenden.

2. Data Lake Speicherung

Als Nächstes erstellen wir den Data Lake Storage Gen 2. In Azure verwendet dieser Speicher Blob Storage, der auf Speicherkonten läuft, daher müssen wir zunächst ein neues Speicherkonto erstellen. Fügen Sie in Ihrer Ressourcengruppe eine neue Ressource hinzu und suchen Sie nach dem Speicherkonto. Wenn Sie einen Blob-Speicher erstellen, werden Sie mit Konfigurationsoptionen konfrontiert.

2.1. Lesen/Schreiben Leistung

Um die Kosten zu senken, entscheiden wir uns für die Standard Performance Tier, General Purpose V2 Storage, LRS und Cool Access Tier. Beachten Sie, dass Sie sich für den Premium Performance Tier, Blob Storage und Hot Access Tier entscheiden können, wenn Sie das Lesen und Schreiben beschleunigen möchten.

2.2. Langlebigkeit & Sicherheit

Die Wahl einer anderen Replikationsoption kann nützlich sein, um die Haltbarkeit Ihres Speichers im Falle von Katastrophen zu verbessern. Wenn Sie sich für die Replikation in andere Regionen entscheiden, sollten Sie beachten, dass das Lesen aus den asynchronen Repliken standardmäßig deaktiviert ist. Die Aktivierung des Soft-Löschens ist eine weitere Option, um die Haltbarkeit im Falle von versehentlich gelöschten Dateien zu verbessern. Für unseren Fall können wir darauf verzichten.

2.3. Hierarchische Namespaces

Wir verlangen eine sichere Übertragung und deaktivieren aus Sicherheitsgründen den öffentlichen Zugriff auf Blobs. Stellen Sie sicher, dass Sie die Option für hierarchische Namensräume aktivieren, wodurch dieses Speicherkonto zum Data Lake-Speicher wird.

Abgesehen von einigen zusätzlichen Optionen für die Zugriffsverwaltung ist der hierarchische Namensraum der Hauptvorteil des Data Lake Storage gegenüber dem einfachen Blob Storage.

3. SQL Server und Datenbank

Unser Lernprogramm beginnt mit Daten, die in einer Datenbank auf einem SQL Server gespeichert sind. Gehen Sie zu Ihrer Ressourcengruppe und fügen Sie ihr die SQL-Datenbank hinzu. Sie benötigen das Passwort, also merken Sie es sich oder schreiben Sie es auf. Legen Sie in der Konfiguration einen neuen SQL Server an, auf dem die Datenbank laufen soll. Eine einfache Datenbank mit 2 GB Speicherplatz ist für unseren Anwendungsfall ausreichend.

4. Schlüssel Tresor

Es gibt einige Optionen, um den Zugriff auf Blob-Speicher und Datenbanken zu kontrollieren. Für Storage können Sie Access Keys, Shared Access Signatures und das Azure Active Directory verwenden. Gemeinsame Zugriffssignaturen sind eine gute Option, wenn Sie den Zugriff auf einzelne Objekte oder auf einen bestimmten Zeitraum beschränken möchten. Der Zugriff mit Azure AD funktioniert in Kombination mit der rollenbasierten Zugriffskontrolle (RBAC) und wird ausgewertet, wenn Sie persönlich versuchen, auf den Speicher zuzugreifen. Außerdem kann es ein gutes Werkzeug sein, um den Zugriff auf Anwendungen über einen Service Principal zu gewähren. In unserem Fall werden wir den Zugriff mit Hilfe von Zugriffsschlüsseln gewähren. Dabei handelt es sich im Grunde um Hauptschlüssel für das Speicherkonto, mit denen Sie fast alle Operationen auf dem Speicherkonto durchführen können, mit Ausnahme spezieller Dinge wie das Mounten von Daten in Databricks. Beachten Sie, dass RBAC die durch Access Keys gewährten Rechte übertrumpft.

Als sicherere Alternative können Sie auch eine Gemeinsame Zugriffssignatur für das gesamte Speicherkonto oder für eine Teilmenge von Komponenten erstellen. Diese Signatur kann verschiedene Berechtigungen wie 'Lesen' oder 'Schreiben' enthalten und die Gültigkeit kann auf einen bestimmten Zeitraum beschränkt werden.

Der Zugriff auf die Datenbank kann für Azure AD-Identitäten und Datenbankbenutzer gewährt werden. Wir werden die Anmeldedaten des Datenbankbenutzers verwenden, genauer gesagt das Passwort. Da wir unsere rohen Zugangsdaten nicht eingeben möchten, um uns mit den Ressourcen zu verbinden, werden wir einen Schlüsseltresor verwenden. Gehen Sie zu Ihrer Ressourcengruppe und fügen Sie ihr einen Schlüsseltresor hinzu. Sobald der Schlüsseltresor eingerichtet ist, öffnen Sie ihn und wechseln Sie auf die Registerkarte Geheimnisse. Erzeugen/Importieren Sie die beiden Geheimnisse:

  1. Enthält den Zugriffsschlüssel für Ihr Speicherkonto

  2. Enthält das Passwort Ihres Datenbankbenutzers

Einpacken

Nachdem wir nun die notwendigen Ressourcen eingerichtet haben, können wir eine Pipeline erstellen, die Daten von unserer SQL-DB an den Data Lake-Speicher überträgt. Damit ist Teil 1 unseres Tutorials abgeschlossen. Wir sehen uns in Teil 2 Grundlegende ETL-Verarbeitung mit Azure Data Factory.

Quellen

66

Anteile

83

Ansichten

Verwandte Blogs

In Kontakt kommen
Erweitern Sie Ihr Geschäft mit Qimia