Remplacement du format de fichier dans la ligne de commande

Lorsque vous exécutez un job à l'aide de Job Executor ou de l'utilitaire Administration, vous pouvez remplacer la mise en forme de fichier (ou schéma) du fichier spécifié dans les stages Read from File et Write to File du flux de données.

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: schéma =protocole:SchemaFile

Dans l’utilitaire Administration, utilisez l'argument --l dans la commande job execute :

–-lStageName:schema=Protocol:SchemaFile

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.
SchemaFile

Chemin d'accès complet au fichier qui définit la disposition à utiliser.

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

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 dans l'élément <Type>, qui est un enfant de l'élément <FieldSchema>, doit correspondre au type du champ indiqué dans le stage Read from File ou Write to File du flux de données.

Exemple de remplacement de format de fichier

La commande suivante de Job Executor utilise le fichier C:/myschema.xml comme définition de disposition pour le fichier lu par le stage Read from File.

java -jar jobexecutor.jar -j Job1 -u Bob1234 -p "" "Read from File":schema="file:C:/myschema.xml"