Mi az a Delta Live Tables?

A Delta Live Tables egy deklaratív keretrendszer megbízható, karbantartható és tesztelhető adatfeldolgozási folyamatok létrehozásához. Ön határozza meg az adatokon végrehajtandó átalakításokat, a Delta Live Tables pedig a feladatvezénylést, a fürtkezelést, a monitorozást, az adatminőséget és a hibakezelést kezeli.

Feljegyzés

A Delta Live Tableshez prémium csomag szükséges. További információért forduljon a Databricks-fiók csapatához.

Ahelyett, hogy különálló Apache Spark-feladatok sorozatával definiálja az adatfolyamokat, a streamelési táblákat és a materializált nézeteket kell meghatároznia, amelyeket a rendszernek létre kell hoznia és naprakészen kell tartania. A Delta Live Tables az egyes feldolgozási lépésekhez megadott lekérdezések alapján kezeli az adatok átalakításának módját. Az adatminőséget a Delta Live Tables elvárásaival is érvényesítheti, így meghatározhatja a várt adatminőséget, és meghatározhatja, hogyan kezelheti azokat a rekordokat, amelyek nem felelnek meg ezeknek az elvárásoknak.

Az ETL-folyamatok Delta Live Tables használatával történő létrehozásának és futtatásának előnyeiről a Delta Live Tables termékoldalán olvashat bővebben.

Mik azok a Delta Live Tables-adathalmazok?

A Delta Live Tables adatkészletei a streamelési táblák, a materializált nézetek és a deklaratív lekérdezések eredményeiként fenntartott nézetek. Az alábbi táblázat az egyes adathalmazok feldolgozását ismerteti:

Adathalmaz típusa Hogyan dolgozzák fel a rekordokat definiált lekérdezésekkel?
Streamelési tábla Minden rekord feldolgozása pontosan egyszer történik. Ez csak hozzáfűző forrást feltételez.
Tényleges táblán alapuló nézetek 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.
Nézetek 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 alábbi szakaszok részletesebb leírást nyújtanak az egyes adathalmaztípusokról. Ha többet szeretne megtudni az adathalmaztípusok az adatfeldolgozási követelmények megvalósításához való kiválasztásáról, olvassa el a nézetek, a materializált nézetek és a streamelési táblák használatának időpontjával kapcsolatos témakört.

Streamelési tábla

A streamelési táblázat egy Delta-tábla, amely további támogatást nyújt a streameléshez vagy a növekményes adatfeldolgozáshoz. A streamelési táblák lehetővé teszik egy növekvő adatkészlet feldolgozását, amely minden sort csak egyszer kezel. Mivel a legtöbb adathalmaz folyamatosan nő az idő függvényében, a streamelési táblák a legtöbb betöltési számítási feladathoz jól használhatók. A streamelési táblák optimálisak olyan folyamatokhoz, amelyek adatfrissítést és alacsony késést igényelnek. A streamelési táblák nagy léptékű átalakításokhoz is hasznosak lehetnek, mivel az eredmények növekményesen kiszámíthatók az új adatok érkezésekor, így az eredmények naprakészek maradnak anélkül, hogy az összes forrásadatot teljesen újra kellene komponálnunk minden frissítéssel. A streamelési táblák csak hozzáfűző adatforrásokhoz készültek.

Feljegyzés

Bár a streamelési táblák alapértelmezés szerint csak hozzáfűző adatforrásokat igényelnek, ha egy streamforrás egy másik, frissítéseket vagy törléseket igénylő streamelési tábla, a skipChangeCommits jelölővel felülbírálhatja ezt a viselkedést.

Tényleges táblán alapuló nézet

A materializált nézet (vagy élő tábla) az a nézet, ahol az eredmények előre lettek lefordítva. A materializált nézetek annak a folyamatnak a frissítési ütemezése szerint frissülnek, amelyben azokat tartalmazzák. A materializált nézetek hatékonyak, mert képesek kezelni a bemenet változásait. Minden alkalommal, amikor a folyamat frissítései, lekérdezési eredményei újraszámolva lesznek, hogy tükrözzék a megfelelőség, a javítások, az összesítések vagy az általános CDC miatt esetleg bekövetkezett felsőbb rétegbeli adathalmazok változásait. A Delta Live Tables a materializált nézeteket Delta-táblákként valósítja meg, de elvonja a frissítések hatékony alkalmazásával járó összetettségeket, lehetővé téve a felhasználók számára, hogy a lekérdezések írására összpontosítsanak.

Nézetek

Az Azure Databricks számítási nézetei a lekérdezett forrásadatkészletekből származnak, kihasználva a gyorsítótárazási optimalizálásokat, ha elérhetők. A Delta Live Tables nem tesz közzé nézeteket a katalógusban, így a nézetek csak azon a folyamaton belül 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.

Az első adathalmazok deklarálása a Delta Live Tablesben

A Delta Live Tables új szintaxist vezet be a Pythonhoz és az SQL-hez. A Delta Live Tables szintaxisának használatának megkezdéséhez tekintse meg az oktatóanyag Python- és SQL-példáit : Futtassa az első Delta Live Tables-folyamatot.

Feljegyzés

A Delta Live Tables elválasztja az adathalmaz-definíciókat a frissítésfeldolgozástól, és a Delta Live Tables-jegyzetfüzetek nem interaktív végrehajtásra szolgálnak. Lásd : Mi az a Delta Live Tables-folyamat?.

Mi az a Delta Live Tables-folyamat?

A folyamat az adatfeldolgozási munkafolyamatok delta élő táblákkal való konfigurálásához és futtatásához használt fő egység.

A folyamat a Python- vagy SQL-forrásfájlokban deklarált materializált nézeteket és streamelési táblákat tartalmazza. A Delta Live Tables a táblák közötti függőségekre következtet, biztosítva, hogy a frissítések a megfelelő sorrendben történjenek. A Delta Live Tables minden adathalmaz esetében összehasonlítja az aktuális állapotot a kívánt állapottal, és hatékony feldolgozási módszerekkel hozza létre vagy frissíti az adathalmazokat.

A Delta Live Tables-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 (forráskód vagy tárak), amelyek Delta Live Tables 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 az éles folyamatok konfigurálásakor. Ezek a következők:

  • Ahhoz, hogy az adatok elérhetővé legyenek a folyamaton kívül, deklarálnia kell egy célséma közzétételét a Hive metaadattárában, vagy egy célkatalógusban és célsémaként , hogy közzétegye a Unity Catalogban.
  • 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 és a céltároló helyéhez konfigurált megfelelő engedélyekkel, ha meg van adva.

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 a Delta Live Tables SQL nyelvi referencia- és Delta Live Tables Python-nyelvi referenciáját.

A folyamatbeállításokról és konfigurációkról további információt a Delta Live Tables-folyamatok konfigurációjának kezelése című témakörben talál.

Az első folyamat üzembe helyezése és frissítések aktiválása

Mielőtt adatokat dolgoz fel a Delta Live Tables használatával, konfigurálnia kell egy folyamatot. Miután konfigurált egy folyamatot, aktiválhat egy frissítést, amely kiszámítja a folyamat egyes adathalmazainak eredményeit. A Delta Live Tables-folyamatok használatának megkezdéséhez tekintse meg az oktatóanyagot: Az első Delta Live Tables-folyamat futtatása.

Mi az a folyamatfrissítés?

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

  • Elindít egy fürtöt a megfelelő konfigurációval.
  • 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: Frissítés futtatása Delta Live Tables-folyamaton.

Adatok betöltése Delta Live-táblákkal

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

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

A felhőbeli tárolókhoz való hozzáférés konfigurálásáról további információt a Cloud Storage konfigurációja cí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 Delta Live-táblákkal.

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

Az elvárásokkal adatminőség-vezérlőket adhat meg az adathalmaz tartalmára. Ellentétben egy CHECK hagyományos adatbázis kényszerével, amely megakadályozza a meg nem bukott 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: Adatminőség kezelése Delta Live Tables használatával.

A Delta Live Tables kibővíti a Delta Lake funkcióit. Mivel a Delta Live Tables á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 Delta Live Tables a Delta Lake-ben beállítható számos táblatulajdonság mellett több táblatulajdonságokat is hozzáad. Lásd: Delta Live Tables properties reference and Delta table properties reference.

Táblák létrehozása és kezelése a Delta Live Tables használatával

Az Azure Databricks automatikusan kezeli a Delta Live Tables használatával létrehozott táblákat, és meghatározza, hogyan kell a frissítéseket feldolgozni a táblák aktuális állapotának megfelelő kiszámításához, valamint számos karbantartási és optimalizálási feladat végrehajtásához.

A legtöbb művelet esetében engedélyeznie kell a Delta Live Tables számára, hogy feldolgozzák a céltáblán lévő összes frissítést, beszúrást és törlést. További részletekért és korlátozásokért lásd: Manuális törlések vagy frissítések megtartása.

A Delta Live Tables által végrehajtott karbantartási feladatok

A Delta Live Tables karbantartási feladatokat végez egy 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 OPTIMALIZÁLási műveletet hajt végre, amelyet a VÁKUUM követ. A táblázat optimalizálása letiltható a tábla tulajdonságainak beállításávalpipelines.autoOptimize.managed = false. 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.

Korlátozások

A következő korlátozások érvényesek:

  • A Delta Live Tables által létrehozott és frissített táblák mindegyike Delta-táblák.
  • A Delta Live Tables táblákat csak egyszer lehet definiálni, ami azt jelenti, hogy csak egyetlen művelet célja lehet az összes Delta Live Table-folyamat.
  • Az identitásoszlopok nem támogatottak olyan táblákkal, amelyek célja APPLY CHANGES INTO , és újrafordíthatók a materializált nézetek frissítései során. Ezért a Databricks csak az identitásoszlopokat javasolja streamelő táblákkal a Delta Live Tablesben. Lásd: Identitásoszlopok használata a Delta Lake-ben.
  • Az Azure Databricks-munkaterületek legfeljebb 100 egyidejű folyamatfrissítésre korlátozódnak.

További erőforrások