0 / 0

Impostazione delle sottoroutine pre - job e post - job in DataStage

Ultimo aggiornamento: 10 lug 2025
Impostazione delle sottoroutine pre e post - job in DataStage

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.
  1. Aprire un flusso DataStage® , quindi fare clic sull'icona Impostazioni Icona Impostazioni .
  2. Nella pagina Impostazioni , fare clic su Sottoroutine prima / dopo il lavoro.
  3. 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.
  1. Aprire un flusso DataStage , passare a Impostazioni Icona Impostazionie fare clic su Sottoroutine prima / dopo il job.
  2. In Sottoroutine integrata da eseguire, scegliere Esegui comando shell.
  3. 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
  4. Salvare ed eseguire il flusso.
  5. 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")
  6. 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
  7. 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.

  1. Aprire un flusso DataStage, andare su Impostazioni Icona Impostazioni e fare clic su Subroutine prima/dopo il lavoro.
  2. In Sottoroutine integrata da eseguire, scegliere Esegui comando shell.
  3. Nella casella di testo Shell command, inserire il comando cpdctl che si desidera eseguire, ad esempio
    cpdctl project list
  4. Se si desidera eseguire il flusso dall'area di disegno, è possibile creare un parametro locale sull'area di disegno del lavoro.
    1. Nell'area di disegno, fare clic su Aggiungi parametri, quindi su Crea parametro.
    2. Nel campo Name, specificare il nome del parametro come $ENABLE_CPDCTL.
    3. Scegliere il tipo Stringa e inserire un valore 1 nel campo Valore predefinito.
  5. 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
  6. Salvare ed eseguire il lavoro con l'opzione di ambiente specificata ENABLE_CPDCTL=1.