Erste Schritte mit SSIS (SQL Server Integration Services)

In den letzten Monaten hat eine Gruppe hochrangiger Entwickler in dem Unternehmen, in dem ich arbeite, Gespräche über eine Initiative zur Datenverwaltung aufgenommen. Ich bin ein paar Mal zu ihnen gekommen und eines der ersten Dinge, die sie erreichen wollten, war die Erstellung eines Data Warehouse.

Um dieses Warehouse zu versorgen, wollten wir Informationen integrieren, die in verschiedenen Quellen gespeichert sind. Nach einer kurzen Recherche traf ich SSIS und begann an einem einfachen Proof of Concept zu arbeiten, um zu sehen, wie es funktioniert.

Grundsätzlich besteht der goa l dieses Beispiels darin, Schülernoten aus einer CSV-Datei in eine SQL-Datenbank-Tabelle mit einer gewissen Datentransformation in der Mitte zu importieren.

In den folgenden Abschnitten werde ich einen Überblick über die Schritte geben, die ich ausgeführt habe.

Sie müssen SQL Server Data Tools für Visual Studio und SQL Server installieren, um fortfahren zu können.

Vorbereitende Schritte:

Erstellen Sie eine CSV-Datei mit Hilfe von Mockaroo. Die CSV-Datei hat die folgende Struktur:

Erstellen Sie eine neue Datenbank (ich arbeite an meinem lokalen Server) und nennen Sie sie StudentWarehouse

Erstellen Sie eine neue Tabelle zum Speichern der Schüler. Beachten Sie, dass beim Importieren aus einer CSV-Datei eine Spalte mit dem Namen grade_avg mit einer DataTransform gefüllt wird.

Erstellen Sie das Projekt

Öffnen Sie Visual Studio SSDT

Wählen Sie Datei / Neu / Projekt. Wählen Sie in der Eingabeaufforderung für das neue Projekt Integration Services Project und klicken Sie auf OK.

Datenflussaufgabe erstellen

Wenn wir das neue Projekt erstellen, sehen wir eine Registerkarte mit dem Titel SSIS Toolbox, die uns bei der Arbeit an unserer Package.dstx hilft.

Als Erstes müssen wir hier eine “Datenflussaufgabe” erstellen, indem Sie auf das entsprechende Toolbox-Element doppelklicken. Dadurch wird ein Element erstellt, das in unserer Package.dtsx-Entwurfsansicht angezeigt wird. Beachten Sie, dass wir uns jetzt auf der Registerkarte “Kontrollfluss” befinden.

Wenn Sie in der Entwurfsansicht auf das Element “Datenflussaufgabe” doppelklicken, werden Sie zur Registerkarte “Datenfluss” weitergeleitet. Dort konfigurieren wir den Datenfluss vom CSV bis zur Datenbanktabelle.

Jetzt, da wir uns auf der Registerkarte “Datenfluss” befinden, können wir weiterhin Elemente aus der Toolbox einfügen. Sie werden feststellen, dass sie sich von den verfügbaren Elementen auf der Registerkarte “Kontrollfluss” unterscheiden.

Laden Sie die CSV-Datei (Quelle auswählen)

Um die Quelle / Herkunft unserer Daten anzugeben, verwenden wir eine Flatfile-Quelle. Wir fügen es hinzu, indem wir auf das entsprechende Element in der Toolbox doppelklicken und dann auf das Element doppelklicken, das der Entwurfsansicht hinzugefügt wurde, damit wir die Quelle der Datei konfigurieren können.

Wir werden gebeten, einen Flat File Connection Manager zu erstellen, der den Speicherort der Datei anfordert, mit der wir arbeiten möchten.

Daten transformieren (abgeleitete Spalte)

Als wir die Tabelle für Schüler erstellt haben, haben wir eine Spalte mit dem Namen grade_avg angegeben, sodass wir die Noten, die wir auf csv haben, in eine einzelne Spalte konvertieren müssen, um ihren Durchschnitt zu berechnen.

Zu diesem Zweck verwenden wir die Transformation “Abgeleitete Spalte”.

Genau wie wir Flat File Source eingeschlossen haben, wählen wir Abgeleitete Spalte aus der SSIS Toolbox aus. Dann erstellen wir eine Verknüpfung zwischen den beiden Elementen, indem wir den blauen Pfeil unter Flat File Source-Element ziehen.

Nach dem Verknüpfen der Elemente, die zum Konfigurieren der abgeleiteten Spalte benötigt werden, doppelklicken wir auf Abgeleitetes Spaltenelement, damit wir auf den Assistenten zugreifen können.

Im Assistenten können wir die abgeleitete Spalte konfigurieren, die wir hinzufügen möchten.

Die wichtigsten Elemente hier sind der Name der abgeleiteten Spalte, der grade_avg lautet. Außerdem geben wir an, dass es sich um eine neue Spalte handelt, und geben schließlich einen Ausdruck an, um den Wert für die neue Spalte zu berechnen.


Ziel erstellen (In Datenbank speichern)

Nachdem wir die Datenquelle angegeben und transformiert haben, müssen wir das Ziel angeben, an dem die Daten gespeichert werden sollen.

Um dies zu erreichen, wählen wir ADO NET Destination aus der Toolbox aus und verknüpfen es mit unserem Flow, indem wir den blauen Pfeil aus der abgeleiteten Spalte ziehen.

Sobald wir den Link haben, müssen wir das Ziel konfigurieren.

Zuerst werden wir aufgefordert, einen Verbindungsmanager anzugeben. Dort klicken wir auf die Schaltfläche Neu und definieren unsere Verbindung zur Datenbank. Sobald wir die Verbindung hergestellt haben, wählen wir die Tabelle aus, die wir füllen möchten. In diesem Beispiel lautet die Tabelle Student.

Für den nächsten Schritt müssen wir die Zuordnungen zwischen den Feldern definieren, die wir aus den Spalten csv (und Transformation) und Student Table erhalten. Wir wählen Zuordnungen aus der Liste links und die Linkspalten wie abgebildet. Dann klicken wir auf OK.

Testen Sie den Datenfluss

Wir haben Flat File Source, Derived Column und ADO NET Destination konfiguriert. Jetzt ist es Zeit, den Datenfluss zu testen. Wir drücken auf das grüne Dreieck Run (oder drücken F5). Dadurch wird unser Datenfluss ausgeführt und neben jedem beteiligten Element eine grüne Markierung angezeigt.

Wir können zur Datenbank gehen und die Student-Tabelle abfragen. Wir werden sehen, dass es mit den transformierten Daten gefüllt ist.

Und das war’s. Wir haben einen ersten ETL-Flow mit SSIS erstellt oder

Dies ist ein sehr einfaches Beispiel, aber ich denke, es ist eine gute Einführung in die Art und Weise, wie wir arbeiten und was wir mit SSIS erreichen können. Ich werde die Verwendung dieses Tools weiter üben und möglicherweise in Zukunft eine weitere Schritt-für-Schritt-Anleitung zu einem komplexeren Szenario veröffentlichen.

Danke fürs Lesen!