Den ultimative guide til Apache Airflow

Hvad er Apache Airflow?

Apache Airflow er et værktøj til visuelt at skabe, organisere og overvåge workflows og starte opgavekæder (pipelines) til at behandle, lagre og visualisere data. Apache Software Foundation ejer platformen, som stadig er i inkubatorfasen med 1000 bidragydere på GitHub og 13.000 stjerner.

Introduktion til Apache Airflow

Apache Airflow er en robust, open-source, Python-skrevet tjeneste, der bruges af Data Engineers til at orkestrere workflows og pipelines ved at fremhæve pipelines' afhængigheder, kode, logfiler, triggeropgaver, fremskridt og successtatus for at fejlfinde problemer, når det er nødvendigt. </span

Hvis opgaven fuldføres eller mislykkes, kan denne fleksible, skalerbare og kompatible løsning med eksterne data sende advarsler og beskeder via Slack eller e-mail. Apache lægger ikke begrænsninger på, hvordan workflowet skal se ud, og har en brugervenlig grænseflade til at spore og genoptage jobs.

Hvordan fungerer Apache Airflow?

Pipelines beskrives ved hjælp af kerneelementer i Apache:

DAG

Hjørnestenen i teknologien beskrives af directed acyclic graphs (DAGs). Denne model er en graf, der ikke har cyklusser, men som har parallelle stier, der kommer fra samme batch. Med enkle ord er DAG en enhed, der kombinerer opgaver afhængigt af datapipelinen, hvor afhængigheden mellem applikationer er tydeligt manifesteret.
Direkte acyklisk graf (DAG)
Direkte acyklisk graf (DAG)
Opgave E er det sidste job i DAG, som afhænger af, at de foregående opgaver til venstre udføres med succes.

Operatør

En operator er et separat element i opgavekæden (pipeline). Ved hjælp af disse elementer beskriver udviklerne, hvilken opgave der skal udføres. Apache Airflow har en liste over foruddefinerede operatorer, der inkluderer:
  • PythonOperator udfører Python-kode
  • BashOperator udfører bash-scripts/kommandoer
  • PostgresOperator kalder SQL-forespørgsler i PostgreSQL
  • RedshiftToS3Transfer kører UNLOAD-kommandoer fra Redshift til S3
  • EmailOperator sender e-mails
Opgaver og operatører bruges nogle gange i flæng, men vi antager, at der er tale om forskellige begreber, hvor operatører fungerer som mønstre for generering af opgaver.

Sensor

Sensoren er en variant af en operatør, der implementeres i hændelsesdrevne pipelines. Eksempler på dette:
  • PythonSensor venter på, at funktionen returnerer True
  • S3Sensor tjekker tilgængeligheden af objektet ved hjælp af nøglen i S3-bucketen

Krog

Hooks er tredjepartstjenester, der interagerer med eksterne platforme (databaser og API-ressourcer). Hooks bør ikke have sårbare oplysninger for at forhindre datalækage.

Planlægger

Den overvåger alle DAG'erne, håndterer workflows og sender jobs til Executor.

Webserver

Webserveren spiller rollen som Apache Airflow-brugergrænseflade. Den hjælper med at spore opgavernes status og fremskridt og logger data fra eksterne depoter.

Database

Alle relevante oplysninger er gemt der (opgaver, planlægningsperioder, statistik fra hvert sprint osv.).

Eksekutor

Executor kører opgaver og sender dem videre til workers.

Lad os til sidst demonstrere, hvordan Apache fungerer i et simpelt eksempel. For det første reviderer Apache alle DAG'erne i baggrunden. Hastende opgaver, der skal udføres, får markeringen SCHEDULED i databasen. Scheduler henter opgaver fra databasen og distribuerer dem til Executors. Derefter får opgaverne QUEUED-status, og når medarbejderne begynder at udføre dem, tildeles jobbet RUNNING-status. Når opgaven er færdig, angiver medarbejderen den som færdig/fejlslagen afhængigt af det endelige resultat, og Scheduler opdaterer status i databasen.

Apache Airflow-arkitektur
Apache Airflow-arkitektur

Apache Airflow-funktioner

Nedenfor viser vi de mest spændende funktioner i Apache Airflow.

Let at betjene

Grundlæggende viden om Python er det eneste krav for at bygge løsninger på platformen.

Åben kilde

Tjenesten er gratis og har mange aktive brugere over hele verden.

Nem integration

Man kan problemfrit arbejde med komplementære produkter fra Microsoft Azure, Google Cloud Platform, Amazon AWS osv.

Venlig brugergrænseflade

Du kan følge status for planlagte og igangværende opgaver i realtid.

Principper for Apache Airflow

Lær om de grundlæggende Apache Airflow-principper nedenfor.

Dynamisk

Luftstrømsrørledninger er konfigureret som Python-kode for at gøre genereringen af pipelines dynamisk.

Kan udvides

Brugere kan oprette definerede operatører, eksekutorer og biblioteker, der passer til deres specifikke forretningsmiljø.

Skalerbar

Tjenesten går ikke ned, da den har en modulær arkitektur og kan skaleres til det uendelige.

Hvad er fordelene ved Apache Airflow?

De omfatter automatisering, fællesskab, visualisering af forretningsprocesser samt korrekt overvågning og kontrol. Vi vil kort gennemgå dem alle.

Fællesskabet

Der er mere end 1000 bidragydere til open source-tjenesten. De deltager regelmæssigt i opgraderingen af den.

Visualisering af forretningsprocesser

Apache er et perfekt værktøj til at skabe et "større billede" af ens workflow management-system.

Automatisering

Automatisering gør Data Engine's arbejde mere smidigt og forbedrer den samlede ydelse.

Overvågning og kontrol

Det indbyggede advarsels- og notifikationssystem gør det muligt at fastsætte ansvarsområder og gennemføre korrektioner.

Apache Airflow

Apache Airflow brugsscenarier

Den praktiske effektivitet af tjenesten kan vises i følgende use cases:
  • Batch-jobs;
  • Planlægning og orkestrering af data pipelines workflows med Airflow for et bestemt tidsinterval;
  • ETL/ELT-pipelines, der arbejder med batch-data;
  • Pipelines, der modtager data fra eksterne kilder eller udfører datatransformation;
  • Apache Airflow til træning af maskinlæringsmodeller og udløsning af job i SageMaker;
  • Generering af rapporter;
  • Sikkerhedskopier fra DevOps-jobs og lagring af resultaterne i en Hadoop-klynge efter udførelse af et Spark-job.

Apache Airflow som en tjeneste

Masser af datatekniske platforme, der understøttes af Airflow, bruger den grundlæggende logik og fordelene ved tjenesten og tilføjer nye funktioner til at løse specifikke udfordringer. De kan kaldes Apache Airflow-alternativer, da de har stort set samme funktionalitet:

  • Astro - en dataorkestreringsplatform til at oprette, køre og observere pipelines.
  • Google Cloud Composer - en dataorkestreringsplatform til at bygge, planlægge og kontrollere pipelines.
  • Qubole - en åben data lake-platform til maskinlæring, streaming og ad hoc-analyser.

Amazon Managed Workflows for Apache Airflow - en administreret Airflow workflow-orkestreringstjeneste til opsætning og drift af datapipelines på Amazon Web Services (AWS).

Konklusion

Apache er et kraftfuldt værktøj til datateknik, der er kompatibelt med tredjepartstjenester og -platforme. Migrering til Airflow er glat og problemfri uanset virksomhedens størrelse og specifikationer.

Innowise leverer dybtgående Apache-ekspertise uanset kompleksitet og omfang. Apache Airflow er et perfekt valg til at skabe orden, hvis en kunde lider af dårlig kommunikation mellem afdelinger og søger efter mere gennemsigtighed i arbejdsgange.

Vores dygtige udviklere vil implementere et meget tilpasset modulært system, der forbedrer driften med big data og gør Airflow-processer fuldt ud styret og der kan tilpasses til dit forretningsmiljøs særlige forhold.

Tak for din bedømmelse!
Tak for din kommentar!

Indholdsfortegnelse

Bedøm denne artikel:

4/5

4.8/5 (45 anmeldelser)

    Kontakt os

    Book et opkald eller udfyld formularen nedenfor, så vender vi tilbage til dig, når vi har behandlet din anmodning.

    Send os en talebesked
    Vedhæft dokumenter
    Upload fil

    Du kan vedhæfte 1 fil på op til 2 MB. Gyldige filformater: pdf, jpg, jpeg, png.

    Ved at klikke på Send accepterer du, at Innowise behandler dine personlige data i henhold til vores Politik for beskyttelse af personlige oplysninger for at give dig relevante oplysninger. Ved at indsende dit telefonnummer accepterer du, at vi kan kontakte dig via taleopkald, sms og beskedapps. Opkalds-, besked- og datatakster kan være gældende.

    Du kan også sende os din anmodning
    til contact@innowise.com

    Hvad sker der nu?

    1

    Når vi har modtaget og behandlet din anmodning, vender vi tilbage til dig for at beskrive dine projektbehov og underskriver en NDA for at sikre fortrolighed.

    2

    Når vi har undersøgt dine ønsker, behov og forventninger, udarbejder vores team et projektforslag med forslag med arbejdets omfang, teamstørrelse, tids- og omkostningsoverslag.

    3

    Vi arrangerer et møde med dig for at diskutere tilbuddet og få detaljerne på plads.

    4

    Til sidst underskriver vi en kontrakt og begynder at arbejde på dit projekt med det samme.

    pil