J'ai créé un travail qui pourrait être réutilisable pour de nouveaux fichiers. Toutes les activités du travail, les cartes et tout le reste resteront les mêmes, à l'exception du nom de fichier. Je l'ai déjà essayé une fois mais il semble que j'ai besoin de re "charger" le fichier et de tout remapper à nouveau. C'est inefficace. Existe-t-il un moyen pour moi de transmettre différents fichiers dans un travail sans remapper, reconfigurer et recharger quoi que ce soit?

0
random student 2 sept. 2020 à 06:53

2 réponses

Meilleure réponse

Vous disposez de plusieurs options pour autoriser un travail parallèle DataStage à utiliser un nom de fichier différent pour l'entrée à chaque exécution de travail:

  1. Lorsque vous utilisez l'étape de fichier séquentiel ou l'étape de connecteur de fichier, au lieu de taper le nom de fichier réel, vous pouvez saisir le nom d'un paramètre de tâche qui a été défini dans l'onglet Paramètres de la boîte de dialogue des propriétés de la tâche. Par exemple, si vous définissez le paramètre de chaîne myFile, dans le champ de nom de fichier de l'étape d'entrée, vous entrez # myFile # et au moment de l'exécution du travail, il sera remplacé par la valeur actuelle du paramètre myFile. Si vous exécutez le travail manuellement à partir des clients Director / Designer, vous aurez une boîte de dialogue d'exécution du travail dans laquelle vous pouvez spécifier une valeur pour les paramètres du travail. Si vous démarrez le travail via la commande dsjob, il existe des options pour transmettre les paramètres du travail sur la ligne de commande. Vous avez également la possibilité d'utiliser des fichiers de jeu de paramètres que vous pouvez modifier avant l'exécution du travail.

  2. Une autre option serait d'utiliser un emplacement et un modèle de fichier au lieu d'un nom de fichier spécifique. L'étape de fichier séquentiel et l'étape de connecteur de fichier vous permettent de spécifier un modèle, par exemple: /data/my_input_files/*.txt Ensuite, chaque fois que vous exécutez le travail, il entrera tous les fichiers à cet emplacement correspondant au modèle ci-dessus, afin de pouvoir traiter plusieurs fichiers. Cependant, pour éviter de retraiter les fichiers des exécutions précédentes du travail, vous souhaiterez nettoyer tous les fichiers à cet emplacement une fois le travail terminé. Ensuite, lorsque vous avez de nouveaux fichiers à traiter, placez-les simplement dans ce répertoire et réexécutez le travail.

1
Brian Meier 2 sept. 2020 à 15:08

Dans le cas où tous les fichiers contiennent une structure de données similaire, vous devez implémenter un travail parallèle et si vous avez un modèle similaire de nom de fichier pour tous les noms de fichiers tels que 1234ab.xls, 1234vd.xls, 1234gd.xls, ... vous pouvez passer le nom de fichier sous la forme 1234 ??. xls Dans le paramètre de nom de fichier du travail séquentiel (utilisez-le comme nom de fichier dans le travail parallèle) qui contient le travail parallèle ci-dessus à exécuter.

1
saikumar voruganti 3 sept. 2020 à 05:56