Data Science
January 26, 2023

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:
Einrichtung und Einführung in das Projekt
Laden der Northwind-Datenbank, Stapeln und Ablegen der Daten in einem Data Lake
Design des geeigneten Sternschemas für unsere Daten auf der Grundlage der angenommenen Zugriffsmuster
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:
Enthält den Zugriffsschlüssel für Ihr Speicherkonto
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
Data Science
Grundlegende ETL-Verarbeitung mit Azure Data Factory - 2/4
Data Science
Aufbau einer Azure Data Factory Pipeline für professionelles Data Warehousing - 4/4
Data Science
Erstellen des Data Warehouse-Schemas - 3/4
Abonnieren Sie jetzt die frischen Inhalte