Creazione di un Workflow
Il processo di creazione di un nuovo Progetto Workflow inizia cliccando "+Create new" presente nella pagina di elenco Workflow del modulo Analysis.
Dati Anagrafici
Al click sul pulsante si apre una modale con un form dove inserire le informazioni necessarie alla definizione di un nuovo Workflow.
In particolare, devono essere inseriti:
- Nome del Workflow: identifica in modo univoco il progetto, deve essere diverso rispetto a quello degli altri Workflow già esistenti;
- Descrizione (facoltativa): per avere una panoramica discorsiva del progetto;
- Datalake: selezionabile dal menù a tendina;
- Business Island: selezionabile dal menù a tendina, definisce il pool di datasource selezionabili;
- Numero di versione: numerico, formato da un prefisso (da 0 a 999) e da un suffisso (da 0 a 999):
- Tag (facoltativo);
- Commento alla versione (facoltativo);
Una volta cliccato il pulsante "Start Creation", si apre la pagina di dettaglio del WF e si procede alla fase successiva.
Dettaglio Workflow
Questa è la pagina principale per l'interazione con un Workflow. In fase di creazione, tramite le varie sezioni, permette di impostare:
- Il virtual environment per l'esecuzione del codice (preimpostato con quello di default);
- Eventuali configurazioni di esecuzione;
- Una o più sorgenti dato (tabelle "source");
- Una o più tabelle di output (tabelle "sink");
- Il codice per l'esecuzione;
- Il valore di default per gli eventuali parametri specificati a codice ("edit default parameters");
Nota
Alcune sezioni, come il tab ABOUT o la possibilità di modificare il tag, in fase di creazione sono disabilitate. Saranno attive una volta che il Workflow è stato correttamente creato, in modalità "EDIT"
Tabelle Source
Nella sezione Data Sources, è possibile configurare le sorgenti dati del workflow. All'apertura del popup:
- Vengono elencate tutte le tabelle presenti nella Business Island associata al workflow.
- È possibile selezionare uno o più dataset tramite checkbox. Il pulsante Select sarà disabilitato finché non viene selezionato almeno un dataset.
- È presente un campo di ricerca per filtrare i dataset in base al nome.
- Dopo aver cliccato Select, il popup si chiude e nella sezione dedicata saranno mostrati i source selezionati.
Tabelle Sink
I Data Sink sono le tabelle Hive di output dove vengono salvati i dati elaborati. Cliccando su +Add appare un popup per la configurazione:
- Sink name: Campo per inserire il nome del sink.
- Hive connection: Dropdown con l'elenco delle connessioni Hive disponibili, ordinate alfabeticamente.
- Business Island: Dropdown con l'elenco delle Business Island, ordinate alfabeticamente.
- Output type: Formato dei dati elaborati. Opzioni: Parquet (default), Orc e Textfile.
- Write mode: Modalità di scrittura. Opzioni:
- Overwrite: Sovrascrive i dati esistenti.
- Append: Aggiunge i nuovi dati a quelli già esistenti.
Nota
Gli elementi visibili in ogni elenco o menù a tendina fanno sempre riferimento al tipo di utenza e alle Business Island a cui è associata
Salvataggio e Validazione
Dopo aver completato la configurazione del workflow, l'utente può procedere al salvataggio cliccando sul pulsante Save, che diventa attivo solo se è stata inserita almeno una riga di codice. Durante il salvataggio, il sistema esegue una validazione formale del codice per verificare l'assenza di errori. In caso di esito positivo, una notifica conferma il successo dell'operazione e il workflow viene salvato correttamente. A questo punto, l'utente può tornare alla homepage della sezione, dove troverà il nuovo workflow visibile nell'elenco.
Funzionalità Avanzate
L'utente ha accesso a una serie di funzionalità per personalizzare ulteriormente l'esecuzione e la configurazione del workflow. Queste opzioni comprendono il cambio del virtual environment, l'aggiunta di configurazioni Spark e la gestione dei parametri del codice. Di seguito, una descrizione dettagliata di ogni funzionalità:
Cambio del Virtual Environment
Il Virtual Environment (VENV in breve) è l'ambiente isolato in cui sono installati i pacchetti Python specifici per l'esecuzione del codice del workflow. Di default, il sistema seleziona l’ambiente predefinito, ma l'utente può cambiare l’ambiente in base alle necessità del workflow.
Come cambiare il Virtual Environment
- Selezionare il VENV desiderato tra quelli disponibili nella lista.
- Il nuovo ambiente permette l'utilizzo di pacchetti Python specifici, garantendo flessibilità e indipendenza da altri progetti.
Configurazioni Spark
La sezione Configurations consente di ottimizzare la gestione delle risorse per il workflow in esecuzione su Spark. Questo è particolarmente utile per impostare i parametri di memoria e altri aspetti fondamentali per migliorare le prestazioni dell'applicazione.
Opzioni di configurazione disponibili
Presets
Un menu a tendina ("Choose a preset") che consente di selezionare una configurazione predefinita per la gestione della memoria nel cluster. La selezione di un preset rende visibili le opzioni avanzate, come i Parametri Specifici e il Tipo di Contesto.
Parametri Specifici:
spark.driver.memory
: Specifica la quantità di memoria allocata per il processo driver, che coordina l’esecuzione del programma.spark.executor.memory
: Definisce la memoria disponibile per ogni esecutore, i processi responsabili dell'esecuzione distribuita dei task.
Tipo di Contesto:
- SPARKCONTEXT: Indica che i parametri sono applicati al contesto Spark, necessario per gestire il cluster e le operazioni distribuite.
- SQLCONTEXT: Indica che i parametri sono applicati al modo in cui le operazioni SQL su dati strutturati in Spark vengono effettuate.
Custom
Tramite il pulsante +Add è possibile inserire dei parametri di esecuzione sul cluster ulteriori rispetto a quelli proposti nei preset. Fare riferimento alla documentazione dei parametri di esecuzione di spark sul cluster per ulteriori informazioni.
Aggiunta e Gestione dei Parametri del Codice
I Parametri permettono di rendere il workflow flessibile e personalizzabile, consentendo all'utente di definire valori dinamici che possono essere modificati al momento dell'esecuzione. Questi parametri sono dichiarati direttamente nel codice e possono essere configurati per adattarsi a diversi scenari.
Processo di gestione dei parametri
- Definizione dei parametri: I parametri vengono inseriti nell'editor di codice utilizzando una sintassi specifica. Ad esempio, si può dichiarare un parametro come
${0}
, che rappresenta una variabile configurabile. - Richiesta di impostazione dei parametri: Dopo aver salvato il workflow, il sistema rileva automaticamente i parametri definiti e visualizza un popup che invita l'utente a specificare un valore per ciascun parametro.
- Assegnazione dei valori: L’utente può inserire un valore personalizzato per ogni parametro nel popup. Questo valore verrà utilizzato in ogni esecuzione del workflow, a meno che non venga modificato in un secondo momento.
- Salvataggio e utilizzo: Una volta confermati i valori, i parametri vengono salvati e sono pronti per essere utilizzati durante l'esecuzione del workflow.
Modifica di un Workflow
Tramite il pulsante Edit, solamente per la versione in stato Draft di un Workflow, è possibile modificare le configurazioni e il codice di esecuzione di tale versione. Una volta completate le modifiche desiderate, cliccando il pulsate Save la versione viene salvata e viene automaticamente avviato il processo di validazione formale.