Neues Thema starten

"Intelligenter" SpreadsheetColumnCombinerStep

Hallo Synesty Support,


Angenommen man möchte 2 Verschiedene Datenquellen miteinander kombinieren: 

ID ParentID Größe
10-17 10 32
10-18 10 36
11-16 11 41
11-22 11 42
12-2 12 32
12-17 12 40

und: 

ID Farbe
10 Blau
11 Grün
12 Rot


Das gewünschte Ergebnis ist hierbei: 

ID ParentID Größe Farbe
10-17 10 32 Blau
10-18 10 36 Blau
11-16 11 41 Grün
11-22 11 42 Grün
12-2 12 32 Rot
12-17 12 40 Rot

Um dies zu erreichen gibt es im Moment mehrere Möglichkeiten:

Zum einem über ein KeyValueSpreadSheet. Dieses hat jedoch ein Limit von 150 kb, was bei größeren Quellen schnell mal erreicht ist.

Zum anderen über Datastores und Querverweise. Diese sind jedoch relativ Fehleranfällig. Ist einmal ein Falscher Wert in einer Zeile abgespeichert, muss man diesen manuell finden und wieder rauslöschen. 

Und letzteres die Verwendung vom ColumnCombinerStep.

Dieser liefert aber eine Ergebnismenge von Tabelle A * Tabelle B Zeilen. Diese überflüssigen Zeilen können zwar später rausgefiltert werden, sind aber trotzdem im Flowdurchlauf erstellt worden. Das macht das ganze ziemlich langsam.

Werden z.B. 2 Spreadsheets mit jeweils 1000 und 4000 Zeilen kombiniert, bekommt man hier 4.000.000 Zeilen zurück.


Um diese Problematik zu vermeiden könnte man einen neuen Step bereitstellen, welcher ähnlich zu dem normalen ColumnCombiner Step agiert. In diesem Step gibt es Beispielweise zusätzlich für jedes Input Spreadsheet ein Spaltenauswahlfeld. Anhand der angegebenen Spaltennamen (in diesem Falle ParentId und Id) können die Zeilen aus Spreadsheet A und Spreadsheet B miteinander gemappt werden. 

Dadurch würde statt dem 4.000.000 Zeilen-Spreadsheet ein Spreadsheet mit 4000 Zeilen entstehen.


Ich hoffe ihr konntet mir folgen.


Viele Grüße

Stefan Helme

1 Kommentar

Hallo Stefan, 


wir haben deinen Wunsch notiert und machen uns Gedanken dazu. 


VG Torsten


1 Person gefällt dies
Anmelden um einen Kommentar zu veröffentlichen