ETL-Definitionsübersicht (Transform Load) extrahieren
ETL-Definitionen extrahieren Daten aus einer Quelltabelle, wandeln Sie die Daten nach Bedarf um, und laden Sie die Daten in eine oder mehrere Zieltabellen. ETL-Definitionen unterstützen auch geschachtelte Datenstrukturen.
ETL-Definitionen geben an, wie Daten zugeordnet werden sollen
Der Datenimport beginnt mit Datenquelle . Eine Datenquelle gibt den Typ der Daten, die Sie extrahieren möchten, und ihren Speicherort an. Nachdem die Daten extrahiert wurden, werden sie in eine Bereitstellungs- oder Importsatz-Tabelle geladen. Dann gibt eine ETL-Definition an, wie die Daten in einer oder mehreren Zieltabellen zugeordnet werden ServiceNow. Sie können ETL-Definitionen erstellen, denen Daten zugeordnet werden ServiceNow Tabellen, bei denen der Fremdschlüssel und die eindeutigen Schlüsselbeschränkungen beibehalten werden.
ETL-Entitäten stellen Eingabedaten und Zieltabellen dar
- Eingabedaten sind die Daten, die in die Bereitstellungstabelle geladen wurden.
- Zieltabellen sind ServiceNow Tabellen, in denen Ihre Daten enden sollen.
Die folgende Abbildung zeigt ein Beispiel für eine ETL-Definition für Computer. Dieser Definition sind drei Entitäten zugeordnet. Die Importsatz-Entität stellt die Eingabedaten dar, die aus einer Excel-Datei in eine Bereitstellungstabelle geladen werden. Die Tabelle für die Importsatz-Entität ist auf festgelegt Keine . Computer und Datenträger sind die Zielentitäten. Sie stellen zwei dar ServiceNow Tabellen mit den Namen Computer [sn_etl_Demo_Computer] und Datenträger [sn_etl_Demo_Disk]. Die Daten aus der Bereitstellungstabelle werden in die beiden Zieltabellen geladen.
Eingabeentitäten
Eingabeentitäten stellen die extrahierten Daten dar, die in die Bereitstellungstabelle geladen wurden. Eingabeentitäten verfügen über ETL-Entitätsfelder, die die Tabellenspalten des Importsatzes oder, für einen Einzelspaltenmodus, JSON-Schlüssel darstellen. Sie können Entitätsfelder erstellen, indem Sie auswählen Neu Auf der Registerkarte ETL-Entitätsfelder.
Die folgende Abbildung zeigt die Importsatz-Entität aus der Computer-ETL-Definition. Die Importsatz-Entität stellt die Eingabedaten dar, die aus einer Excel-Datei in die Bereitstellungstabelle „Computer“ [sn_elt_Demo_Computers_stage] geladen wurden. Die Importsatz-Entität verfügt über ein Entitätsfeld für jede Spalte in der Bereitstellungstabelle.
Zielentitäten
Zielentitäten stellen die Zieltabellen in dar ServiceNow. Die folgende Abbildung zeigt die Datenträgerzielentität aus der ETL-Definition des Computers. Datenträger stellt die Zieltabelle sn_etl_Demo_Disk dar. Es verfügt über Entitätsfelder zur Darstellung von Tabellenspalten und temporäre Werte zum Anwenden von Vorgängen.
Jedes Entitätsfeld hat einen Namen, ein Referenz- oder Pfadfeld, ein Zusammenfügungsfeld und eine Zwangsaktion.
- Referenzfeld
Spezielles Feld, in dem sich eine Zeile in einer Tabelle auf eine Zeile in einer zweiten Tabelle bezieht, indem die sys_ID der Zeile der zweiten Tabelle als Spaltenwert in der Zeile der ersten Tabelle gespeichert wird. Obwohl die Referenz als sys_ID gespeichert wird, werden sie beim Importieren der Daten als Werte importiert. Daher ordnen Sie für Referenzfelder die Werte der eindeutigen Felder der referenzierten Tabelle den importierten Daten zu. Letztendlich verwendet das System die Werte, um den zugehörigen Datensatz zu finden, die sys_ID abzurufen und in der entsprechenden Spalte zu speichern.
Beispiel: In der zuvor erwähnten Datenträgerentität enthält die Tabelle „sn_etl_Demo_Disk“ einen Verweis auf den Computer, der das Referenzfeld verwendet Computer . Die importierten Daten enthalten jedoch nur die Computer-ID, die zur eindeutigen Identifizierung des Computers verwendet werden kann. In der Entität „Datenträger“ gibt der referenzierte Feldpfad (Computer.ID) also auch die Spalte der Computertabelle an.
Wenn für einen eindeutigen Schlüssel mehr als ein Feld vorhanden ist, müssen alle Feldwerte durch Hinzufügen mehrerer Felder angegeben werden. In der folgenden Abbildung weist die Tabelle „sn_etl_Demo_Worker“ beispielsweise einen Verweis auf die Tabelle „sn_etl_Demo_address“ auf. Die Tabelle „sn_etl_Demo_address“ hat drei Spalten (Nummer, Straße und Postleitzahl) als eindeutige Schlüssel. Daher verfügt die Mitarbeiterentität über drei Felder für eindeutige Schlüsselspalten. Referenzfelder können auch als Zusammenfügungsfelder verwendet werden.
- Zusammenfügungsfeld
Gibt den eindeutigen Schlüssel für eine Zielentität an. Das System verwendet das Zusammenfügungsfeld, um zu bestimmen, ob ein vorhandener Datensatz aktualisiert oder ein neuer eingefügt werden soll. Wenn das Zusammenfügungsfeld auf „wahr“ festgelegt ist und das System einen vorhandenen Datensatz mit demselben Zusammenfügungsfeldwert findet, aktualisiert es den vorhandenen Datensatz. Für die zuvor angezeigte Tabelle „sn_etl_Demo_Disk“ in der Entität „Datenträger“ ist die Spalte „Seriennummer“ für alle Datenträgereinträge eindeutig, daher wird sie als Zusammenfügungsfeld angegeben.
- Zwangsaktion
- Gibt für Referenzfelder an, was ausgeführt werden soll, wenn eine Zeile mit dem eindeutigen Schlüsselwert in der referenzierten Tabelle nicht vorhanden ist. Die Zwangsaktion verfügt über die folgenden Optionen.
- Erstellen Eine neue Zeile in der referenzierten Tabelle und weisen Sie sie der Zielzeile zu.
- Ignorieren Der Referenzfeldwert. Die Referenzspalte wird als leer gespeichert.
- Ablehnen Der Referenzfeldwert. Sie wird nicht in die Zieltabelle eingefügt oder in der Zieltabelle aktualisiert.
Entitätsvorgänge der robusten Transformations-Engine (RTE) ändern Daten
Entitätsvorgänge ändern Eingabedaten, bevor sie in einer Zieltabelle gespeichert werden. Die folgende Abbildung zeigt ein Beispiel für einen Verkettungsvorgang. In der ETL-Definition für Computer enthalten die importierten Daten sowohl einen Typ als auch eine Version. Die Zieltabelle erfordert jedoch einen Wert, der eine Kombination aus Typ und Version ist. Daher verwendet die Computerentität einen Verkettungsvorgang, um Typ und Version zu verketten. Entitätsvorgänge können nur für Entitätsfelder ausgeführt werden. In diesem Beispiel werden zwei temporäre Felder erstellt, um die Importsatzwerte zu kopieren.
RTE-Entitätszuordnungen geben Feldzuordnungen an
Nachdem Sie die Eingabe- und Zielentitäten mit ihren Entitätsfeldern und Vorgängen erstellt haben, erstellen Sie eine RTE-Entitätszuordnung für jede Zielentität. RTE-Entitätszuordnungen geben an, wie Felder in der Eingabeentität Feldern in den Zielentitäten zugeordnet werden. In der ETL-Definition für Computer gibt es zwei RTE-Entitätszuordnungen. Eines, das in der folgenden Abbildung angezeigt wird, ordnet Eingabedaten den Feldern der Computerentität zu. Die andere ordnet Eingabedaten den Datenträgerentitätsfeldern zu.
Geschachtelte Daten in ETL-Definitionen
{
"id": "123",
"name": "Jhon",
"emails": [
{
"address": "jhon@servicenow.com",
"type": "work"
},
{
"address": "jhon@gmail.com",
"type": "personal"
}
]
}
- Eingabeentitäten mit geschachtelten Daten
Eingabeentitäten für geschachtelte Daten stellen auch die JSON-Eingabedaten dar. Wie Importe ohne geschachtelte Daten verfügen sie über Entitätsfelder, die die Werte darstellen. Der einzige Unterschied besteht darin, dass Pfade mit Arrays mit einem Sternchen (*) angegeben sind. Die folgende Abbildung zeigt, wie die Pfade zu Adresse und Typ als E-Mails[*].address und E-Mails[*].type angegeben werden.
- Zielentitäten mit geschachtelten Daten
Zielentitäten mit geschachtelten Daten ähneln auch den Zielentitäten in einem normalen Import, mit der Ausnahme, dass der Pfad mit einem Sternchen (*) endet. Das Sternchen weist das System an, die Entität als Array zu verarbeiten. In der E-Mail-Entität wird der Zielpfad als E-Mail[*] angegeben. Zusammenfügungsfelder, Referenzfelder und Zwangsaktionen funktionieren wie bei normalen Importen.
- RTE-Entitätszuordnungen mit geschachtelten Daten
RTE-Entitätszuordnungen für geschachtelte Daten sind wie normale Zuordnungen. Jedes Feld aus der Hierarchie kann der Entität zugewiesen werden.