Lorsque vous exécutez un job à l'aide de Job Executor ou de l'utilitaire Administration, vous pouvez remplacer la présentation de fichier (ou schéma) du fichier spécifié dans les stages Read from File et Write to File du flux.
Pour ce faire, dans Job Executor, indiquez les éléments suivants à la fin de la commande de la ligne de commande de Job Executor :
StageName:schema=Protocol:SchemaFile
Dans l’utilitaire Administration, utilisez l'argument --l dans la commande job execute :
–-l StageName:schema=Protocol:SchemaFile
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 :
- 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.
- SchemaFile
-
Chemin d'accès complet au fichier qui définit la disposition à utiliser.
Remarque : Vous devez utiliser des barres obliques avant dans les chemins d'accès aux fichiers. N'utilisez pas de barres obliques inverses.Pour créer un fichier de schéma, définissez la disposition que vous souhaitez dans Read from File ou Write to File, puis cliquez sur le bouton Exporter pour créer un fichier XML définissant la disposition.
Remarque : Vous ne pouvez pas remplacer le type de données d'un champ dans un fichier de schéma lorsque vous utilisez Job Executor. La valeur de l'élément <Type>, qui est un enfant de l'élément FieldSchema, doit correspondre au type de champ indiqué dans le stage Read from File ou Write to File du flux.
Exemple de remplacement de format 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. Au lieu d’utiliser le schéma de fichier spécifié dans le stage Write to File du flux, le job utilise le schéma spécifié dans output-data.xml.
job execute --j TestJob --l "Write to File=file:/Users/me/outputoverride.txt,Write to File:schema=file:/Users/me/output-data.xml"