Perimmäinen opas Apache Airflow -ohjelmasta

Mikä on Apache Airflow?

Apache Airflow on työkalu, jonka avulla voit luoda, organisoida ja valvoa visuaalisesti työnkulkuja ja käynnistää tehtäväketjuja (pipelines) tietojen käsittelemiseksi, tallentamiseksi ja visualisoimiseksi. Apache Software Foundation omistaa alustan, joka on edelleen hautomovaiheessa. GitHubissa on 1000 osallistujaa ja 13 000 tähteä.

Apache Airflow -esittely

Apache Airflow on vankka, avoimen lähdekoodin ja Python:n kirjoittama palvelu, jota käyttää Data Engineers työnkulkujen ja putkistojen orkestrointiin korostamalla putkistojen riippuvuuksia, koodia, lokitietoja, käynnistystehtäviä, edistymistä ja onnistumistilaa, jotta ongelmatilanteita voidaan tarvittaessa korjata.

Jos tehtävä onnistuu tai epäonnistuu, tämä joustava, skaalautuva ja ulkoisten tietojen kanssa yhteensopiva ratkaisu pystyy lähettämään hälytyksiä ja viestejä Slackin tai sähköpostin kautta. Apache ei aseta rajoituksia sille, miltä työnkulun tulisi näyttää, ja siinä on käyttäjäystävällinen käyttöliittymä tehtävien seuraamiseen ja uudelleen suorittamiseen.

Miten Apache Airflow toimii?

Putkistot kuvataan Apachen keskeisten elementtien avulla:

DAG

Tekniikan kulmakivi on kuvattu suunnatuilla asyklisillä graafeilla (DAG). Tämä malli on graafi, jossa ei ole syklejä, mutta jossa on samasta erästä tulevia rinnakkaisia polkuja. Yksinkertaisesti sanottuna DAG on kokonaisuus, joka yhdistää tehtäviä riippuen dataputkesta, jossa sovellusten välinen riippuvuus ilmenee selvästi.
Suunnattu asyklinen graafi (DAG)
Suunnattu asyklinen graafi (DAG)
Tehtävä E on DAG:n viimeinen tehtävä, joka riippuu vasemmalla puolella olevien edeltävien tehtävien onnistuneesta suorittamisesta.

Operaattori

Operaattori on erillinen elementti tehtäväketjussa (pipeline). Näiden elementtien avulla kehittäjät kuvaavat, mikä tehtävä on suoritettava. Apache Airflow on luettelo valmiiksi määritellyistä operaattoreista, joita ovat:
  • PythonOhoitaja suorittaa Python-koodin.
  • BashOperator suorittaa bash-skriptejä/käskyjä.
  • PostgresOperator kutsuu SQL-kyselyjä PostgreSQL:ssä.
  • RedshiftToS3Transfer suorittaa UNLOAD-komennot Redshiftistä S3:een.
  • EmailOperator lähettää sähköposteja
Tehtäviä ja operaattoreita käytetään toisinaan vaihtelevasti, mutta oletamme, että ne ovat eri käsitteitä, joissa operaattorit toimivat kaavoina tehtävien luomiseksi.

Anturi

Anturi on operaattorin muunnelma, joka voidaan toteuttaa tapahtumapohjaisissa putkistoissa. Esimerkkejä:
  • PythonS-anturi odottaa, että funktio palauttaa True-arvon.
  • S3Sensor tarkistaa kohteen saatavuuden S3-ämpärissä olevan avaimen perusteella.

Koukku

Koukut ovat kolmannen osapuolen palveluja, jotka ovat vuorovaikutuksessa ulkoisten alustojen (tietokantojen ja API-resurssien) kanssa. Koukuilla ei pitäisi olla haavoittuvia tietoja tietovuodon estämiseksi.

Aikatauluttaja

Se valvoo kaikkia DAG-ryhmiä, käsittelee työnkulkuja ja lähettää tehtäviä Executorille.

Verkkopalvelin

Verkkopalvelin toimii Apache Airflow -käyttöliittymänä. Sen avulla voidaan seurata tehtävien tilaa ja edistymistä sekä lokitietoja etätietovarastoista.

Tietokanta

Sinne tallennetaan kaikki asiaankuuluvat tiedot (tehtävät, aikataulukaudet, kunkin sprintin tilastot jne.).

Täytäntöönpanija

Executor suorittaa tehtäviä ja siirtää ne työntekijöille.

Lopuksi esitellään Apachen toimintaa yksinkertaisella esimerkillä. Ensinnäkin Apache tarkistaa kaikki DAG:t taustalla. Kiireelliset tehtävät, jotka on saatava valmiiksi, saavat merkinnän SCHEDULED tietokantaan. Scheduler hakee tehtävät tietokannasta ja jakaa ne Executoreille. Tämän jälkeen tehtävät saavat QUEUED-tilan, ja kun suorittajat alkavat suorittaa niitä, tehtävälle annetaan RUNNING-tila. Kun tehtävä on suoritettu, työntekijä ilmoittaa sen valmiiksi tai epäonnistuneeksi riippuen lopputuloksen onnistumisesta, ja Scheduler päivittää tilan tietokantaan.

Apache Airflow -arkkitehtuuri
Apache Airflow -arkkitehtuuri

Apache Airflow -ominaisuudet

Alla on lueteltu Apache Airflow'n mielenkiintoisimmat ominaisuudet.

Helppo käyttää

Python:n perustiedot ovat ainoa edellytys ratkaisujen rakentamiseksi alustalle.

Avoin lähdekoodi

Palvelu on ilmainen, ja sillä on paljon aktiivisia käyttäjiä maailmanlaajuisesti.

Helppo integrointi

Yksi voi saumattomasti työskennellä toisiaan täydentävien tuotteiden kanssa seuraavista yrityksistä Microsoft Azure, Google Cloud Platform, Amazon AWS jne.

Ystävällinen käyttöliittymä

Voit seurata aikataulutettujen ja käynnissä olevien tehtävien tilaa reaaliajassa.

Apachen ilmavirtauksen periaatteet

Tutustu Apache Airflow'n perusperiaatteisiin alla.

Dynaaminen

Ilmavirtausputkistot on konfiguroitu seuraavasti Python-koodi tehdä putkistojen sukupolvesta dynaaminen.

Laajennettava

Käyttäjät voivat luoda määriteltyjä operaattoreita, toteuttajia ja kirjastoja, jotka soveltuvat heidän omaan liiketoimintaympäristöönsä.

Skaalautuva

Palvelu ei kaadu, koska sen arkkitehtuuri on modulaarinen ja se voidaan skaalata äärettömään.

Mitkä ovat Apache Airflow'n edut?

Niihin kuuluvat automaatio, yhteisöllisyys, liiketoimintaprosessien visualisointi sekä asianmukainen seuranta ja valvonta. Käymme lyhyesti läpi ne kaikki.

Yhteisö

Avoimen lähdekoodin palvelussa on yli 1000 osallistujaa. He osallistuvat säännöllisesti sen päivittämiseen.

Liiketoimintaprosessien visualisointi

Apache on täydellinen työkalu työnkulunhallintajärjestelmän "kokonaiskuvan" luomiseen.

Automaatio

Automaatio tekee Data Engine:n työntekijöiden työstä sujuvampaa ja parantaa yleistä suorituskykyä.

Seuranta ja valvonta

Sisäänrakennettu hälytys- ja ilmoitusjärjestelmä mahdollistaa vastuiden asettamisen ja korjausten toteuttamisen.

Apache Airflow

Apache Airflow -käyttötapaukset

Palvelun käytännön tehokkuus voidaan osoittaa seuraavissa käyttötapauksissa:
  • Erätyöt;
  • Dataputkien työnkulkujen ajoittaminen ja orkestrointi Airflow'lla tietylle aikavälille;
  • ETL/ELT-putket, jotka käsittelevät erätietoja;
  • Putket, jotka vastaanottavat tietoja ulkoisista lähteistä tai suorittavat tietojen muuntamista;
  • Apache Airflow koneoppimismallien kouluttamiseen ja töiden käynnistämiseen SageMakerissa;
  • Raporttien luominen;
  • DevOps-tehtävien varmuuskopiot ja tulosten tallentaminen Hadoop-klusteriin Spark-tehtävän suorittamisen jälkeen.

Apache Airflow palveluna

Useat Airflow'n tukemat tietotekniikka-alustat hyödyntävät palvelun peruslogiikkaa ja etuja ja lisäävät uusia ominaisuuksia erityishaasteiden ratkaisemiseksi. Niitä voidaan kutsua Apache Airflow -vaihtoehdoiksi, koska niillä on melko samanlainen toiminnallisuus:

  • Astro - datan orkestrointialusta, jolla voidaan luoda, ajaa ja tarkkailla putkistoja.
  • Google Cloud Composer - datan orkestrointialusta, jonka avulla voidaan rakentaa, aikatauluttaa ja hallita putkistoja.
  • Qubole - avoin data lake -alusta koneoppimiseen, suoratoistoon ja ad-hoc-analytiikkaan.

Amazon Managed Workflows for Apache Airflow - hallinnoitu Airflow-työnkulun orkestrointipalvelu dataputkien perustamiseen ja käyttämiseen Amazon Web Services:ssä (AWS).

Päätelmä

Apache on tehokas työkalu tietojenkäsittelyyn, joka on yhteensopiva kolmansien osapuolten palvelujen ja alustojen kanssa. Siirtyminen Airflow'hun on sujuvaa ja ongelmatonta yrityksen koosta ja määrittelyistä riippumatta.

Innowise tarjoaa syvällistä Apache-asiantuntemusta kaikenlaisesta monimutkaisuudesta ja laajuudesta riippumatta. Apache Airflow on täydellinen valinta järjestyksen tuomiseksi, jos asiakas kärsii huonosta osastojen välisestä kommunikaatiosta ja etsii lisää avoimuutta työnkulkuihin.

Ammattitaitoiset kehittäjämme toteuttavat pitkälle räätälöidyn modulaarisen järjestelmän, joka parantaa toimintaa big datan avulla ja tekee Airflow-prosesseista täysin hallittuja ja mukautettavissa liiketoimintaympäristösi erityispiirteisiin.

Kiitos arvostelusta!
Kiitos kommentista!

Sisällysluettelo

Arvioi tämä artikkeli:

4/5

4.8/5 (45 arvostelua)

    Ota yhteyttä

    Varaa puhelu tai täytä alla oleva lomake, niin otamme sinuun yhteyttä, kun olemme käsitelleet pyyntösi.

    Lähetä meille ääniviesti
    Liitä asiakirjoja
    Lataa tiedosto

    Voit liittää 1 enintään 2 Mt:n tiedoston. Hyväksytyt tiedostomuodot: pdf, jpg, jpeg, png.

    Klikkaamalla Lähetä, annat suostumuksesi siihen, että Innowise käsittelee henkilötietojasi meidän Tietosuojakäytäntö antaa sinulle asiaankuuluvia tietoja. Antamalla puhelinnumerosi suostut siihen, että voimme ottaa sinuun yhteyttä puheluiden, tekstiviestien ja viestisovellusten kautta. Puhelu-, viesti- ja datahintoja voidaan soveltaa.

    Voit myös lähettää meille pyyntösi
    osoitteeseen contact@innowise.com

    Mitä tapahtuu seuraavaksi?

    1

    Kun olemme vastaanottaneet ja käsitelleet pyyntösi, otamme sinuun yhteyttä ja kerromme yksityiskohtaisesti projektin tarpeet ja allekirjoitamme NDA-sopimuksen luottamuksellisuuden varmistamiseksi.

    2

    Tutkittuaan toiveesi, tarpeesi ja odotuksesi tiimimme suunnittelee projektin ehdotuksen, jossa esitetään työn laajuus, tiimin koko, aika- ja kustannusarviot.

    3

    Järjestämme kanssasi tapaamisen, jossa keskustellaan tarjouksesta ja sovitaan yksityiskohdista.

    4

    Lopuksi allekirjoitamme sopimuksen ja aloitamme projektisi toteuttamisen heti.

    nuoli