Impostazione delle sottoroutine pre - job e post - job in DataStage
Ultimo aggiornamento: 10 lug 2025
Le sottoroutine before-job e after-job vengono utilizzate per eseguire le sottoroutine integrate.
Le sottoroutine pre - lavoro e post - lavoro includono l'esecuzione di uno script prima che il lavoro venga eseguito o la generazione di un report dopo che il lavoro è stato completato correttamente. Un codice di ritorno di 0 dalla sottoroutine indica che l'operazione è stata eseguita correttamente. Qualsiasi altro codice indica un errore e causa un errore non recuperabile quando il lavoro viene eseguito.
Per impostare una sottoroutine pre - lavoro o post - lavoro, completare la seguente procedura.
- Aprire un flusso DataStage® , quindi fare clic sull'icona Impostazioni
.
- Nella pagina Impostazioni , fare clic su Sottoroutine prima / dopo il lavoro.
- Specificare una sottoroutine pre - lavoro, una sottoroutine post - lavoro o entrambe. Quindi, fare clic su Salva.
Utilizzo del codice Python personalizzato nelle sottoroutine
È possibile installare package Python per eseguire script in sottoroutine pre - lavoro e post - lavoro.
- Aprire un flusso DataStage , passare a Impostazioni
e fare clic su Sottoroutine prima / dopo il job.
- In Sottoroutine integrata da eseguire, scegliere Esegui comando shell.
- Nella casella di testo Shell, inserite un comando per creare una directory per i moduli sotto /px-storage e un comando per installare i moduli desiderati. Questo comando di esempio installa i moduli nella directory pip_modules.
mkdir -p /px-storage/pip_modules && pip3 install <modulename1> <modulename2> --target /px-storage/pip_modules –user
- Salvare ed eseguire il flusso.
- Per consentire agli utenti non root di eseguire lo script, aggiungere il percorso file della directory del modulo all'inizio dello script Python . Seguendo l'esempio precedente:
import sys sys.path.append("/px-storage/pip_modules")
- Sostituire il comando nella casella di testo del comando Shell con un comando per richiamare lo script Python con il relativo percorso del file. Questo esempio richiama lo script
test_data.py
da /ds-storage/ing_py_env.python3 /ds-storage/ing_py_env/test_data.py
- Salvare ed eseguire il flusso.
Utilizzo di cpdctl nelle routine prima e dopo il lavoro
È possibile utilizzare la riga di comando (cpdctl) prima e dopo le routine di lavoro.
Il binario cpdctl si trova nella directory /px-storage/tools/cpdctl. Se si desidera aggiornare cpdctl alla versione più recente, è possibile scaricare la versione specifica da questa pagina: https://github.com/IBM/cpdctl/releases. Utilizzare il seguente comando per copiare la versione di cpdctl:
oc cp cpdctl ds-px-default-ibm-datastage-px-runtime-7d77747cfc-sjngt:/px-storage/tools/cpdctl/cpdctl
Per eseguire i comandi cpdctl, completare i seguenti passaggi.
- Aprire un flusso DataStage, andare su Impostazioni
e fare clic su Subroutine prima/dopo il lavoro.
- In Sottoroutine integrata da eseguire, scegliere Esegui comando shell.
- Nella casella di testo Shell command, inserire il comando cpdctl che si desidera eseguire, ad esempio
cpdctl project list
- Se si desidera eseguire il flusso dall'area di disegno, è possibile creare un parametro locale sull'area di disegno del lavoro.
- Nell'area di disegno, fare clic su Aggiungi parametri, quindi su Crea parametro.
- Nel campo Name, specificare il nome del parametro come $ENABLE_CPDCTL.
- Scegliere il tipo Stringa e inserire un valore 1 nel campo Valore predefinito.
- Se si desidera utilizzare la riga di comando cpdctl per eseguire il lavoro, utilizzare il comando seguente per configurare il lavoro con la variabile ENABLE_CPDCTL.
cpdctl dsjob run --project-name --job --env ENABLE_CPDCTL=1
- Salvare ed eseguire il lavoro con l'opzione di ambiente specificata ENABLE_CPDCTL=1.
L'argomento è stato utile?
0/1000