Mi az az Azure Data Factory?

A KÖVETKEZŐKRE VONATKOZIK: Azure Data Factory Azure Synapse Analytics

A big data világában a nyers, rendezetlen adatok tárolása leggyakrabban relációs, nem relációs vagy egyéb tárolórendszerekben történik. A nyers adatok önmagukban azonban nem biztosítanak megfelelő környezetet, sem értelmezhető elemzési lehetőségeket az elemzők, adatelemzők vagy üzleti döntéshozók számára.

A big data használatához olyan szolgáltatásra van szükség, amely képes vezénylni és működőképesíteni a folyamatokat, hogy a nyers adatok hatalmas adattárait kezelhető üzleti elemzésekre finomítsa. Az Azure Data Factory egy ilyen, az összetett hibrid ETL-, ELT- és adatintegrációs projektek kezelésre szolgáló felügyelt felhőszolgáltatás.

Képzeljünk el például egy játékfejlesztő vállalatot, amely több petabájtnyi, a játékok által készített naplót gyűjt össze a felhőben. A vállalat e naplókat szeretné elemezni, hogy betekintést nyerhessen az ügyfelek preferenciáiba, demográfiai adataiba és felhasználói viselkedésébe, hogy ezek alapján azonosítsa az értékesítési és keresztértékesítési lehetőségeket, új funkciókat fejlesszen az üzleti növekedés elősegítése érdekében, és jobb felhasználói élményt nyújtson az ügyfeleinek.

A naplók elemzéséhez a vállalatnak a helyszíni adattárban tárolt referenciaadatokat kell felhasználnia, mint például az ügyféladatokat, a játékadatokat és a reklámkampány-adatokat. A vállalat úgy kívánja hasznosítani ezeket a helyszíni adattárakból származó adatokat, hogy azokat további, a felhőalapú adattárban lévő naplóadatokkal kombinálja.

Az elemzések kinyeréséhez egy felhőalapú Spark-fürt (Azure HDInsight) segítségével feldolgozni az összekapcsolt adatokat, és egy felhőbeli adattárházban (például Azure Synapse Analytics) közzétenni az átalakított adatokat, hogy könnyen készíthető róla jelentés. A vállalat automatizálni, illetve napi rendszerességgel monitorozni és kezelni szeretné ezt a munkafolyamatot. Ezenkívül végre is szeretné hajtani, ha fájlok kerülnek egy blobtárolóba.

Az Azure Data Factory az a platform, amely az ilyen adatforgatókönyvek esetében sikeresen használható. Ez a felhőalapú ETL és adatintegrációs szolgáltatás, amely lehetővé teszi adatvezérelt munkafolyamatok létrehozására az adatok nagy léptékű adatátvitelének és átalakításának vezénylését. Az Azure Data Factory segítségével létrehozhatók és ütemezhetők a különböző adattárolókból adatokat beolvasó adatvezérelt munkafolyamatok. Összetett ETL-folyamatokat is felépíthet, amelyek adatfolyamokkal vagy számítási szolgáltatásokkal , például Azure HDInsight Hadoop, Azure Databricks és Azure SQL Database.

Emellett közzéteheti az átalakított adatokat olyan adattárakban, mint Azure Synapse Analytics üzletiintelligencia- (BI-) alkalmazások számára. Végső soron az Azure Data Factory segítségével a nyers adatokat használható adattárakba rendezhetjük, így jobb üzleti döntéseket hozhatunk.

A Data Factory

Hogyan működik?

A Data Factory egymással összekapcsolt rendszerek sorozatát tartalmazza, amelyek teljes körű platformot biztosítanak az adatszakértők számára.

Ez a vizuális útmutató magas szintű áttekintést nyújt a Data Factory architektúráról:

Részletes vizuális útmutató az Azure Data Factory teljes rendszerarchitektúrához, egyetlen nagy felbontású képen.

További részletekért kattintson az előző képre a nagyításhoz, vagy tallózással keresse meg a nagy felbontású képet.

Csatlakozás és összegyűjtés

A vállalatok a legkülönfélébb adatokkal rendelkeznek a legkülönfélébb (helyszíni, felhőbeli, strukturált, strukturálatlan és részben strukturált) forrásokból, amelyek ráadásul eltérő időközzel és sebességgel érkeznek be.

Az információ-előállítási rendszerek kiépítésének első lépése az összes szükséges adatforrás és feldolgozó, például az SaaS-szolgáltatások, az adatbázisok, a fájlmegosztások és az FTP-alapú webszolgáltatások összekapcsolása. A következő lépés az adatok igényalapú átmozgatása egy központi helyre a további feldolgozás előtt.

A Data Factory nélkül a vállalatoknak egyéni adattovábbítási összetevőket kell készíteniük vagy egyéni szolgáltatásokat kell írniuk az adatforrások és feldolgozók integrálására. Az ilyen rendszerek költségesek, nehezen integrálhatóak és tarthatók karban. Továbbá gyakran nem áll rendelkezésre az a vállalati szintű monitorozási, riasztási és vezérlési funkcionalitás, amelyet egy teljes mértékben felügyelt szolgáltatás biztosítani képes.

A Data Factory segítségével a Másolási tevékenység keretében az adatok egyazon adatfolyamatban helyszíni és felhőalapú forrásadattárakból egyaránt továbbíthatóak egy, a felhőben lévő adattárba további elemzésre. Például adatokat gyűjthet az Azure Data Lake Storage, és később átalakíthatja az adatokat egy Azure Data Lake Analytics számítási szolgáltatás használatával. Esetleg begyűjtheti az adatokat egy Azure Blob Storage tárolóból, és később átalakíthatja azokat egy Azure HDInsight Hadoop-fürt használatával.

Átalakítás és bővítés

Miután az adatok már jelen vannak egy központi adattárban a felhőben, ADF leképezési adatfolyamokkal feldolgozhatja vagy átalakíthatja az összegyűjtött adatokat. Az adatfolyamok lehetővé teszik az adatmérnökök számára, hogy adatátalakítási gráfokat építsenek ki és tartsanak karban a Sparkon anélkül, hogy a Spark-fürtöket vagy a Spark-programozást kellene megérteniük.

Ha inkább kézzel szeretné végrehajtani a kódátalakításokat, az ADF támogatja az olyan számítási szolgáltatásokon végzett átalakítások külső tevékenységeit, mint a HDInsight Hadoop, a Spark, Data Lake Analytics és Machine Learning.

CI/CD és közzététel

Data Factory az Azure DevOps és a GitHub. Ez lehetővé teszi az ETL-folyamatok fokozatos kidolgozását és kézbesítését a kész termék közzététele előtt. Miután a nyers adatok át lettek alakítva üzleti használatra kész formába, feltöltheti azokat az Azure Data Warehouse-ba, az Azure SQL Database-be, az Azure CosmosDB-be vagy bármely olyan elemzési motorra, amelyre üzleti felhasználói intelligens üzleti eszközeikkel rámutathatnak.

Monitor

Miután sikeresen kiépítette és üzembe helyezte az adatintegrációs folyamatot, amely üzleti értéket állít elő a feldolgozott adatokból, kövesse figyelemmel az ütemezett tevékenységek és folyamatok sikerességi arányát. Azure Data Factory beépített folyamatfigyelési támogatással rendelkezik a Azure Monitor, API, PowerShell, Azure Monitor naplók és az állapotpanelek használatával a Azure Portal.

Legfelső szintű fogalmak

Az Azure-előfizetések több Azure Data Factory-példányt (más néven adat-előállítókat) is tartalmazhatnak. Azure Data Factory az alábbi fő összetevőkből áll.

  • Pipelines
  • Tevékenységek
  • Adathalmazok
  • Társított szolgáltatások
  • Adatfolyamok
  • Integrációs modulok

Ezek együtt alkotják azt a platformot, amelyen létrehozhatók olyan adatvezérelt munkafolyamatok, amelyeknek a lépései áthelyezik és átalakítják az adatokat.

Folyamat

Az adat-előállító egy vagy több folyamattal rendelkezhet. A folyamatok a tevékenységek logikus csoportosításai egy adott munkaegység végrehajtásához. A folyamatban lévő tevékenységek együtt egy feladatot hajtanak végre. Például a folyamat tartalmazhat egy csoportnyi műveletet, amelyek adatokat fogadnak egy Azure-blobból, majd egy Hive-lekérdezést futtatnak egy HDInsight-fürtön az adatok particionálásához.

A folyamatok használatának az az előnye, hogy így a tevékenységek egy készletben kezelhetők, nem pedig külön-külön. Egy adott folyamat tevékenységei összefűzhetők, így azok egymás után vagy egymástól függetlenül, párhuzamosan üzemeltethetők.

Adatfolyamok leképezése

Adatátalakítási logikát ábrázoló gráfokat hozhat létre és kezelhet, amelyek segítségével bármilyen méretű adatot átalakíthat. Az adatátalakítási rutinok újrahasználható kódtárát felépítheti, és az ADF-folyamatokból horizontálisan felskálált módon hajthatja végre ezeket a folyamatokat. Data Factory egy Spark-fürtön hajtja végre a logikát, amely szükség esetén megfordul és leáll. A fürtök kezelése és karbantartása soha nem szükséges.

Tevékenység

Egy folyamatban a tevékenységek a feldolgozási lépéseket jelentik. A másolási tevékenység használatával például az egyik adattárból a másikba másolhatja az adatokat. Hasonlóképpen, egy Hive-tevékenység használatával Hive-lekérdezést futtathat egy Azure HDInsight-fürtön az adatok átalakításához és elemzéséhez. A Data Factory három típusú tevékenységet támogat: az adattovábbítási tevékenységeket, az adat-átalakítási tevékenységeket és a vezérlési tevékenységeket.

Adathalmazok

Az adatkészletek adatstruktúrákat jelölnek az adattárakon belül, amelyek egyszerűen rámutatnak vagy meghivatkozzák az adatokat, amelyeket a tevékenységekben be- vagy kimenetként használni szeretne.

Társított szolgáltatások

A társított szolgáltatások nagyon hasonlóak a kapcsolati sztringekhoz, amelyek meghatározzák azokat a kapcsolati információkat, amelyeket a Data Factory a külső erőforrásokhoz történő csatlakozáshoz igényel. Tulajdonképpen a társított szolgáltatás határozza meg az adatforrással való kapcsolatot, míg az adatkészlet jelöli az adatok struktúráját. Az Azure Storage társított szolgáltatása például kapcsolati sztringet szolgáltat az Azure Storage-fiókhoz való csatlakozáshoz. Az Azure Blob-adatkészlet pedig meghatározza a blobtárolót és az adatokat tartalmazó mappát.

A társított szolgáltatásokat két célból használjuk a Data Factoryban:

  • Egy olyan adattárat képvisel, amely magában foglal egy SQL Server-adatbázist, Oracle-adatbázist, fájlmegosztást vagy Azure Blob Storage-fiókot. A támogatott adattárak listáját lásd a másolási tevékenység cikkben.

  • Olyan számítási erőforrást képvisel, amely képes egy tevékenység végrehajtására. A HDInsightHive-tevékenység végrehajtása például egy HDInsight Hadoop-fürtön történik. Az átalakítási tevékenységek és a támogatott számítási környezetek listáját lásd az adatok átalakítása cikkben.

Integrációs modul

A Data Factoryban a végrehajtandó műveletet egy tevékenység határozza meg. A társított szolgáltatások a céladattárat vagy a számítási szolgáltatást határozzák meg. Az integrációs modulok hídként szolgálnak a tevékenység és a társított szolgáltatások között. Erre a csatolt szolgáltatás vagy tevékenység hivatkozik, és biztosítja azt a számítási környezetet, ahol a tevékenység fut, vagy ahonnan a tevékenység el lesz küldve. Ily módon a tevékenység végrehajtható a céladattárhoz vagy számítási szolgáltatáshoz lehető legközelebb eső régióban, a lehető leghatékonyabban, a biztonsági és megfelelőségi igényeknek is megfelelően.

Triggerek

Az eseményindítók olyan feldolgozási egységek, amelyek meghatározzák, hogy mikor kezdődjön egy folyamat végrehajtása. A különböző típusú eseményekhez eltérő típusú eseményindítók tartoznak.

Folyamatfuttatások

A folyamatfuttatások a folyamat-végrehajtás egy-egy példányát jelentik. A folyamatfuttatások példányosítása jellemzően az argumentumoknak a folyamatokban meghatározott paraméterekhez történő továbbításával történik. Az argumentumok továbbítása történhet manuálisan vagy az eseményindító meghatározásán keresztül is.

Paraméterek

A paraméterek írásvédett konfigurációk kulcs-érték párjainak tekintendők.A paraméterek meghatározása a folyamatban történik. Az e paraméterekhez tartozó argumentumok továbbítása a végrehajtás során történik a futtatási környezetből, amelyet egy eseményindító vagy egy manuálisan végrehajtott folyamat hoz létre. A folyamatok tevékenységei a paraméterértékeket dolgozzák fel.

Az adatkészletek szigorúan típusos paraméterek és újrahasznosítható/hivatkozható entitások együttesei. A tevékenységek hivatkozhatnak adatkészletekre, és képesek az adatkészlet-meghatározásban megadott tulajdonságok feldolgozására.

A társított szolgáltatások szintén adattárak vagy számítási környezetek kapcsolatadatait tartalmazó, szigorúan típusos paraméterek. Ezenkívül újrahasznosítható/hivatkozható entitások.

Átvitelvezérlés

Átvitelvezérlés: folyamattevékenységek vezénylése, például egy sorozat láncolási tevékenységei, elágaztatás és olyan paraméterek, amelyek folyamatszinten határozhatók meg, valamint olyan argumentumok, amelyek a folyamat igény szerinti meghívása során vagy egy eseményindítóból továbbítódnak. Ilyen tevékenységek az egyéniállapot-átadás és a tárolók hurkolása, vagyis a For-each iterátorok is.

Változók

A változók a folyamatokban ideiglenes értékek tárolására használhatók, és paraméterekkel együtt használhatók az értékek folyamatok, adatfolyamok és más tevékenységek közötti átadásának engedélyezéséhez.

Következő lépések

Az itt megismert fontos következő lépés dokumentumok: