2017-12-29 17 views
-1

Verzeihen Sie mir, aber das kann eine Frage für einige Noob sein, aber es ist mir in den Sinn und ich denke, es lohnt sich, meine Ideen zu beheben und eine entsprechende Empfehlung von einigen Experten. dankedurch einige Zeile mit Sprin Batch in Bezug auf eine Bedingung

Ich benutze Feder-Batch, um Datensätze zu lesen und dann zu neuen Modellen zu transformieren.

Alle haben meine Dateizeilen dieses Format:

propertie1 ; prop2 ; prop3 ; prop4 ; prop5 

der Prozess ist wie folgt: Ich lese diese Zeile und gibt sie an den Prozessor somme Sachen zu tun

Mein Problem ist, dass, sollte ich Pass auf den Punkt Prozessor nur Linien mit dieser Bedingung:

If for the same value of property 5 there are 2 or more lines 
- a line with prop 4 = 0 
- a line with prop 4 = 1 
and all values are identical (prop1, prop2, prop3 , ...) 
send to the processor only the line which prp 4 = 1 

so als erste Lösung, i ‚l denken eine Karte verwenden, um alle Zeilen zu speichern, die diese Bedingung überprüft und dann von dass Map passieren i alle Datensätze an den Prozessor:

algo:

  1. Lese Zeile für Zeile der Datei
  2. speichern die Linie auf der Karte Struktur wie folgt aus: [prop5, line]
  3. , wenn die neue Zeile haben die gleiche Stütze 5 (Schlüssel existieren auf Karte) und haben die gleichen Werte, die ich passiere, um die Stütze 4 zu prüfen und nur die Linie mit Wert zu speichern 1.
  4. im Finale, habe ich eine Karte mit alle Linie, die die Bedingung verify.
  5. von dieser Karte, Iteration tun und jeden Datensatz an den Prozessor übergeben Sie die Transformation

So fortzusetzen, ist mein algo richtig ist, ist es die beste jede Idee kann mir andere Lösung am besten sofisticated und Smart finde ich Hilfe?

+1

Was ist das Problem? –

+0

Ich möchte meine Strategie teilen, um zu sehen, ob es eine andere Möglichkeit gibt oder ob es –

+0

ist. Es ist zu breit. –

Antwort

0

Es scheint in Ordnung zu sein, aber Sie sollten Stücke in Ihrem Schritt verwenden, um eine nicht genügend Speicher zu vermeiden.

Chunk reference

Verwandte Themen