ETL bei der Arbeit

Was ist ETL?

Sie stammen möglicherweise aus einer anderen Programmiersprache oder haben ein neues Unternehmen gegründet und möchten Daten sammeln, die in Ihr neues Softwaresystem aufgenommen werden sollen. Oder vielleicht möchten Sie Ihre Daten sichern, damit sie in ein anderes Datenformat konvertiert werden können. In der Tat jede Situation, in der Sie Daten aus einer Quelle abrufen und an einem anderen Ort ablegen möchten. ETL wird in solchen Fällen aktiv. ETL steht für E.xtract, T.transformieren und L.oad. Weitere Informationen zu ETL und seinem Prozess finden Sie hier.

https://en.wikipedia.org/wiki/Extract,_transform,_load

ETL kann der Montagmorgen des Rechnens sein

Sehr oft kann ETL eine schmerzhafte Aufgabe sein, die viel manuelle und sich wiederholende Arbeit erfordert. Eine typische Situation ist eine, in der viele Daten in einer Sammlung von Excel-Tabellen zusammengefasst sind. Die Aufgabe könnte darin bestehen, diese Daten in Ihre Datenbank aufzunehmen, um sie in einem Desktop oder einer Webanwendung zu verwenden. Das manuelle Extrahieren von Daten aus einer Excel-Tabelle ist oft sehr zeitaufwändig. Dann müssen Sie Daten in ein Format umwandeln, das Zieldatenquellen verstehen und verwenden können, um Daten in ihre eigenen Datensätze zu laden.

Wie kann Delphi Ihnen Zeit bei ETL sparen?

Delphi hat groß Unterstützung für die Bearbeitung von ETL-Aufgaben. Wir haben mehrere Komponenten in Delphi, die speziell zur Vereinfachung des ETL-Prozesses entwickelt wurden. In den meisten Fällen müssen Sie nur einige Komponenten in Ihr Formular ziehen und dort ablegen, einige Eigenschaften festlegen und mit möglicherweise sehr wenig Code zum Zusammenkleben die Aufgabe erledigen. Schauen wir uns einige Komponenten an, die Sie in Ihrem ETL-Prozess verwenden können.

  • FireDAC
  • TFDBatchMove
  • LiveBindings
  • Enterprise-Konnektoren
  • TRESTClient
  • SOAP-Client

Was ist FireDac und wie können Sie es verwenden?

FireDac ist eine universelle Datenzugriffsbibliothek, die Sie sowohl in VCL- als auch in Firemonkey-Anwendungen mit mehreren Geräten verwenden können. Es bietet umfassende Unterstützung sowohl für relationale SQL-Datenbankverwaltungssysteme als auch für Nicht-SQL-Datenquellen.

FireDAC enthält auch die erforderlichen Komponenten, um Daten von einer Quelle zu einer anderen Quelle zu verschieben. Hier können Sie es in Aktion sehen.

In diesem Beispiel verwenden wir die Komponente "TFDBatchMove", um Daten von einem RDBMS in eine Microsoft Excel-Datei zu verschieben. Wir zeigen auch das Gegenteil, wenn die Daten aus Excel in die entgegengesetzte Richtung zurück übertragen werden. Sie können auch sehen, dass es nur zwei Codezeilen gibt, um alles möglich zu machen!

Wie binden wir Komponenten mithilfe von LiveBindings an andere Komponenten oder Datenquellen?

LiveBindings sind die visuelle Möglichkeit, Komponenten <> Komponenten und Komponenten <> Datenquellen zu binden. Sie können die Eigenschaften einer Komponente mithilfe einer anderen Komponente ohne Code steuern. Sie können dazu den Live Binding Designer oder den Live Binding Wizard verwenden. Es ist nur ein Drag & Drop einer Verbindung, um Komponenten und Datensätze zu binden.

Ein Beispiel für Live-Bindungen

Lassen Sie ein Beispiel durcharbeiten, um LiveBindings zu demonstrieren.

Erstellen Sie zunächst ein neues VCL-Projekt, fügen Sie eine TFDMemTable hinzu und fügen Sie der Speichertabelle einige Daten hinzu. Fügen Sie dann eine TDateSource hinzu und verbinden Sie sie mithilfe der Datensatzeigenschaft mit der Speichertabelle. Fügen Sie dann einige Beschriftungen, eine TSpinEdit- und eine TEdit-Komponente hinzu, bis Ihr Formular dem folgenden Formular ähnelt. Fügen Sie nun einen TDBNavigator hinzu und verbinden Sie ihn mit der Datenquelle.

Geben Sie einige einprägsame Namen für alle Komponenten an, damit wir diese in LiveBindings Designer identifizieren können. Wenn Sie alles mit den Standardnamen wie TEdit1, TEdit2 belassen, wird es in der LiveBindings-Ansicht sehr schnell verwirrend.

Klicken Sie nun mit der rechten Maustaste auf das Formular und wählen Sie im Menü die Option „Visuell binden“. Ziehen Sie die Eigenschaften dieser Komponenten und verbinden Sie sie mit Feldern in der Speichertabelle. Das war's, du bist fertig!

Führen Sie nun die Anwendung aus und Sie können Daten in die Speichertabelle mit diesen Komponenten ohne eine einzige Codezeile einfügen, bearbeiten und löschen.

ETL mit FireDac und LiveBindings

Ein ausführlicheres Video von LiveBindings zur Erleichterung der ETL

Was sind diese Delphi Enterprise Connectors?

Wie bereits erwähnt, verfügt FireDAC über viele Komponenten, die eine Vielzahl unterschiedlicher Unternehmensverbindungen unterstützen. Mit den CData Enterprise Connectors können wir über normale SQL / No SQL-Datenbanken hinausgehen und eine Verbindung zu vielen anderen Arten von Anwendungen herstellen und wie bei jeder normalen Datenbank Daten von diesen abrufen. Die Enterprise Connectors unterstützen mehr als 180 Enterprise-Datenquellentypen. Sie können mit Ihren regulären Komponenten über Live-Bindungen oder manuell in Ihrem Code auf diese Daten zugreifen. Besuchen Sie diesen Link, um herauszufinden, welche Komponenten und Unternehmensanwendungen FireDAC unterstützt. Verwenden der Enterprise Connectors:

https://www.cdata.com/firedac/

Weitere Videos zu ETL mit Enterprise Connectors

Wie kann ich mit Delphi auf REST-basierte Services zugreifen?

Heute haben viele Webanwendungen eine REST-API. Delphi bietet eine große Auswahl an Komponenten für die Bearbeitung von REST-Anforderungen.

TRESTClient - Ist die Komponente, die REST-Anforderungen ausführt. Es verfügt über Eigenschaften zum Festlegen von Authentifikatoren und der Basis-URL, die zum Ausführen der Anforderung erforderlich sind.

TRESTRequest - Diese Komponente enthält die Daten zur HTTP-Anforderung. Es wurden die HTTP-Methode, Header-Parameter, Body-Parameter und viele andere optionale Parameter festgelegt.

TRESTResponse - Diese Komponente hält die Antwort nach Ausführung der Anforderung. Es enthält alle Fehlercodes (falls vorhanden) und alle zurückgegebenen Daten in Form von JSON.

Hier ist ein Video des REST-Supports von RAD Studio

Wie mache ich Remoteprozeduraufrufe mit dem SOAP-Client?

SOAP steht für S.umsetzen ÖObjekt EINZugang P.Rotocol. Delphi unterstützt sowohl SOAP-Client als auch -Server. Mit SOAP können wir auf entfernte Daten zugreifen oder entfernte Prozeduren aufrufen. SOAP verfügt über eine Datei namens WSDL, die die im SOAP verfügbaren Datenstrukturen und -methoden beschreibt. Delphi verfügt über einen Assistenten zum Generieren von Schnittstellendefinitionen und Verbindungsinformationen aus einem WSDL-Dokument, das von einem SOAP-Server zurückgegeben wird.

Mehr über ETL und SOAP

Eine ausführlichere Erklärung zum Erstellen eines Delphi SOAP-Servers und zum Generieren von Schnittstellendefinitionen und Verbindungsinformationen mithilfe des Assistenten finden Sie in diesem Beitrag von Embarcadero MVP Craig Chapman.

Fazit

ETL ist in vielen modernen Unternehmen ein regelmäßiger Prozess. Es kann eine lästige oder sich wiederholende Aufgabe sein, wenn Sie nicht über die richtigen Werkzeuge verfügen. Zum Glück verfügt Delphi über viele Komponenten und Techniken, um ETL mit minimaler Codierung zu unterstützen.


Reduzieren Sie die Entwicklungszeit und kommen Sie mit RAD Studio, Delphi oder C ++ Builder schneller auf den Markt.
Design. Code. Kompilieren. Bereitstellen.
Kostenlos testenUpgrade heute

Kostenlose Delphi Community EditionKostenlose C ++ Builder Community Edition