Mi az a Delta Lake?
A Delta Lake az optimalizált tárolási réteg, amely a databricks-i tóházban lévő táblák alapjait biztosítja. 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ábla. 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.
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.
- Delta Live Tables:
- COPY INTO
- Automatikus betöltő
- Adat felhasználói felület hozzáadása
- Parquet- vagy Iceberg-adatok növekményes konvertálása Delta Lake-vé
- Parquet- vagy Iceberg-adatok egyszeri átalakítása Delta Lake-nek
- Külső partnerek
A betöltési lehetőségek teljes listáját a Databricks lakehouse-ba történő adatbetöltés című témakörben találja.
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 a táblák sérülésének elkerülése érdekében ne használjon közvetlenül adat- és tranzakciónapló-fájlokat a Delta Lake-fájlkönyvtárakban.
- A Delta Lake támogatja az upserts szolgáltatást az egyesítési művelettel. Tekintse meg az Upsertet egy Delta Lake-táblában az egyesítés használatával.
- 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áblasé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 elvetése Delta Lake-oszlopleképezéssel.
Növekményes és streamelési számítási feladatok a Delta Lake-en
A Delta Lake strukturált streamelésre van optimalizálva az Azure Databricksben. A Delta Live Tables kiterjeszti a natív képességeket az egyszerűsített infrastruktúra üzembe helyezésével, a továbbfejlesztett skálázással és a felügyelt adatfüggőségekkel.
- Delta-táblastreamelés olvasása és írása
- Delta Lake change data feed használata az Azure Databricksben
Egy 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: A Delta Lake-táblaelőzmények működé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.
- Sémakényszerí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 fürtözés használata Delta-táblákhoz
- Adatátugrás a Delta Lake-hez
- Adatfájl elrendezésének optimalizálása
- A fel nem használt adatfájlok eltávolítása vákuummal
- 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.
- A Delta Lake-tábla részleteinek áttekintése részletes leírással
- Delta-tábla tulajdonságainak referenciája
Data pipelines using Delta Lake and Delta Live Tables
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 Delta Live Tables optimalizált végrehajtással és automatizált infrastruktúra-telepítéssel és skálázással egyszerű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ákon végzett legtöbb olvasási és írási művelethez HasználhatJa a Spark SQL-t vagy az Apache Spark DataFrame API-kat.
A Delta Lake-spefic 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.