Sortierstufe in DataStage
Die Stage 'Sort' wird verwendet, um komplexere Sortieroperationen durchzuführen, als auf der Seite Eingabe in den Abschnitten Partitionierung von Stage-Editoren für parallele Jobs bereitgestellt werden können.
Die Stage 'Sort' ist eine verarbeitende Stage. Sie können die Stage 'Sort' auch dazu verwenden, auf explizitere Weise eine einfache Sortieroperation an Stellen einzufügen, an denen Sie Ihren Job verständlicher gestalten möchten. Die Stage 'Sort' hat nur einen Eingabelink, der die zu sortierenden Daten zuführt, und einen Ausgabelink, der die sortierten Daten transportiert.
Sie geben Sortierschlüssel als Kriterien, nach denen die Sortierung durchzuführen ist. Ein Schlüssel ist eine Spalte, nach der die Daten sortiert werden sollen. Beispiel: Wenn Sie eine Namensspalte hätten, könnten Sie diese als Sortierschlüssel angeben, um eine alphabetische Liste der Namen zu erzeugen. Die erste Spalte, die Sie als Schlüssel für die Stage angeben, ist der Primärschlüssel. Sie können jedoch auch noch weitere sekundäre Schlüssel angeben. Wenn mehrere Zeilen denselben Wert für die Primärschlüsselspalte haben, verwendet IBM® DataStage® die sekundären Spalten zum Sortieren dieser Zeilen.
Die Sortierung kann im sequenziellen Modus ausgeführt werden, um ein vollständiges Dataset zu sortieren, oder im parallelen Modus, um Daten innerhalb von Partitionen zu sortieren, wie in der folgenden Abbildung dargestellt:

Sie können eine Sortierung aus verschiedenen Gründen durchführen. Sie könnten ein Dataset zum Beispiel nach einer Spalte mit Postleitzahlen und dann nach einer Spalte mit Nachnamen innerhalb der Postleitzahl sortieren. Wenn Sie das Dataset sortiert haben, können Sie es filtern, indem Sie benachbarte Datensätze vergleichen und alle Duplikate entfernen.
Allerdings müssen Sie beim Verarbeiten eines sortierten Datasets vorsichtig sein: viele Verarbeitungstypen, wie zum Beispiel erneutes Partitionieren, kann die Sortierreihenfolge der Daten zunichtemachen. Nehmen Sie zum Beispiel an, Sie sortieren ein Dataset auf einem System mit vier Verarbeitungsknoten und speichern die Ergebnisse in einer Stage 'Data Set'. Das Dataset hat dementsprechend vier Partitionen. Später verwenden Sie dieses Dataset als Eingabe für eine Stage, die auf einer anderen Anzahl von Knoten ausgeführt wird, möglicherweise aufgrund von Knoteneinschränkungen. IBM DataStage partitioniert ein Dataset automatisch neu, um es auf alle Knoten im System zu verteilen, es sei denn, Sie weisen es nicht an, möglicherweise die Sortierreihenfolge der Daten zu löschen. Sie könnten dies vermeiden, indem Sie dieselbe Partitionierungsmethode (Same) angeben. Die Stage führt keine erneute Partitionierung beim Lesen des Eingabedatasets durch und die ursprünglichen Partitionen bleiben erhalten.
Sie müssen zudem vorsichtig sein, wenn Sie eine Stage verwenden, die sequenziell operiert, um ein sortiertes Dataset zu verarbeiten. Eine sequenzielle Stage wird auf nur einem Verarbeitungsknoten zur Durchführung ihrer Aktion ausgeführt. Sequenzielle Stages sammeln die Daten, wenn das Dataset mehr als eine Partition hat, wodurch die Sortierreihenfolge des Eingabedatasets ebenfalls zunichtegemacht werden kann. Sie können dies vermeiden, wenn Sie die Methode für die Erfassung der Objektgruppe wie folgt angeben:
- Wenn die Daten bereichspartitioniert waren, bevor sie sortiert wurden, sollten Sie die geordnete Erfassungsmethode (Ordered Collection) verwenden, um die Sortierreihenfolge des Datasets zu bewahren. Mit dieser Erfassungsmethode werden alle Datensätze aus der ersten Partition eines Datasets zuerst gelesen, dann alle Datensätze aus der zweiten Partition und so weiter.
- Wenn die Daten hashpartitioniert waren, bevor sie sortiert wurden, sollten Sie die Erfassungsmethode mit sortierter Zusammenführung (Sort Merge) verwenden und dabei dieselben Sammlungsschlüssel angeben, über die die Daten partitioniert wurden.
Standardmäßig wird die Stage mit der nativen IBM DataStage -Sortierfunktion sortiert, aber Sie können auch angeben, dass sie den UNIX-Befehl sort verwendet.
Der Stage-Editor verfügt über drei Seiten:
- Stage. Diese Seite ist immer vorhanden und wird verwendet, um allgemeine Informationen zur Stage anzugeben.
- Registerkarte "Eingabe". Hier geben Sie Details zu den Datasets an, die sortiert werden.
- Registerkarte "Ausgabe". Hier geben Sie Details zu den sortierten Daten an, die von der Stage ausgegeben werden.
Das folgende Video zeigt ein Beispiel für die Arbeit mit der DataStage -Stage 'Sort'.
Dieses Video bietet eine visuelle Methode zum Erlernen der Konzepte und Tasks in dieser Dokumentation.
Registerkarte 'Eingabe'
Der Abschnitt Spalten gibt die Spaltendefinitionen eingehender Daten an. Im Abschnitt Erweitert können Sie die Standardeinstellungen für die Pufferung für den Eingabelink ändern.
Registerkarte 'Ausgabe'
Die Stage 'Sort' kann nur einen einzigen Ausgabelink haben.
Der Abschnitt Zuordnungen aus Eingabespalten, der angezeigt wird, wenn Sie im Abschnitt 'Spalten' auf Bearbeiten klicken, ermöglicht es Ihnen, die Beziehung zwischen den Spalten anzugeben, die in die Stage 'Sort' und die Ausgabespalten eingegeben werden. Hier können Sie angeben, wie die Ausgabespalten abgeleitet werden sollen, d. h., welche Eingabespalten ihnen zugeordnet sind oder wie sie generiert werden. Im Abschnitt Erweitert können Sie die Standardeinstellungen für die Pufferung für die Ausgabelinks ändern.