Mi az a Delta Lake az Azure Databricksben?

A Delta Lake az optimalizált tárolási réteg, amely a Databricks-en található Lakehouse tábláinak alapjául szolgál. A Delta Lake egy nyílt forráskódú szoftver , amely kibővíti a Parquet-adatfájlokat egy fájlalapú tranzakciónaplóval az ACID-tranzakciókhoz és a skálázható metaadatok kezeléséhez. A Delta Lake teljes mértékben kompatibilis az Apache Spark API-kkal, és a strukturált streameléssel való szoros integráció érdekében fejlesztették ki, így könnyedén használhatja az adatok egyetlen másolatát a kötegelt és a streamelési műveletekhez, valamint növekményes feldolgozást biztosít nagy méretekben.

A Delta Lake az Azure Databricks összes műveletének alapértelmezett formátuma. Ha másként nincs megadva, az Azure Databricks összes táblája Delta Lake-tábla. A Databricks eredetileg kifejlesztette a Delta Lake protokollt, és továbbra is aktívan hozzájárul a nyílt forráskód projekthez. A Databricks platform számos optimalizálása és terméke az Apache Spark és a Delta Lake által biztosított garanciákra épül. Az Azure Databricks optimalizálásával kapcsolatos információkért tekintse meg az Azure Databricksre vonatkozó optimalizálási javaslatokat.

A Delta Lake SQL-parancsokkal kapcsolatos referenciainformációkat a Delta Lake-utasításokban talál.

A Delta Lake tranzakciónaplója egy jól definiált nyílt protokollt használ, amelyet bármely rendszer használhat a napló olvasásához. Lásd: Delta Transaction Log Protocol.

Bevezetés a Delta Lake használatába

A Azure Databricks minden táblája alapértelmezés szerint Delta Lake-táblák. Akár Apache Spark DataFrame-et , akár SQL-t használ, a Delta Lake minden előnyét csak úgy érheti el, ha az alapértelmezett beállításokkal menti az adatokat a lakehouse-ba.

Az olyan alapvető Delta Lake-műveletekre, mint például a táblák létrehozása, az adatok olvasása, írása és frissítése, lásd az oktatóanyagot: Delta Lake-táblák létrehozása és kezelése.

A Databricksnek a Delta Lake használatával kapcsolatos ajánlott eljárásait a Delta Lake ajánlott eljárásaiban találhatja meg.

Adatok konvertálása és betöltése Delta Lake-be

Azure Databricks számos funkcióval rendelkezik, amelyekkel felgyorsíthatja és leegyszerűsítheti az adatok tóházba való betöltését.

Módszer Description
Oktatóanyag: ETL-folyamat létrehozása Lakeflow-folyamatokkal Hozzon létre egy végpontok közötti ETL-folyamatot a Lakeflow-folyamatok használatával.
Növekményes betöltés beállítása az Azure Data Lake Storage-ről Növekményes betöltés beállítása a felhőbeli tárolóból az Automatikus betöltő és a Lakeflow-folyamatok használatával.
adatfolyam táblák Használjon streamelési táblákat csak hozzáfűzéses adatbetöltéshez és alacsony késleltetésű streaminghez a Lakeflow-pipeline-okban.
COPY INTO használatának első lépései az adatok betöltéséhez Adatok betöltése növekményesen és idempotensen a felhőbeli tárolóból az SQL használatával.
Mi az automatikus betöltő? A fájlok növekményes betöltése a felhőalapú tárolóból, ahogy beérkeznek.
Tábla létrehozása vagy módosítása fájl feltöltésével Töltsön fel fájlokat, és hozzon létre táblákat a Azure Databricks felhasználói felületéről.
Parquet- és Apache Iceberg-táblák növekményes klónozása Delta Lake-be Klónozzon Parquet- vagy Apache Iceberg-táblákat növekményesen a Delta Lake-be.
Konvertálás Delta Lake-vé Parquet- vagy Apache Iceberg-táblák egyszeri konvertálása Delta Lake formátumba.
Technológiai partnerek Külső partnerek és eszközök csatlakoztatása a Azure Databricks lakehouse-hoz.

Az adatbetöltési lehetőségek teljes listáját lásd itt: Válasszon egy szabványos csatlakozót.

Delta Lake-táblák frissítése és módosítása

A Delta Lake-nel végzett atomtranzakciók számos lehetőséget lehetővé teszik az adatok és metaadatok frissítésére. A táblák sérülésének elkerülése érdekében a Databricks azt javasolja, hogy kerülje az adatfájlokkal és a tranzakciónapló-fájlokkal való közvetlen interakciót a Delta Lake fájlkönyvtáraiban.

Operation Description
Rekordok beszúrása vagy frissítése Delta Lake-táblába merge használatával Az egyesítési művelettel adatokat állíthat be egy Delta Lake-táblába.
Adatok szelektív felülírása a Delta Lake használatával Az adatok részhalmazainak felülírása szűrők és partíciók alapján.
Táblaséma frissítése sémafejlődéssel A táblaséma manuális vagy automatikus frissítése adatok újraírása nélkül.
Oszlopok átnevezése és törlése a Delta Lake oszloptérképezéssel Oszlopok átnevezése vagy törlése adatok újraírása nélkül.

Inkrementális és streamelési munkaterhelések a Delta Lake-en

A Delta Lake strukturált streamelésre van optimalizálva az Azure Databricksben. A Lakeflow-folyamatok egyszerűsített infrastruktúra-üzembe helyezéssel, továbbfejlesztett skálázással és felügyelt adatfüggőségekkel bővítik a beépített képességeket.

Funkció Description
Delta Lake-táblastreamelés olvasása és írása Használjon Delta Lake-táblákat forrásként és nyelőként a Structured Streaminghez readStream és writeStream használatával.
Az adatváltozási hírcsatorna használata az Azure Databricksben A Delta Lake vagy az Apache Iceberg v3-tábla verziói közötti sorszintű változások nyomon követése.

Tábla korábbi verzióinak lekérdezése

Minden írás egy Delta Lake-táblába új táblaverziót hoz létre. A tranzakciónaplóval áttekintheti a tábla módosításait, és lekérdezheti a korábbi táblaverziókat. Lásd: Táblázatelőzmények megjelenítése.

Delta Lake-séma fejlesztései

A Delta Lake ellenőrzi az írási sémát, biztosítva, hogy a táblába írt összes adat megfeleljen a beállított követelményeknek.

Funkció Description
Sémakényszerítés Az adatminőség ellenőrzése a séma íráskor történő kényszerítésével.
Az Azure Databricks korlátozásai Érvényesített integritási korlátozások és információs elsődleges kulcs, idegen kulcs és egyedi korlátozások alkalmazása.
Delta Lake által létrehozott oszlopok Oszlopértékek automatikus létrehozása felhasználó által megadott függvényekkel.
Táblák bővítése egyéni metaadatokkal Megjegyzések és egyéni metaadatok hozzáadása táblákhoz és oszlopokhoz az adatfelderítés bővítése érdekében.

Fájlok kezelése és adatok indexelése a Delta Lake használatával

Az Azure Databricks számos alapértelmezett paramétert állít be a Delta Lake-hez, amelyek befolyásolják az adatfájlok méretét és az előzményekben megtartott táblaverziók számát. A Delta Lake metaadat-elemzés és fizikai adatelrendezés kombinációjával csökkenti a beolvasott fájlok számát a lekérdezések teljesítéséhez.

Funkció Description
Folyékony csoportosítás alkalmazása táblákhoz Egyszerűsítheti az adatelrendezést, és optimalizálhatja a lekérdezési teljesítményt particionálás nélkül, folyékony fürtözés használatával.
Adatátugrás Kihagyhatja az irreleváns fájlokat lekérdezéskor az oszlopstatisztikák, a Z-sorrend és az optimalizált adatelrendezés használatával.
Adatfájl elrendezésének optimalizálása Kisméretű adatfájlok tömörítése a lekérdezési teljesítmény javítása érdekében.
A fel nem használt adatfájlok eltávolítása vákuummal Távolítsa el az elavult adatfájlokat a tárolási költségek csökkentése érdekében.
Sorok automatikus törlése automatikus élettartam (TTL) használatával A konfigurálható időszak után automatikusan törölhet sorokat a felügyelt táblákból.
Adatfájl méretének szabályozása Manuálisan szabályozhatja a célfájl méretét, vagy engedélyezheti az automatikus fájlméret-finomhangolást.

A Delta Lake beállításainak konfigurálása és áttekintése

Az Azure Databricks a Delta Lake-táblák összes adatát és metaadatait a felhőobjektum-tárolóban tárolja. Számos konfiguráció beállítható a tábla szintjén vagy a Spark-munkameneten belül. A Delta Lake-tábla részleteit áttekintve megtudhatja, hogy milyen beállítások vannak konfigurálva.

Funkció Description
A táblázat részleteinek áttekintése részletes leírással A parancs használatával megtekintheti a táblakonfigurációkat és a DESCRIBE DETAIL metaadatokat.
Táblatulajdonságok referenciája A Delta Lake-táblákhoz elérhető táblázattulajdonságok referencialistája.

Delta Lake- és Lakeflow-folyamatokat használó adatfolyamok

Az Azure Databricks arra ösztönzi a felhasználókat, hogy egy medallion architektúrát használva dolgozzanak fel adatokat táblák sorozatán keresztül, miközben az adatok megtisztítása és bővítése történik. A Lakeflow-folyamatok optimalizált végrehajtással és automatizált infrastruktúra-üzembe helyezéssel és skálázással egyszerűsítik az ETL-számítási feladatokat.

Delta Lake-funkciók kompatibilitása

Nem minden Delta Lake-funkció található a Databricks Runtime összes verziójában. A Delta Lake verziószámozásával kapcsolatos információkért tekintse meg a Delta Lake funkciókompatibilitását és protokolljait.

A Delta Lake API dokumentációja

A Delta Lake-táblákon végzett olvasási és írási műveletek többségéhez Spark SQL - vagy Apache Spark DataFrame API-kat használhat.

A Delta Lake-specifikus SQL-utasításokért lásd a Delta Lake-utasításokat.

Az Azure Databricks bináris kompatibilitást biztosít a Delta Lake API-kkal a Databricks Runtime-ban. Az egyes Databricks Runtime-verziókba csomagolt Delta Lake API-verzió megtekintéséhez tekintse meg a Databricks Runtime kibocsátási megjegyzéseiben található vonatkozó cikk Rendszerkörnyezet szakaszát. A Pythonhoz, Scalához és Java-hoz készült Delta Lake API-k dokumentációját az OSS Delta Lake dokumentációjában találja.