Auftragsdateien überschreiben

Wenn Sie einen Auftrag in der Befehlszeile mit Job Executor oder mit der Administrationsumgebung ausführen, können Sie die im Quellschritt des Datenflusses (wie „Read from File“) angegebene Eingabedatei sowie die in der Datenladung des Datenflusses (wie „Write to File“) angegebene Ausgabedatei überschreiben.

Um dies im Job Executor zu tun, geben Sie Folgendes am Ende des Befehlszeilenbefehls des Job Executor an:

StageName=Protocol:Dateiname

Verwenden Sie in der Administrationsumgebung das Argument --l im Befehl job execute:

--l StageName=Protocol:Dateiname

Wo:

StageName

Die Schrittbeschriftung unter dem Symbol des Schrittes im Datenfluss im Enterprise Designer. Hat der Schritt beispielsweise die Beschriftung „Read from File“, würden Sie Read from File als Schrittnamen angeben.

Um einen Schritt innerhalb eines eingebetteten Datenflusses oder Unterflusses anzugeben, stellen Sie dem Schrittnamen als Präfix den Namen des eingebetteten Datenflusses oder Unterflusses voran, gefolgt von einem Punkt und schließlich dem Schrittnamen:

EmbeddedOrSubflowName.StageName

Beispiel: Um einen Schritt mit Namen „Write to File“ in einem Unterfluss mit Namen „Unterfluss1“ anzugeben, würden Sie Folgendes angeben:

Unterfluss1.Write to File

Um einen Schritt in einem eingebetteten Datenfluss anzugeben, der sich innerhalb eines anderen eingebetteten Datenflusses befindet, fügen Sie den übergeordneten Datenfluss hinzu und verwenden Sie jeweils einen Punkt als Trennzeichen. Beispiel: Wenn sich „Eingebetteter Datenfluss 2“ innerhalb von „Eingebetteter Datenfluss 1“ befindet und Sie den „Write to File“-Schritt im „Eingebetteten Datenfluss 2“ angeben möchten, würden Sie Folgendes angeben:

Eingebetteter Datenfluss 1.Eingebetteter Datenfluss 2.Write to File

Protokoll

Ein Kommunikationsprotokoll. Zur Auswahl stehen:

file
Verwendet das Protokoll file, wenn die Datei auf demselben Computer ist wie der Spectrum Technology Platform-Server. Geben Sie beispielsweise unter Windows Folgendes an:

„file:C:/MeineDatei.txt“

Geben Sie unter UNIX oder Linux Folgendes an:

„file:/testfiles/MeineDatei.txt“

esclient
Verwendet das Protokoll „esclient“, wenn sich die Datei auf dem Computer befindet, auf dem Sie den Auftrag ausführen, wenn es sich dabei um einen anderen Computer handelt als den, auf dem der Spectrum Technology Platform-Server ausgeführt wird. Verwenden Sie das folgende Format:

esclient:Computername/Pad zur Datei

Beispiel:

esclient:MeinComputer/Testdateien/MeineDatei.txt

Anmerkung: Wenn Sie den Auftrag auf dem Server selbst ausführen, können Sie entweder das Protokoll file oder esclient verwenden, erzielen aber wahrscheinlich mit file eine bessere Leistung.
Falls der Hostname des Spectrum Technology Platform-Servers nicht aufgelöst werden kann, können Sie den Fehler „Fehler beim Zugriff auf Datei“ erhalten. Um dieses Problem zu beheben, öffnen Sie diese Datei auf dem Server: SpectrumLocation/server/app/conf/spectrum-container.properties. Legen Sie für die Eigenschaft spectrum.runtime.hostname die IP-Adresse des Servers fest.
esfile
Verwenden Sie das Protokoll „esfile“, wenn sich die Datei auf einem Dateiserver befindet. Der Dateiserver muss in der Management Console als Ressource definiert sein. Verwenden Sie das folgende Format:

esfile://Dateiserver/Pfad zur Datei

Beispiel:

esfile://MeinServer/Testdateien/MeineDatei.txt

Dabei ist „MeinServer“ eine in der Management Console definierte FTP-Dateiserverressource.
webhdfs
Verwenden Sie das Protokoll „webhdfs“, wenn sich die Datei auf einem Hadoop Distributed File Server befindet. Der HDFS-Dateiserver muss in der Management Console als Ressource definiert sein. Verwenden Sie das folgende Format:

webhdfs://Dateiserver/Pfad zur Datei

Beispiel:

webhdfs://MeinServer/Testdateien/MeineDatei.txt

Dabei ist „MeinServer“ eine in der Management Console definierte HDFS-Dateiserverressource.
Dateiname

Der vollständige Pfad zu der Datei, die Sie als Eingabe oder Ausgabe verwenden möchten.

Anmerkung: Sie müssen in Dateipfaden Schrägstriche (/) angeben, keine umgekehrten Schrägstriche.

Um mehrere Überschreibungen anzugeben, trennen Sie jede Überschreibung durch ein Komma.

Beispiel für das Überschreiben einer Datei

In diesem Beispiel wird ein Auftrag namens „TestJob“ ausgeführt. Anstatt die Ausgabe in die Datei zu schreiben, die im „Write to File“-Schritt angegeben ist, wird sie in die Datei outputoverride.txt geschrieben.

job execute --j TestJob --l "Write to File=file:/Users/me/outputoverride.txt"