Mi az a Delta Lake?
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 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-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
Az Azure Databricks összes táblája alapértelmezés szerint Delta-táblák. Függetlenül attól, hogy Apache Spark DataFrames vagy 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 oktatóanyagot: Delta Lake.
A Databricks számos javaslattal rendelkezik a Delta Lake ajánlott eljárásaihoz.
Adatok konvertálása és betöltése Delta Lake-be
Az Azure Databricks számos terméket kínál az adatok tóházba való betöltésének felgyorsításához és egyszerűsítéséhez.
DLT:
Parquet- vagy Iceberg-adatok fokozatos konvertálása Delta Lake-vé
Parquet- vagy Iceberg-adatok egyszeri átalakítása Delta Lake-nek
A betöltési lehetőségek teljes listáját lásd a Azure Databricks lakehouse-való adatok betöltése című résznél.
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 kínálnak az adatok és metaadatok frissítésére. A Databricks azt javasolja, hogy ne lépjen kapcsolatba közvetlenül az adat- és tranzakciónapló-fájlokkal a Delta Lake fájlkönyvtárakban, hogy elkerülje a táblák károsodását.
- A Delta Lake támogatja az upserts szolgáltatást az egyesítési művelettel. Lásd: Az Upsert használata egy Delta Lake-táblához történő egyesítéssel.
- A Delta Lake számos lehetőséget kínál a szűrők és partíciók alapján történő szelektív felülírásokhoz. Lásd: Adatok szelektív felülírása a Delta Lake használatával.
- A táblázatsémát manuálisan vagy automatikusan frissítheti az adatok újraírása nélkül. Lásd Delta Lake táblázatséma frissítése.
- Az oszlopok leképezésének engedélyezése az oszlopok átnevezéséhez vagy törléséhez az adatok újraírása nélkül. Lásd Oszlopok átnevezése és eltávolítása a Delta Lake oszlop-térképezéssel.
Inkrementális és streamelési munkaterhelések a Delta Lake-en
A Delta Lake strukturált streamelésre van optimalizálva az Azure Databricksben. DLT kibővíti a natív képességeket az egyszerűsített infrastruktúra-üzembe helyezéssel, a továbbfejlesztett skálázással és a felügyelt adatfüggőségekkel.
- Delta táblázat streaming olvasások és írások
- Delta Lake change data feed használata az Azure Databricks környezetében
Tábla korábbi verzióinak lekérdezése
Minden írás egy Delta-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: Dolgozzon a Delta Lake táblatörténetével.
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.
- sémaérvényesítés
- Az Azure Databricks korlátozásai
- Delta Lake által létrehozott oszlopok
- Delta Lake-táblák bővítése egyéni metaadatokkal
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.
- Folyékony klaszterezés a Delta táblákhoz
- Adatkihagyás a Delta Lake-ben
- Adatfájlelrendezés optimalizálása
- Törölje a fel nem használt adatfájlokat a VACUUM segítségével
- A Delta Lake konfigurálása az adatfájl méretének szabályozásához
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-tábla részleteit áttekintve megtudhatja, hogy milyen beállítások vannak konfigurálva.
- Delta Lake tábla részleteinek megtekintése a 'describe detail' parancs segítségével
- Delta-tábla tulajdonságainak referencia-
Adatfeldolgozó csatornák Delta Lake és DLT használatával
Az Azure Databricks arra ösztönzi a felhasználókat, hogy medálarchitektúra segítségével 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. DLT- optimalizált végrehajtással és automatizált infrastruktúra-telepítéssel és skálázással leegyszerűsíti 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. További információ a Delta Lake verziószámozásáról: Hogyan kezeli az Azure Databricks a Delta Lake-funkciók kompatibilitását?
A Delta Lake API dokumentációja
A Delta-táblák legtöbb olvasási és írási műveletéhez használhat Spark SQL vagy Apache Spark DataFrame API-kat.
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.