Panoramica
- Comprendiamo l'operatore Python in Apache Airflow con un esempio
- Discuteremo anche il concetto di Variabili in Apache Airflow
introduzione
Apache Airflow è uno strumento indispensabile per i data engineer. Semplifica la creazione e il monitoraggio di tutti i tuoi flussi di lavoro. Quando hai più flussi di lavoro, ci sono più possibilità che tu stia utilizzando gli stessi database e gli stessi percorsi di file per più flussi di lavoro. L'uso delle variabili è uno dei modi più efficienti per definire tali informazioni condivise tra diversi flussi di lavoro..
Tratteremo il concetto di variabili in questo articolo e un esempio di un operatore Python in Apache Airflow.
Questo articolo è una continuazione di Data Engineering 101: Introduzione ad Apache Airflow, dove copriamo le caratteristiche e i componenti dei database del flusso d'aria, i passaggi di installazione e creare un DAG di base. Quindi, se sei un principiante assoluto in Apache Airflow, Ti consiglierei di leggere prima quell'articolo.
Sommario
- Che cos'è il flusso d'aria di Apache??
- Avvia il flusso d'aria
- Operatore Python in Apache Airflow
- Quali sono le variabili in Apache Airflow?
Che cos'è il flusso d'aria di Apache??
Flusso d'aria Apache è un motore di flusso di lavoro che pianificherà ed eseguirà facilmente le tue complesse pipeline di dati. Garantirà che ogni attività nella tua pipeline di dati venga eseguita nell'ordine corretto e che ogni attività ottenga le risorse necessarie.
Ti fornirà un'interfaccia utente straordinaria per monitorare e risolvere eventuali problemi che potrebbero sorgere.
Avvia il flusso d'aria
Abbiamo già discusso i passaggi di installazione nel precedente articolo di questa serie..
Per avviare il server del flusso d'aria, apri il terminale ed esegui il seguente comando. La porta predefinita è 8080 e se stai usando quella porta per qualcos'altro, può cambiarlo.
server web flusso d'aria -p 8080
Ora, avviare l'utilità di pianificazione del flusso d'aria utilizzando il seguente comando in un terminale diverso. Monitorerà tutti i tuoi flussi di lavoro e li attiverà come assegnati.
programmatore del flusso d'aria
Ora, assicurati di avere un nome per la cartella dags nella directory del flusso d'aria in cui definirai il tuo DAGS e apri il browser web e vai su apri: http: // localhost: 8080 / amministratore / e vedrai qualcosa del genere:
Operatore Python in Apache Airflow
Un operatore descrive una singola attività nel flusso di lavoro e gli operatori ci forniscono, diversi operatori, per molti compiti diversi, ad esempio operatore bash, PythonOperatore, Operatore di posta elettronica, MySqlOperator, eccetera. Nell'ultimo articolo, abbiamo imparato a usare il operatore bash per ottenere risultati di cricket dal vivo e su questo, vedremo come usare il PythonOperatore.
Diamo un'occhiata al seguente esempio:
Importa le librerie
Iniziamo importando le librerie di cui abbiamo bisogno. Useremo il PythonOperatore questa volta.
Definizione di argomenti DAG
Per ciascuno dei DAG, dobbiamo passare un dizionario di argomenti. Ecco la descrizione di alcuni degli argomenti che puoi passare:
- proprietario: Il nome del proprietario del flusso di lavoro deve essere alfanumerico e può contenere caratteri di sottolineatura, ma non deve contenere spazi.
- depend_on_past: Se ogni volta che esegui il tuo flusso di lavoro, i dati dipendono dalla corsa precedente, segnalo come vero; altrimenti, contrassegnalo come falso.
- data d'inizio: Data di inizio del tuo flusso di lavoro
- E-mail: Il tuo ID e-mail, in modo da poter ricevere un'e-mail ogni volta che un'attività fallisce per qualsiasi motivo.
- retry_delay: Se qualche attività fallisce, quindi quanto tempo dovresti aspettare per riprovare?.
Definizione della funzione Python
Ora, Definiremo la funzione Python che stamperà una stringa utilizzando un argomento e questa funzione verrà quindi utilizzata da PythonOperator.
Definizione di DAG
Ora, creeremo un oggetto DAG e passeremo il dag_id che è il nome del DAG e assicurati di non aver creato alcun DAG con questo nome prima. Passa gli argomenti che abbiamo definito sopra e aggiungi una descrizione e Intervallo di tempo che eseguirà il DAG dopo l'intervallo di tempo specificato
Definizione del compito
Abbiamo solo un compito per il nostro flusso di lavoro:
- Stampa: Nei compiti, stamperemo "Apache Airflow è un must per gli ingegneri dei dati" nel terminale usando la funzione Python.
Passeremo il task_id al PythonOperatore oggetto. Vedrai questo nome nei nodi della vista grafico del tuo DAG. Passa il nome della funzione Python all'argomento “Python_richiamabile” vuoi eseguire e gli argomenti che usi per il parametro “op_kwargs” come dizionario e, Finalmente, l'oggetto DAG a cui si desidera collegare questa attività.
Esegui il DAG
Ora, cuando actualice su pannelloUn panel è un gruppo di esperti che si riunisce per discutere e analizzare un argomento specifico. Questi forum sono comuni alle conferenze, seminari e dibattiti pubblici, dove i partecipanti condividono le loro conoscenze e prospettive. I pannelli possono riguardare una varietà di aree, Dalla scienza alla politica, e il suo obiettivo è quello di favorire lo scambio di idee e la riflessione critica tra i partecipanti.... de Airflow, vedrai il tuo nuovo DAG elencato.
Fai clic sul DAG e apri la visualizzazione del grafico e vedrai qualcosa del genere. Ciascuno dei passaggi del flusso di lavoro sarà in una casella separata. In questo flusso di lavoro, Abbiamo solo un passo che è quello di stampare. Esegui il flusso di lavoro e attendi che il bordo diventi verde scuro, indicando che è stato completato con successo.
Clicca sul nodoNodo è una piattaforma digitale che facilita la connessione tra professionisti e aziende alla ricerca di talenti. Attraverso un sistema intuitivo, Consente agli utenti di creare profili, condividere esperienze e accedere a opportunità di lavoro. La sua attenzione alla collaborazione e al networking rende Nodo uno strumento prezioso per chi vuole ampliare la propria rete professionale e trovare progetti in linea con le proprie competenze e obiettivi.... “stampare” per maggiori dettagli su questo passaggio, quindi fai clic su Registri e vedrai il risultato in questo modo.
Quali sono le variabili in Apache Airflow?
Sappiamo che Airflow può essere utilizzato per creare e gestire flussi di lavoro complessi. Possiamo eseguire più flussi di lavoro contemporaneamente. Existe la posibilidad de que la mayoría de sus flujos de trabajo estén usando la misma Banca datiUn database è un insieme organizzato di informazioni che consente di archiviare, Gestisci e recupera i dati in modo efficiente. Utilizzato in varie applicazioni, Dai sistemi aziendali alle piattaforme online, I database possono essere relazionali o non relazionali. Una progettazione corretta è fondamentale per ottimizzare le prestazioni e garantire l'integrità delle informazioni, facilitando così il processo decisionale informato in diversi contesti.... o la misma ruta de archivo. Ora, se si apportano modifiche come cambiare il percorso della directory in cui utilizzare i file di salvataggio o modificare la configurazione dei database. Quindi, non vuoi aggiornare ciascuno dei DAGS separatamente.
Il flusso d'aria fornisce una soluzione per questo, è possibile creare variabili in cui è possibile archiviare e recuperare dati in fase di esecuzione in più DAGS. Quindi, se si verificano cambiamenti importanti, puede editar su variabileIn statistica e matematica, un "variabile" è un simbolo che rappresenta un valore che può cambiare o variare. Esistono diversi tipi di variabili, e qualitativo, che descrivono caratteristiche non numeriche, e quantitativo, che rappresentano quantità numeriche. Le variabili sono fondamentali negli esperimenti e negli studi, poiché consentono l'analisi delle relazioni e dei modelli tra elementi diversi, facilitare la comprensione di fenomeni complessi.... y sus flujos de trabajo están listos para comenzar.
Come creare variabili?
Apri il pannello del flusso d'aria e fai clic su Amministrazione nel menu in alto e quindi fare clic su Variabili.
Ora, clicca su Creare per creare una nuova variabile e si aprirà una finestra come questa. Aggiungi chiave e valore e invia. Qui, Sto creando una variabile con il nome della chiave come Percorso dati e valore come percorso di qualsiasi file di testo casuale.
Ora, creeremo un DAG dove troveremo il conteggio delle parole dei dati di testo presenti in questo file. Quando vuoi usare le variabili, devi importarli. Vediamo come farlo:
Dopo, definiremo la funzione che utilizzerà il percorso variabile, leggilo e calcola il conteggio delle parole.
Il resto dei passaggi è lo stesso che abbiamo fatto in precedenza, è necessario definire il DAG e le attività e il flusso di lavoro è pronto per l'esecuzione.
Puoi vedere i risultati nel registro e ora se puoi usare questa variabile in qualsiasi altro DAG e puoi anche modificarla quando vuoi e tutti i tuoi DAGS sono aggiornati.
Note finali
In questo articolo, abbiamo capito come usare l'operatore Python in Apache Airflow, concetti come ramificazione e variabili, e come crearli. Nel prossimo articolo, creeremo un progetto di apprendimento automatico e automatizzeremo il tuo flusso di lavoro utilizzando Apache Airflow.
Ti consiglio di consultare le seguenti risorse di ingegneria dei dati per migliorare le tue conoscenze:
Se hai domande relative a questo articolo, fammi sapere nella sezione commenti qui sotto.