Che cos'è il flusso d'aria di Apache?? Operatore Python in Apache Airflow

Contenuti

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.

copia-di-scintilla-9233890

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

  1. Che cos'è il flusso d'aria di Apache??
  2. Avvia il flusso d'aria
  3. Operatore Python in Apache Airflow
  4. 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.

screenshot-da-2020-11-13-19-54-11-1-4769331

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:

screenshot-da-2020-11-17-12-41-56-1-9588960

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:

  1. Importa le librerie

    Iniziamo importando le librerie di cui abbiamo bisogno. Useremo il PythonOperatore questa volta.

  2. 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?.

  3. Definizione della funzione Python

    Ora, Definiremo la funzione Python che stamperà una stringa utilizzando un argomento e questa funzione verrà quindi utilizzata da PythonOperator.

  4. 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

  5. Definizione del compito

    Abbiamo solo un compito per il nostro flusso di lavoro:

    1. 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à.

  6. Esegui il DAG

    Ora, cuando actualice su pannello 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.

    screenshot-dal-2020-11-23-11-47-09-6630914

    Clicca sul nodo “stampare” per maggiori dettagli su questo passaggio, quindi fai clic su Registri e vedrai il risultato in questo modo.

    screenshot-da-2020-11-23-11-47-45-6122900

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 dati 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 variabile 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.

screenshot-dal-2020-11-23-17-04-28-9723624

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.

screenshot-dal-2020-11-23-17-42-27-8035085

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.

screenshot-dal-2020-11-23-17-28-42-1151304

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.

Iscriviti alla nostra Newsletter

Non ti invieremo posta SPAM. Lo odiamo quanto te.