Azure Data Factory sitt orkestreringsproblem
09.06.2023 | 2 min lesetidAzure Data Factory har en iboende begrensning i hvordan den kjører aktiviteter i parallell, og som heller ikke løses av Fabric. Løsningen på dette er å bruke en dedikert orkestreringstjeneste som Azure sin nylig introduserte *Managed Airflow*
Azure Data Factory (ADF) har en svakhet i hvordan den håndterer parallellisering i “ForEach-loops”, noe som kan føre til betydelige tidsforsinkelser og ineffektivitet for dataplattformer med en viss skala. Siden ADF er en integrert del av Microsoft Fabric er dette en viktig begrensning å være obs på.
Artikkelen publisert på Medium er linket til nederst her med en kort oppsummering først.
Jeg argumenterer i artikkelen for at bruken av en dedikert orkestreringstjeneste som Airflow, spesielt i lys av Azure sin nylig introduserte “Managed Airflow”, kan forbedre ytelsen og løse dette problemet. Med konkrete eksempler kan det ses at når du kjører ADF og Airflow sammen, oppnås kjøretider som er konsistente uavhengig av tilfeldigheter som rekkefølgen på oppgavene til ADF. Til tross for å være litt tregere enn ADFs optimale løp, er det betydelig raskere enn det minst optimale tilfellet.
I tillegg til å løse denne spesifikke utfordringen, tilbyr Airflow også en rekke koblinger og økte muligheter, som å bruke Python hvor som helst i en orkestreringsflyt. Konklusjonen min er at det absolutt er behov for et dedikert orkestreringsverktøy som Managed Airflow i Azure.