CSV Stapelverarbeitung

Zweck

Das CSV Batch-Element ist dafür konzipiert, sehr große CSV-Dateien in kleineren, handhabbaren Teilen, sogenannten „Batches“ (Stapeln), zu lesen und zu verarbeiten. Dieser Ansatz vermeidet Speicherfehler, die auftreten können, wenn versucht wird, eine riesige Datei auf einmal zu laden.

Dieses Element fungiert als Ausgangspunkt für eine Stapelverarbeitungsschleife. Der nach diesem Element verbundene Flow-Pfad wird für jeden aus der CSV-Datei gelesenen Stapel von Zeilen einmal ausgeführt, bis die gesamte Datei verarbeitet wurde.

Anwendungsfälle:

  • Importieren von Millionen von Produktdatensätzen aus der CSV-Datei eines Lieferanten in ein E-Commerce-System.

  • Verarbeiten großer Datenexporte wie Benutzerlisten oder Transaktionsprotokolle, ohne das System zu überlasten.

  • Synchronisieren von Daten aus einer CSV-Datei mit einer Datenbank auf eine speichereffiziente Weise.


Praktische Anwendungshinweise

  • Stapelverarbeitungsschleife: Dieses Element initiiert eine Schleife. Wenn Sie beispielsweise eine Datei mit 10.000 Zeilen und eine Stapelgröße von 500 haben, wird der nachfolgende Flow-Pfad 20 Mal ausgeführt.

  • Kombination mit "For Each": Ein gängiges Muster ist die Verbindung dieses Elements mit einer For Each-Schleife. Das CsvBatch-Element liefert einen Stapel (z. B. 1000 Zeilen), und die For Each-Schleife iteriert dann über jede einzelne dieser 1000 Zeilen, um sie zu verarbeiten.

  • Datenstrukturen für Zuverlässigkeit nutzen: Für wiederkehrende und standardisierte Importe wird die Verwendung einer Datenstruktur dringend empfohlen. Sie gewährleistet eine konsistente Datenzuordnung und ist weniger fehleranfällig als die manuelle Konfiguration.


Konfigurationsoptionen

Die Konfiguration ist unterteilt danach, wie die Datei strukturiert ist und wie sie verarbeitet werden soll.

Datei- und Stapeleinstellungen

Option

Beschreibung

Eingabeformat

Beispielwert

Pfad

Der vollständige Pfad zur CSV-Datei, die verarbeitet werden soll.

String.

/pfad/zu/ihrem/grossen_import.csv

Stapelgröße

Die Anzahl der Zeilen, die für jeden Stapel aus der CSV-Datei gelesen werden sollen. (Pflichtfeld).

Integer.

1000

Datei archivieren

Wenn aktiviert, wird die Quelldatei nach vollständiger Verarbeitung in ein Archivverzeichnis verschoben.

Checkbox (Boolean).

true (aktiviert)

Datenstruktureinstellungen

Option

Beschreibung

Eingabeformat

Beispielwert

Typ

Definiert, wie das Element die CSV-Spalten interpretieren soll:

Manuell: Sie definieren Trennzeichen und Header.

Datenstruktur: Sie verwenden eine vorkonfigurierte Datenstruktur.

Auswahl (Dropdown).

Manuell

Datenstruktur

Wählen Sie eine vordefinierte Datenstruktur aus, um die CSV-Spalten automatisch zuzuordnen. (Erscheint nur, wenn der Typ auf Datenstruktur gesetzt ist).

Auswahl verfügbarer Datenstrukturen.

Produkt-Importstruktur

Manuelle Konfigurationseinstellungen (bei Typ Manuell)

Option

Beschreibung

Eingabeformat

Beispielwert

Trennzeichen

Das Zeichen, das die Spalten in Ihrer CSV-Datei trennt.

String.

; (Standard)

Textbegrenzer

Das Zeichen, das zur Umschließung von Feldern verwendet wird, die das Trennzeichen enthalten können.

String.

"

Codierung

Die Zeichenkodierung der Datei (z. B. UTF-8, ISO-8859-1).

String.

UTF-8

Datei enthält Überschriften

Geben Sie an, ob die erste Zeile der CSV eine Kopfzeile ist.

Auswahl (yes/no).

yes

Überschriften

Wenn die Datei keine Kopfzeile enthält, müssen Sie hier die Spaltennamen in der richtigen Reihenfolge definieren.

Eine Liste von Namen.

["produkt_id", "name", "preis"]


Eingabe-/Ausgabe-Erwartungen

  • Eingabe: Das Element erfordert eine einzelne Pfad-Eingabe, die auf die CSV-Datei verweist.

  • Ausgabe: Die primäre Ausgabe ist die Variable Einträge.

    • Diese Variable enthält ein JSON-Array der Zeilen im aktuellen Stapel.

    • Für jeden verarbeiteten Stapel werden die nachfolgenden Flow-Elemente ausgeführt. Die Variable Einträge wird bei der nächsten Ausführung mit dem nächsten Satz von Zeilen aktualisiert, bis die Datei vollständig verarbeitet ist.


Zuletzt aktualisiert

War das hilfreich?