Remplacement des emplacement des fichiers Job

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 de données (tel que Read from File), ainsi que le fichier de sortie spécifié dans le stage récepteur du flux de données (tel que Write to File).

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=protocole:nom de fichier

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 de données dans 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 de données intégré, préfacez le nom de stage par le nom du sous-flux ou flux de données intégré, suivi d'un point, puis du nom de stage :

NomDeSous-FluxOuFluxDeDonnéesIntégré.NomDeStage

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 de données intégré se trouvant dans un autre flux de données intégré, ajoutez le flux de données 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. L'un des éléments 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 Unix ou 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 le format suivant :

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 : SpectrumLocation/server/app/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 Management Console comme une ressource. Utilisez le format suivant :

esfile://serveur de fichiers/chemin d'accès au fichier

Par exemple,

esfile://myserver/testfiles/myfile.txt

Où myserver est une ressource de serveur de fichiers FTP définie dans Management Console.
webhdfs
Utilisez le protocole webhdfs si le fichier se trouve sur un serveur de fichiers distribué Hadoop. Le serveur HDFS doit être défini dans Management Console comme une ressource. Utilisez le format suivant :

webhdfs://serveur de fichiers/chemin d'accès au fichier

Par exemple,

webhdfs://myserver/testfiles/myfile.txt

Où myserver est une ressource de serveur de fichiers HDFS définie dans Management Console.
FileName

Chemin complet vers le fichier à utiliser comme entrée ou sortie.

Remarque : Vous devez utiliser des barres obliques (/) pour les chemins d'accès, et non des barres obliques inversées.

Pour spécifier plusieurs substitutions, séparez chacune par une virgule.

Exemple de remplacement de fichier

La commande suivante de Job Executor utilise le fichier C:/myfile_input.txt comme fichier d'entrée pour le stage Read from File et le fichier C:/myfile_output.txt comme fichier de sortie pour le stage Write to File.

java -jar jobexecutor.jar -j Job1 -u Bob1234 -p "" "Read from File"="file:C:/myfile_input.txt" "Write to File"="file:C:/myfile_output.txt"