Megosztás a következőn keresztül:


Mi az a DLT?

Jegyzet

A DLT-hez a Prémium csomagszükséges. További információért forduljon a Databricks-fiók csapatához.

A DLT egy deklaratív keretrendszer, amelynek célja a megbízható és karbantartható kinyerési, átalakítási és terhelési (ETL) folyamatok létrehozásának egyszerűsítése. Megadhatja, hogy milyen adatokat és hogyan alakítsa át őket, a DLT pedig automatizálja az adatfolyam kezelésének legfontosabb szempontjait, beleértve a vezénylést, a számításkezelést, a monitorozást, az adatminőség-kényszerítést és a hibakezelést.

A DLT az Apache Sparkra épül, de ahelyett, hogy különálló Apache Spark-feladatokkal definiálná az adatfolyamokat, a rendszer által létrehozandó streamtáblákat és materializált nézeteket, valamint a streamelési táblák és a materializált nézetek feltöltéséhez és frissítéséhez szükséges lekérdezéseket határozza meg.

Az ETL-folyamatok DLT-vel történő létrehozásának és futtatásának előnyeiről a DLT termékoldalon.

DLT előnyei az Apache Sparkhoz képest

Az Apache Spark egy sokoldalú, nyílt forráskódú egységes elemzési motor, beleértve az ETL-t is. A DLT a Sparkra épül az adott és gyakori ETL-feldolgozási feladatok kezelésére. A DLT jelentősen felgyorsíthatja az éles környezethez vezető utat, ha a követelmények közé tartoznak az alábbi feldolgozási feladatok, például:

  • Adatok betöltése tipikus forrásokból.
  • Adatok növekményes átalakítása.
  • Módosítási adatrögzítés (CDC) végrehajtása.

A DLT azonban nem alkalmas bizonyos típusú eljárási logika implementálására. Például a DLT-adatkészletet meghatározó kódban nem végezhetők el például olyan feldolgozási követelmények, mint például egy külső táblába való írás vagy egy külső fájltárolón vagy adatbázistáblán működő feltételes írás. A DLT által nem támogatott feldolgozás implementálásához a Databricks azt javasolja, hogy használja az Apache Sparkot, vagy foglalja bele a folyamatot egy Olyan Databricks-feladatba, amely külön feladatban végzi a feldolgozást. Tekintse meg a DLT-folyamatfeladatot amunkákhoz.

Az alábbi táblázat összehasonlítja a DLT-t az Apache Sparkkal:

Képesség DLT Apache Spark
Adatátalakítások Az adatokat SQL vagy Python használatával alakíthatja át. Az adatokat SQL, Python, Scala vagy R használatával alakíthatja át.
Növekményes adatfeldolgozás Számos adatátalakítás automatikusan, növekményesen lesz feldolgozva. Meg kell határoznia, hogy mely adatok újak, hogy növekményesen feldolgozhassa azokat.
Hangszerelés Az átalakítások automatikusan a megfelelő sorrendben vannak vezénylve. Győződjön meg arról, hogy a különböző átalakítások a megfelelő sorrendben futnak.
Párhuzamosság Minden átalakítás a megfelelő párhuzamossági szinttel fut. A nem kapcsolódó átalakítások párhuzamos futtatásához szálakat vagy külső vezénylőt kell használnia.
Hibakezelés A rendszer automatikusan újrapróbálkozza a hibákat. El kell döntenie, hogyan kezelje a hibákat és próbálkozzon újra.
Felügyelet A metrikákat és eseményeket a rendszer automatikusan naplózza. A végrehajtással vagy az adatminőséggel kapcsolatos metrikák gyűjtéséhez kódot kell írnia.

DLT alapfogalmai

Az alábbi ábra egy DLT-folyamat fontos összetevőit mutatja be, majd ezek magyarázatát.

DLT-kulcsfogalmakat.

streamelési táblázat

A streamelőtáblák olyan Delta-táblák, amelyekhez egy vagy több stream írható. Streamelő táblákat gyakran használnak betöltéshez, mert a bemeneti adatokat pontosan egyszer dolgozzák fel, és képesek nagy mennyiségű, csak hozzafűzhető adat feldolgozására. A streamelő táblák a nagy mennyiségű adatfolyamok kis késésű átalakításához is hasznosak.

Materializált nézet

A materializált nézet olyan nézet, amely a materializált nézetet meghatározó lekérdezésen alapuló előre koncomputált rekordokat tartalmaz. A materializált nézetben lévő rekordokat a DLT automatikusan naprakészen tartja a folyamat frissítési ütemezése vagy eseményindítói alapján. Minden alkalommal, amikor egy materializált nézet frissül, garantáltan ugyanazok az eredmények jelennek meg, mint a definiáló lekérdezés futtatása a legújabb elérhető adatokon. Ez azonban gyakran anélkül történik, hogy újrafordítanák a teljes eredményt az alapoktól, növekményes frissítésihasználatával. A materializált nézeteket gyakran használják átalakításokhoz.

Kilátások

Az összes nézet az Azure Databricks számítási eredményei a lekérdezett forrásadatkészletekből származnak, és kihasználják a gyorsítótárazási optimalizálásokat, ha elérhetők. A DLT nem tesz közzé nézeteket a katalógusban, így a nézetek csak abban a folyamatban hivatkozhatók, amelyben definiálva vannak. A nézetek olyan köztes lekérdezésekként hasznosak, amelyeket nem szabad elérhetővé tenni a végfelhasználók vagy rendszerek számára. A Databricks azt javasolja, hogy nézetekkel kényszerítse ki az adatminőségre vonatkozó korlátozásokat, vagy alakítsa át és bővítse azokat az adathalmazokat, amelyek több alárendelt lekérdezést hajtanak végre.

Csővezeték

Az adatfolyam egy streamelési táblák és materializált nézetek gyűjteménye, amelyek együtt frissülnek. Ezek a streamelési táblák és materializált nézetek Python- vagy SQL-forrásfájlokban vannak deklarálva. A folyamatok olyan konfigurációt is tartalmaznak, amely meghatározza a streamelési táblák és a materializált nézetek frissítéséhez használt számítást a folyamat futtatásakor. Hasonlóan ahhoz, ahogyan a Terraform-sablon meghatározza a felhőbeli fiók infrastruktúráját, a DLT-folyamat határozza meg az adatfeldolgozás adatkészleteit és átalakítását.

Hogyan dolgozzák fel a DLT-adathalmazok az adatokat?

Az alábbi táblázat bemutatja, hogyan dolgozzák fel a materializált nézetek, a folyamatosan frissített táblák és a nézetek az adatokat.

Adathalmaz típusa Hogyan dolgozzák fel a rekordokat definiált lekérdezésekkel?
Adatfolyam tábla Minden rekord feldolgozása pontosan egyszer történik. Ez feltételez egy csak hozzáfűzni lehető forrást.
Anyagosított nézet A rekordok feldolgozása szükség szerint történik az aktuális adatállapot pontos eredményeinek visszaadásához. A materializált nézeteket olyan adatfeldolgozási feladatokhoz kell használni, mint az átalakítások, az összesítések vagy a lassú lekérdezések és a gyakran használt számítások.
Megtekintés A rekordok feldolgozása minden alkalommal történik, amikor lekérdezik a nézetet. Olyan nézeteket használjon köztes átalakításokhoz és adatminőség-ellenőrzésekhez, amelyeket nem szabad nyilvános adathalmazokban közzétenni.

Az első adathalmazok deklarálása a DLT-ben

A DLT új szintaxist vezet be a Pythonhoz és az SQL-hez. A folyamatszintaxis alapjainak megismeréséhez tekintse meg Folyamatkód fejlesztése Python- és Folyamatkód fejlesztése SQL-használatával című témakört.

Jegyzet

A DLT elválasztja az adathalmaz-definíciókat a frissítésfeldolgozástól, és a DLT-jegyzetfüzetek nem interaktív végrehajtásra szolgálnak.

Hogyan konfigurálhatja a DLT-folyamatokat?

A DLT-folyamatok beállításai két széles kategóriába sorolhatók:

  1. Olyan konfigurációk, amelyek olyan jegyzetfüzetek vagy fájlok gyűjteményét határozzák meg (más néven forráskód), amelyek DLT szintaxist használnak az adathalmazok deklarálásához.
  2. A folyamatinfrastruktúrát, a függőségkezelést, a frissítések feldolgozását és a táblák munkaterületen való mentését vezérlő konfigurációk.

A legtöbb konfiguráció nem kötelező, de némelyik gondos figyelmet igényel, különösen a gyártási folyamatok konfigurálásakor. Ezek közé tartoznak a következők:

  • Ahhoz, hogy az adatok elérhetővé váljanak a folyamaton kívül, meg kell határoznia egy célsémát a Hive metaadattárban vagy egy célkatalógust és célsémát a Unity Catalogban történő közzétételhez.
  • Az adathozzáférési engedélyek a végrehajtáshoz használt fürtön keresztül vannak konfigurálva. Győződjön meg arról, hogy a fürt rendelkezik az adatforrásokhoz konfigurált megfelelő engedélyekkel, és ha meg van adva a cél tárolóhely.

A folyamatok forráskódjának a Python és az SQL használatával történő írásával kapcsolatos részletekért lásd DLT SQL nyelvi referencia és DLT Python nyelvi referencia.

A folyamatbeállításokról és konfigurációkról további információt a DLT-folyamat konfigurálásacímű témakörben talál.

Az első folyamatlánc üzembe helyezése és a frissítések kezdeményezése

Mielőtt dLT-vel dolgozná fel az adatokat, konfigurálnia kell egy folyamatot. A folyamat konfigurálása után aktiválhat egy frissítést, amely kiszámítja a folyamat egyes adathalmazainak eredményeit. A DLT-folyamatok használatának megkezdéséhez tekintse meg oktatóanyagot: Az első DLT-folyamat futtatása.

Mi az a folyamatfrissítés?

A folyamatok üzembe helyezik az infrastruktúrát, és újrafordítják az adatállapotot egy frissítésindításakor. A frissítés a következőt hajtja végre:

  • Megfelelő konfigurációval elindít egy klasztert.
  • Felderíti az összes definiált táblát és nézetet, és ellenőrzi az esetleges elemzési hibákat, például az érvénytelen oszlopneveket, a hiányzó függőségeket és a szintaxishibákat.
  • Táblákat és nézeteket hoz létre vagy frissít a legfrissebb elérhető adatokkal.

A folyamatok a használati eset költség- és késési követelményeitől függően folyamatosan vagy ütemezés szerint futtathatók. Lásd: Végezze el a frissítést a DLT-folyamaton.

Adatok betöltése a DLT használatával

A DLT az Azure Databricksben elérhető összes adatforrást támogatja.

A Databricks a folyamatos adatfolyamú táblák használatát javasolja a legtöbb adathalmozási esetben. A felhőobjektum-tárolóba érkező fájlok esetében a Databricks az Automatikus betöltőt javasolja. A legtöbb üzenetbuszból közvetlenül betöltheti az adatokat a DLT használatával.

A felhőbeli tárolókhoz való hozzáférés konfigurálásáról további információt Felhőalapú tár konfigurációscímű témakörben talál.

Az Automatikus betöltő által nem támogatott formátumok esetén a Python vagy az SQL használatával lekérdezheti az Apache Spark által támogatott formátumokat. Lásd: Adatok betöltése DLT-.

Adatminőség monitorozása és kényszerítése

Az elvárásokat az adathalmaz tartalmára vonatkozó adatminőség-vezérlők megadásához használhatja. Ellentétben a hagyományos adatbázisok CHECK korlátozásával, amely megakadályozza a korlátozást meghiúsuló rekordok hozzáadását, az elvárások rugalmasságot biztosítanak az adatminőségi követelményeknek nem megfelelő adatok feldolgozásakor. Ez a rugalmasság lehetővé teszi az olyan adatok feldolgozását és tárolását, amelyektől elvárható, hogy rendetlenek legyenek, és amelyeknek meg kell felelniük a szigorú minőségi követelményeknek. Lásd : Az adatminőség kezelése folyamatelvárásokkal.

A DLT kibővíti a Delta Lake funkcióit. Mivel a DLT által létrehozott és felügyelt táblák Delta-táblák, a Delta Lake által biztosított garanciákkal és funkciókkal rendelkeznek. Lásd Mi az a Delta Lake?.

A DLT a Delta Lake-ben beállítható számos táblatulajdonság mellett számos további táblatulajdonságot is hozzáad. Lásd DLT-tulajdonságokra vonatkozó referencia és Delta-tábla tulajdonságaira vonatkozó referencia.

Táblák létrehozása és kezelése a DLT-ben

Az Azure Databricks automatikusan kezeli a DLT-vel létrehozott táblákat, és meghatározza, hogyan kell feldolgozni a frissítéseket a tábla aktuális állapotának megfelelő kiszámításához és számos karbantartási és optimalizálási feladat végrehajtásához.

A legtöbb művelet esetében engedélyeznie kell, hogy a DLT feldolgozhassa az összes frissítést, beszúrást és törlést egy céltáblán. További részletekért és korlátozásokért lásd: Manuális törlések vagy frissítések megőrzése.

DLT által végrehajtott karbantartási feladatok

A DLT karbantartási feladatokat hajt végre a tábla frissítésétől számított 24 órán belül. A karbantartás javíthatja a lekérdezési teljesítményt és csökkentheti a költségeket a táblák régi verzióinak eltávolításával. Alapértelmezés szerint a rendszer teljes OPTIMIZE műveletet hajt végre, amelyet a VACUUMkövet. A(z) táblatulajdonságok részében a pipelines.autoOptimize.managed = false beállításával letilthatja a OPTIMIZE elemet a táblában. A karbantartási feladatok csak akkor hajthatók végre, ha egy folyamatfrissítés a karbantartási tevékenységek ütemezése előtti 24 órában futott.

A Delta Live Tables (DLT) mostantól így nevezhető

A korábban Delta Live Tables néven ismert termék mostantól DLT.

Korlátozások

A korlátozások listáját a DLT-korlátozásokcímű témakörben találja.

A DLT Unity Catalog-ot érintő követelmények és korlátozások listáját lásd a Unity Catalog használata a DLT-folyamatokkal.

További erőforrások