Betöltési, ETL- és streamfeldolgozási folyamatok az Azure Databricks és a Delta Lake használatával

Azure Databricks
Azure Data Lake Storage
Azure IoT Hub
Azure Data Factory
Azure Event Hubs

Megoldási ötletek

Ez a cikk egy megoldási ötlet. Ha azt szeretné, hogy további információkkal bővítsük a tartalmat, például a lehetséges használati eseteket, alternatív szolgáltatásokat, megvalósítási szempontokat vagy díjszabási útmutatást, a GitHub visszajelzésével tudassa velünk.

A szervezetnek konzisztens módon kell adatokat beszednie a felhőbe bármilyen formátumban, méretben és sebességben. A cikkben szereplő megoldás megfelel azoknak az architektúráknak, amelyek kinyerik, átalakítják és betöltik (ETL) az adatforrásokból egy adattóba. A data lake minden adatot képes tárolni, beleértve az átalakított és a válogatott verziókat is különböző méretekben. Az adatok felhasználhatók adatelemzéshez, üzleti intelligenciához (BI), jelentéskészítéshez, adatelemzéshez és gépi tanuláshoz.

Az Apache® és az Apache Spark™ az Apache Software Foundation bejegyzett védjegyei vagy védjegyei a Egyesült Államok és/vagy más országokban. Az Apache Software Foundation nem támogatja ezeket a jeleket.

Architektúra

Diagram that shows the architecture and data flow for ETL and stream processing with Azure Databricks.

Töltse le az architektúra Visio-fájlját.

Adatfolyam

  1. Az adatok betöltése a következő módokon történik:

    • Az olyan eseménysorok, mint az Event Hubs, az IoT Hub vagy a Kafka streamelési adatokat küldenek az Azure Databricksnek, amely az optimalizált Delta Engine használatával olvassa be az adatokat.
    • Az ütemezett vagy aktivált Data Factory-folyamatok különböző adatforrásokból másolnak adatokat nyers formátumban. Az Azure Databricks automatikus betöltője a beérkezéskor dolgozza fel az adatokat.
  2. Az Azure Databricks optimalizált, tömörített Delta Lake-táblákba vagy mappákba tölti be az adatokat a Data Lake Storage Bronz rétegében.

  3. A streamelési, ütemezett vagy aktivált Azure Databricks-feladatok új tranzakciókat olvasnak be a Data Lake Storage Bronz rétegéből. A feladatok összekapcsolják, megtisztítják, átalakítják és összesítik az adatokat, mielőtt ACID-tranzakciókkal betöltik őket a Data Lake Storage Silver és Gold rétegében lévő válogatott adathalmazokba.

  4. Az adatkészletek a Delta Lake-ben, a Data Lake Storage-ban vannak tárolva.

Minden szolgáltatás az adatokat egy közös formátumba betölti a konzisztencia biztosítása érdekében. Az architektúra egy megosztott data lake-t használ az open Delta Lake formátum alapján. A nyers adatok különböző kötegekből és streamelési forrásokból kerülnek be, így egységes adatplatformot alkotnak. A platform használható olyan alsóbb rétegbeli használati esetekhez, mint az elemzés, a BI-jelentéskészítés, az adatelemzés, az AI és a gépi tanulás.

Bronz, ezüst és arany tárolórétegek

A bronz, ezüst és arany tárolási rétegekből álló medálmintával az ügyfelek rugalmas hozzáféréssel és bővíthető adatfeldolgozással rendelkeznek.

  • A bronz táblák biztosítják a belépési pontot a nyers adatokhoz, amikor az a Data Lake Storage-ba landolt. Az adatok nyers forrásformátumban lesznek felhasználva, és feldolgozás céljából nyílt, tranzakciós Delta Lake formátumba lesznek konvertálva. A megoldás a következőkkel betölti az adatokat a Bronz rétegbe:
    • Apache Spark API-k az Azure Databricksben. Az API-k felolvassák a streamelési eseményeket az Event Hubsból vagy az IoT Hubról, majd ezeket az eseményeket vagy nyers fájlokat Delta Lake formátumba konvertálják.
    • A COPY INTO parancs. A paranccsal közvetlenül egy forrásfájlból vagy könyvtárból másolhat adatokat a Delta Lake-be.
    • Az Azure Databricks automatikus betöltője. Az Automatikus betöltő a data lake-be érkezéskor megragadja a fájlokat, és Delta Lake formátumba írja őket.
    • A Data Factory másolási tevékenysége. Az ügyfelek ezzel a beállítással bármely támogatott formátumból konvertálhatják az adatokat Delta Lake formátumba.
  • Az ezüsttáblák az bi- és adatelemzési használati esetekre optimalizált adatok tárolására használhatók. A Bronz réteg betölti a nyers adatokat, majd további ETL- és streamfeldolgozási feladatokkal szűri, tisztítja, átalakítja, összekapcsolja és összesíti az adatokat Silver-válogatott adatkészletekké. A vállalatok konzisztens számítási motort használhatnak, például a nyílt szabványoknak megfelelő Delta Engine-t, amikor az Azure Databrickset használják ezekhez a feladatokhoz. Ezután használhatnak olyan ismert programozási nyelveket, mint az SQL, a Python, az R vagy a Scala. A vállalatok az egyes számítási feladatokhoz méretezett megismételhető DevOps-folyamatokat és rövid élettartamú számítási fürtöket is használhatnak.
  • Az aranytáblák gazdagított adatokat tartalmaznak, elemzésre és jelentéskészítésre készek. Az elemzők használhatják a választott módszert, például a PySparkot, a Koalákat, az SQL-t, a Power BI-t és az Excelt, hogy új megállapításokat szerezzenek és lekérdezéseket fogalmazzanak meg.

Összetevők

  • Az Event Hubs elemezi és pontozza a streamelési üzeneteket különböző forrásokból, beleértve a helyszíni rendszereket is, és valós idejű információkat biztosít.
  • A Data Factory az összes adat betöltésére, előkészítésére és átalakítására szolgáló adatfolyamokat vezényeli bármilyen léptékben.
  • A Data Lake Storage egyesíti a streamelési és kötegelt adatokat, beleértve a strukturált, strukturálatlan és félig strukturált adatokat, például naplókat, fájlokat és adathordozókat.
  • Az Azure Databricks megtisztítja és átalakítja a strukturálatlan adathalmazokat, és kombinálja őket az operatív adatbázisokból vagy adattárházakból származó strukturált adatokkal.
  • Az IoT Hub rendkívül biztonságos és megbízható kommunikációt biztosít az IoT-alkalmazás és az eszközök között.
  • A Data Lake Storage Delta Lake támogatja az ACID-tranzakciókat a megbízhatóság érdekében, és a hatékony betöltéshez, feldolgozáshoz és lekérdezésekhez van optimalizálva.

Forgatókönyv részletei

Az Azure Databricks használatával történő betöltési, ETL- és streamfeldolgozás egyszerű, nyílt és együttműködésen alapuló:

  • Egyszerű: A nyílt forráskódú formátumú, válogatott réteggel rendelkező open data lake leegyszerűsíti az adatarchitektúrát. A Delta Lake egy nyílt forráskódú eszköz, amely hozzáférést biztosít az Azure Data Lake Storage data lake-hez. A Data Lake Storage-on található Delta Lake támogatja az atomi, konzisztenciát, elkülönítést és tartóssági (ACID) tranzakciókat a megbízhatóság érdekében. A Delta Lake a hatékony betöltéshez, feldolgozáshoz és lekérdezésekhez van optimalizálva.
  • Megnyitás: A megoldás támogatja a nyílt forráskódú kódot, a nyílt szabványokat és a nyílt keretrendszereket. Emellett népszerű integrált fejlesztési környezetekkel (IDE-kkel), kódtárakkal és programozási nyelvekkel is működik. Natív összekötők és API-k révén a megoldás számos más szolgáltatással is működik.
  • Együttműködés: Az adatmérnökök, adattudósok és elemzők együttműködnek ezzel a megoldással. Közös jegyzetfüzeteket, azonosítókat, irányítópultokat és egyéb eszközöket használhatnak a közös mögöttes adatok eléréséhez és elemzéséhez.

Az Azure Databricks zökkenőmentesen integrálható más Azure-szolgáltatásokkal, mint a Data Lake Storage, az Azure Data Factory, az Azure Event Hubs és az Azure IoT Hub.

Lehetséges használati esetek

Ezt a megoldást a Providence Health Care valós idejű elemzésre létrehozott rendszere ihlette. Ezt a megoldást minden olyan iparág is fontolóra vehetné, amely kötegelt vagy streamelési adatokat tárol. Ide sorolhatóak például a kövekezők:

  • Kiskereskedelem és e-kereskedelem
  • Finance
  • Egészségügyi és élettudományok
  • Energiaszolgáltatók

Következő lépések

  • A Spanyol Point Technologies az Azure Databricks és az Azure Data Factory használatával hozza létre a Matching Engine-t, hogy nagy léptékben betöltse az adatokat, hogy a zenészek tisztességes fizetést kapjanak.

Útmutatók és teljes mértékben üzembe helyezhető architektúrák: