'bstage' in
Stages in Datendateien für Jobs mit Datenanforderungen. bstage kopiert oder verknüpft symbolisch Dateien aus dem Bereitstellungsbereich des Datenmanagers in den Host für die Jobausführung.
Übersicht
bstage in -all [-dst Pfad] [-link]Beschreibung
Kopieren Sie Symbollinkdateien aus dem Zwischenspeichercache des Datenmanagers in den Host für die Jobausführung. Sie müssen eine der folgenden Optionen angeben: -all, -srcoder -tag tag_name.
Wenn der übergeordnete Job ein Array-Element ist, prüft der Befehl bstage , ob ein Unterverzeichnis im Jobzwischenspeicherbereich vorhanden ist, das dem Array-Index des übergeordneten Jobs entspricht.
Standardmäßig werden die erforderlichen Dateien im Cache des lokalen Staging-Bereichs zwischengespeichert, sobald der Job übergeben wird. Der Befehl bstage in innerhalb des Jobs sucht die Position der Datei im Cache. bstage in kopiert (cp oder scp) oder verknüpft (ln) die Datei von der Cacheposition in das aktuelle Arbeitsverzeichnis des Jobs.
Optionen
- -alle
Kopieren Sie alle Dateien, die mit der Jobübergabe angefordert werden, in das aktuelle Arbeitsverzeichnis des Jobs. Der Befehl sucht die Position jeder angeforderten Stage in der Datei im Cache. Alle Dateien werden in einer flachen Verzeichnisstruktur in den Ordner kopiert. Eingabedateien mit demselben Namen überschreiben einander.
Im Wesentlichen ist diese Option eine Verknüpfung für den folgenden Befehl:bstage in -src "host_name:/abs_file_path/file_name" -dst path/file_nameUm vollständige Ordner zu kopieren und die Verzeichnisstruktur beizubehalten, verwenden Sie die Option -src mit einem Verzeichnisplatzhalter (entweder / oder /*).
Wenn Sie den Stern (*) am Ende des Pfads verwenden, muss die Datenanforderungszeichenfolge in Anführungszeichen gesetzt werden.
- -dst Pfad
Der Zielordner für die zwischengespeicherten Dateien
Das Ziel der Kopie kann ein relativer Pfad zum aktuellen Arbeitsverzeichnis des Jobs oder ein absoluter Pfad sein. Wenn Verzeichnisse im Pfad nicht vorhanden sind, versucht bstage in , sie zu erstellen. Wenn Sie -dstnicht angeben, ist der Standardwert das aktuelle Arbeitsverzeichnis für die Jobausführung.
Wenn der Pfad nicht vorhanden ist und -src eine einzelne Datei angibt, wird der Pfad als Zieldatei interpretiert, in die kopiert werden soll.
Wenn der Pfad vorhanden ist und -src eine einzelne Datei ist, wird die Datei entweder kopiert oder ersetzt:- Wenn der Pfad eine Datei ist, wird die Datei durch die neue Datei ersetzt.
- Wenn der Pfad ein Verzeichnis ist, wird die Datei unter ihrem ursprünglichen Namen in das Verzeichnis kopiert.
Wenn Sie -tag oder -allangeben oder -src mit einem Platzhalter für ein Verzeichnis angeben, wird das Ziel als Ordnername relativ zum aktuellen Arbeitsverzeichnis des Jobs interpretiert. Wenn dieses Verzeichnis nicht vorhanden ist, versucht LSF, es zu erstellen.
- -src "[Hostname:]/abs_dateipfad/dateiname"
- Kopieren Sie nur die Datei, die mit der Option host_name:abs_file_path in der Jobübergabe angefordert wird, in Ihr aktuelles Arbeitsverzeichnis. Die Angabe des Host-und Dateipfads muss der Anforderung entsprechen, die bei der Übergabe des Jobs angegeben wurde. Verwenden Sie den Befehl bjobs -data , um die genaue Host-und Dateipfadspezifikation anzuzeigen:
bjobs -data 1962 JOBID USER STAT QUEUE FROM_HOST EXEC_HOST JOB_NAME SUBMIT_TIME 1962 user1 PEND normal hostA *p 1000000 Sep 20 16:31 FILE SIZE MODIFIED datahost:/proj/user1/input1.dat 500 M Jun 27 16:37:52 datahost:/proj/user1/input2.dat 100 M Jun 27 16:37:52 datahost:/proj/user1/input3.dat - -Sie können den Hostnamen weglassen, um Dateien anzufordern, auf die lokal auf dem Übergabehost zugegriffen werden kann.
- -src "[Hostname:]/Pfad_des_Ordners/[*]"
Kopieren Sie den Inhalt des Ordners, der mit der Option host_name:/abs_folder_path/ in der Jobübergabe angefordert wird, in Ihr aktuelles Arbeitsverzeichnis. Die Angabe des Host-und Dateipfads muss der Anforderung entsprechen, die bei der Übergabe des Jobs angegeben wurde.
Sie können den Hostnamen weglassen, um Dateien anzufordern, auf die lokal auf dem Übergabehost zugegriffen werden kann.
Wenn Sie einen Ordnernamen ohne Dateinamen angeben, muss der absolute Pfad in einem Verzeichnis (/*) oder einem rekursiven Verzeichnis (/) als Platzhalterzeichen enden. In diesem Fall wird die Option -dst als Ordner interpretiert und alle Dateien werden in die entsprechenden Unterverzeichnisse heruntergeladen, wobei die zugrunde liegende Struktur repliziert wird.
Wenn Sie den Stern (*) am Ende des Pfads verwenden, muss die Datenanforderungszeichenfolge in Anführungszeichen gesetzt werden.
Der folgende Job hat beispielsweise eine Datenanforderung, die ein rekursives Verzeichnis anfordert:
bsub -data “hostA:/tmp/” ...LSF stellt das gesamte Verzeichnis /tmp und alle Unterverzeichnisse unterhostA. Ihr Job kann dann dieses Verzeichnis mit dem Befehl bstage in aufrufen:
bstage in -src "hostA:/tmp/" -dst directoryLSF repliziert die gesamte Unterverzeichnisstruktur unter Verzeichnis im aktuellen Arbeitsverzeichnis der Jobausführung.
- -Link
- Erstellen Sie symbolische Links zu den angeforderten Quellendateien von der Cacheposition des Staging-Bereichs, anstatt sie zu kopieren. Verwenden Sie die Option -link , um unnötige Dateikopien zwischen dem Ausführungshost und dem Staging-Bereich zu vermeiden. Der Staging-Bereich muss direkt an den Host für die Jobausführung angehängt werden, um den Link zu erstellen.
- -tag Tagname
Kopieren Sie alle Dateien im lokalen Cache, die dem angegebenen Tagnamen zugeordnet sind, in den Ordner, der durch die Zieloption (-dst) angegeben ist. Wenn die Option -dst angegeben wird, wird das Ziel als Ordner interpretiert, und die gesamte Verzeichnisstruktur unter diesem Tagordner wird im Ziel repliziert.
Verwenden Sie die Option -tag , wenn ein Job eine temporäre Datendatei verwendet, die von einem früheren Job erstellt wurde. Sie müssen Leseberechtigung für das Tagverzeichnis haben.
Gültige Tagnamen dürfen nur alphanumerische Zeichen ([A-z|a-z|0-9]) sowie einen Punkt (.), ein Unterstreichungszeichen (_) und einen Gedankenstrich (-) enthalten. Der Tagname darf keine besonderen Betriebssystemnamen für das übergeordnete Verzeichnis (../), das aktuelle Verzeichnis (./) oder das Benutzerausgangsverzeichnis (~/) enthalten. Tagnamen dürfen keine Leerzeichen enthalten. Tagnamen dürfen nicht mit einem Gedankenstrich (-) beginnen.
Mit dem Befehl bdata tags clean können Sie Tags entfernen.
Wichtig: Sie sind für den Namespace Ihrer Tags verantwortlich. LSF überprüft nicht, ob ein Tag gültig ist. Verwenden Sie Zeichenfolgen wie Job-ID, Array-Index und Clustername als Teil Ihrer Tagnamen, um sicherzustellen, dass Ihr Tag eindeutig ist.- --u benutzer_name
Standardmäßig kann Ihr Job Dateien bereitstellen, die nur Ihren eigenen Tags zugeordnet sind. Verwenden Sie die Option -u , um Dateien bereitzustellen, die Tags zugeordnet sind, die zu einem anderen Benutzernamen gehören. Der Parameter CACHE_ACCESS_CONTROL = Y muss in der Datei lsf.datamanager konfiguriert werden, damit die Option -u verwendet werden kann.
Sie müssen sicherstellen, dass der Tag vorhanden ist und dass Sie über die entsprechende Berechtigung zur Verwendung der Dateien verfügen, die diesem Tag zugeordnet sind, bevor Sie Ihren Job übergeben.