Lorsque vous exécutez un job dans la ligne de commande à l'aide de Job Executor ou de l'utilitaire Administration, vous pouvez remplacer le fichier d'entrée indiqué dans le stage source du flux (tel que Read from File), ainsi que le fichier de sortie spécifié dans le stage récepteur du flux (tel que Write to File).
Pour ce faire, dans Job Executor, spécifiez cette commande à la fin de la commande Job Executor :
StageName=Protocol:FileName
Dans l’utilitaire Administration, utilisez l'argument --l dans la commande job execute :
--l StageName=Protocol:FileName
Où :
- StageName
-
L'intitulé du stage affiché sous l'icône du stage dans le flux dans Spectrum Enterprise Designer. Par exemple, si le stage est intitulé « Read from File », vous devez indiquer
Read from File
comme nom de stage.Pour indiquer un stage au sein d'un sous-flux ou flux intégré, préfacez le nom de stage du nom du sous-flux ou flux intégré, suivi d'un point, puis du nom de stage :
EmbeddedOrSubflowName.StageName
Par exemple, pour indiquer un stage nommé Write to File dans un sous-flux nommé Subflow1, vous devez procéder comme suit :
Subflow1.Write to File
Pour indiquer un stage dans un flux intégré se trouvant dans un autre flux intégré, ajoutez le flux parent, en séparant chacun par un point. Par exemple, si Embedded Dataflow 2 se trouve à l'intérieur d'Embedded Dataflow 1 et que vous souhaitez indiquer le stage Write to File dans Embedded Dataflow 2, vous devez procéder comme suit :
Embedded Dataflow 1.Embedded Dataflow 2.Write to File
- Protocol
-
Protocole de communication pouvant être l'un des types suivants :
- file
- Utilisez le protocole file si le fichier figure sur le même ordinateur que le serveur Spectrum Technology Platform. Par exemple, sur Windows, spécifiez :
"file:/C:/myfile.txt"
Sur Linux, spécifiez :"file:/testfiles/myfile.txt"
- esclient
- Utilisez le protocole esclient si le fichier se trouve sur l’ordinateur sur lequel vous exécutez le job s’il s’agit d’un autre ordinateur que celui qui exécute le serveur Spectrum Technology Platform. Utilisez ce format :
esclient:ComputerName/path to file
Par exemple,esclient:mycomputer/testfiles/myfile.txt
Remarque : Si vous exécutez le job sur le serveur lui-même, vous pouvez utiliser le protocole file ou esclient, mais vous obtiendrez probablement de meilleures performances si vous utilisez le protocole file.Si le nom d'hôte du serveur Spectrum Technology Platform ne peut pas être résolu, il se peut que vous receviez un message d'erreur « Une erreur s'est produite lors de l'accès au fichier ». Pour résoudre ce problème, ouvrez ce fichier sur le serveur : SpectrumDirectory/server/conf/spectrum-container.properties. Définissez la propriété spectrum.runtime.hostname sur l'adresse IP du serveur. - esfile
- Utilisez le protocole esfile si le fichier se trouve sur un serveur de fichiers. Le serveur de fichiers doit être défini dans Spectrum Management Console comme une ressource. Utilisez ce format :
esfile://file server/path to file
Par exemple,esfile://myserver/testfiles/myfile.txt
Où myserver est une ressource de serveur de fichiers FTP définie dans Spectrum Management Console.
- FileName
-
Chemin complet vers le fichier à utiliser comme entrée ou sortie.
Remarque : Vous devez utiliser des barres obliques avant dans les chemins d'accès aux fichiers. N'utilisez pas de barres obliques inverses.
Pour spécifier plusieurs substitutions, séparez chacune par une virgule.
Exemple de remplacement de fichier
Cet exemple exécute un job nommé TestJob. Au lieu d’écrire la sortie dans le fichier indiqué dans le stage Write to File, la sortie est écrite dans outputoverride.txt.
job execute --j TestJob --l "Write to File=file:/Users/me/outputoverride.txt"
Exemple : remplacer les formats de fichier en lecture et en écriture
Pour spécifier à la fois les fichiers Read from
et Write to
, séparez les deux emplacements par une virgule.
job execute --j J1 --v true --w true --l "Read from File=file://C:/tmp/input3.csv,Write to File=file://C:/tmp/my_new_output.csv"