Stream- und Batch Transformations im Jitterbit Design Studio
Jitterbit unterstützt diese Methoden zur Verarbeitung einer Transformation:
Streaming- und Batch Transformations sind die bevorzugten Methoden, wenn die Speichermenge, die eine Jitterbit Transformation verwendet, begrenzt werden muss. In Fällen, in denen Sie weder eine Streaming- noch eine Batch - Transformation verwenden können, kann chunking wie unten beschrieben anwendbar sein.
Notiz
Aus Sicht einer Transformation entspricht eine SOAP Webservice-Antwort/-Anfrage unter Berücksichtigung dieser Einschränkungen der Verarbeitung einer XML-Quelle/einem XML-Ziel.
Streaming-Transformation
Eine Streaming Transformation lädt jeweils einen Datensatz in den Speicher, führt die Transformation des Datensatzes durch und schreibt das Ziel auf die Festplatte. Dadurch wird die während der Transformation verwendete Speichermenge auf das für die Transformation eines Datensatzes erforderliche Maß reduziert.
Streaming wird automatisch auf Transformations angewendet, bei denen Quelle und Ziel beide flache Strukturen sind (z. B. eine einzelne Datenbanktabelle oder eine einzelne CSV-Datei) und diese Anforderungen erfüllt sind:
-
Streaming wurde nicht explizit durch die Einstellung deaktiviert
AutoStreaming=0
imjitterbit.conf
Datei. -
Streaming wurde nicht explizit durch Setzen der Jitterbit-Variable deaktiviert
$jitterbit.transformation.auto_streaming
Zu0
oderfalse
. -
Es werden keine instanzauflösenden Funktionen verwendet, wie z. B.
FindByPos
,FindValue
, oderSum
. -
Diese Wörterbuch- und Array-Funktionen sind nicht vorhanden:
GetSourceInstanceMap
,GetSourceAttrNames
,GetSourceElementNames
,GetSourceInstanceElementMap
,GetSourceInstanceArray
,GetSourceInstanceElementArray
. -
Die XML-Funktion
GetXMLString
ist nicht vorhanden. -
Es gibt keine Mehrfachzuordnungen im Ziel.
-
Die Transformation hat keine Bedingung im Ziel definiert.
Es sind keine weiteren Maßnahmen erforderlich. Streaming wird bei der Verarbeitung der Transformation automatisch verwendet.
Beispiel
Zu den Transformations, die automatisch Streaming verwenden, gehören diese Datenstrukturen:
- CSV zu CSV
- Von Einzeltabelle zu Einzeltabelle
- Einzelne Tabelle in CSV
- CSV in einzelne Tabelle
Batch-Transformation
Bei Transformations, die die Kriterien für Streaming nicht erfüllen, wird die gesamte Quelle in den Speicher eingelesen und die Transformation im Speicher durchgeführt. Diese Methode ist in der Regel die zeiteffizienteste, kann aber zu Speicherfehlern führen, wenn die Quelle sehr groß ist. In diesen Fällen kann entweder eine Batch Transformation oder chunking muss verwendet werden.
Eine Batch Transformation ähnelt einer Streaming-Transformation, verarbeitet jedoch mehrere Quelldatensätze gleichzeitig (die Batches) und hat weniger Einschränkungen als Streaming. Sie kann in Fällen verwendet werden, in denen Streaming nicht automatisch verwendet wird, und ist für hierarchische Quellen anwendbar (z. B. für mehrere Datenbanktabellen mit einer oder mehreren Eltern-Kind-Beziehungen oder für hierarchische Dateiformate).
Um eine Batch Transformation zu aktivieren, klicken Sie mit der rechten Maustaste auf den Quellknoten, der zum Batch-Quellknoten werden soll, und wählen Sie im angezeigten Menü Batch Transformation definieren aus.
Geben Sie im angezeigten Dialog die maximale Batch ein. Dies ist die Anzahl der Datensätze, die pro Batch in den Speicher eingelesen werden sollen. Wenn Sie eine zu kleine Batch wählen, verlangsamt sich die Transformation. Allerdings müssen alle Quell- und Zieldaten eines Batch in den verfügbaren Speicher passen.
Beispiel
Transformations können in folgenden Fällen verwendet werden, wenn die Quelle sehr groß ist:
- Hierarchische Datenbank entweder als CSV oder als einzelne Tabelle
- Hierarchische Datenbank zu hierarchischem Text/Datenbank
- Hierarchischer Text entweder in CSV oder in eine einzelne Tabelle
- Hierarchischer Text zu hierarchischem Text/Datenbank
Chunking
In einer Situation, in der eine Streaming- oder Batch Transformation weder anwendbar noch möglich ist, können Sie möglicherweise Chunking verwenden, damit die Transformation weniger Speicher benötigt. Bei sehr großen XML-Quellen und-Zielen ist chunking möglicherweise die einzige Option. (Wenn die Speichernutzung kein Problem darstellt, ist eine Streaming- oder Batch Transformation immer die bevorzugte Wahl.) Weitere Informationen finden Sie unter Chunking.