Co to jest Delta Lake?

Usługa Delta Lake to zoptymalizowana warstwa magazynu, która stanowi podstawę dla tabel w usłudze Lakehouse w usłudze Databricks. Delta Lake to oprogramowanie typu open source, które rozszerza pliki danych Parquet za pomocą dziennika transakcji opartego na plikach na potrzeby transakcji ACID i skalowalnej obsługi metadanych. Usługa Delta Lake jest w pełni zgodna z interfejsami API platformy Apache Spark i została opracowana w celu ścisłej integracji ze strukturą przesyłania strumieniowego, co umożliwia łatwe używanie pojedynczej kopii danych zarówno dla operacji wsadowych, jak i przesyłania strumieniowego oraz zapewnianie przyrostowego przetwarzania na dużą skalę.

Usługa Delta Lake jest domyślnym formatem magazynu dla wszystkich operacji w usłudze Azure Databricks. Jeśli nie określono inaczej, wszystkie tabele w usłudze Azure Databricks to tabele różnicowe. Usługa Databricks pierwotnie opracowała protokół Delta Lake i nadal aktywnie współtworzy projekt open source. Wiele optymalizacji i produktów na platformie Databricks opiera się na gwarancjach oferowanych przez platformę Apache Spark i Delta Lake. Aby uzyskać informacje na temat optymalizacji w usłudze Azure Databricks, zobacz Zalecenia dotyczące optymalizacji w usłudze Azure Databricks.

Aby uzyskać informacje na temat poleceń usługi Delta Lake SQL, zobacz Instrukcje usługi Delta Lake.

Dziennik transakcji usługi Delta Lake ma dobrze zdefiniowany otwarty protokół, który może być używany przez dowolny system do odczytywania dziennika. Zobacz Protokół dziennika transakcji różnicowych.

Wprowadzenie do usługi Delta Lake

Wszystkie tabele w usłudze Azure Databricks są domyślnie tabelami delty. Niezależnie od tego, czy używasz ramek danych platformy Apache Spark, czy sql, możesz uzyskać wszystkie korzyści wynikające z usługi Delta Lake, zapisując dane w usłudze Lakehouse przy użyciu ustawień domyślnych.

Aby zapoznać się z przykładami podstawowych operacji usługi Delta Lake, takich jak tworzenie tabel, odczytywanie, zapisywanie i aktualizowanie danych, zobacz Samouczek: usługa Delta Lake.

Usługa Databricks zawiera wiele zaleceń dotyczących najlepszych rozwiązań dotyczących usługi Delta Lake.

Konwertowanie i pozyskiwanie danych do usługi Delta Lake

Usługa Azure Databricks udostępnia wiele produktów, które przyspieszają i upraszczają ładowanie danych do usługi LakeHouse.

Aby uzyskać pełną listę opcji pozyskiwania, zobacz Pozyskiwanie danych do usługi Databricks Lakehouse.

Aktualizowanie i modyfikowanie tabel usługi Delta Lake

Transakcje niepodzielne w usłudze Delta Lake zapewniają wiele opcji aktualizowania danych i metadanych. Usługa Databricks zaleca unikanie bezpośredniej interakcji z plikami dziennika danych i transakcji w katalogach plików usługi Delta Lake, aby uniknąć uszkodzenia tabel.

Obciążenia przyrostowe i przesyłane strumieniowo w usłudze Delta Lake

Usługa Delta Lake jest zoptymalizowana pod kątem przesyłania strumieniowego ze strukturą w usłudze Azure Databricks. Delta Live Tables rozszerza możliwości natywne dzięki uproszczonej wdrażaniu infrastruktury, ulepszonym skalowaniu i zarządzanym zależnościom danych.

Wykonywanie zapytań względem poprzednich wersji tabeli

Każdy zapis w tabeli Delta tworzy nową wersję tabeli. Możesz użyć dziennika transakcji, aby przejrzeć modyfikacje tabeli i zapytać o poprzednie wersje tabeli. Zobacz Praca z historią tabel platformy Delta Lake.

Ulepszenia schematu usługi Delta Lake

Usługa Delta Lake weryfikuje schemat zapisu, upewniając się, że wszystkie dane zapisane w tabeli są zgodne z ustawionymi wymaganiami.

Zarządzanie plikami i indeksowaniem danych za pomocą usługi Delta Lake

Usługa Azure Databricks ustawia wiele domyślnych parametrów usługi Delta Lake, które mają wpływ na rozmiar plików danych i liczbę wersji tabel przechowywanych w historii. Usługa Delta Lake używa kombinacji analizowania metadanych i układu danych fizycznych, aby zmniejszyć liczbę skanowanych plików w celu spełnienia dowolnego zapytania.

Konfigurowanie i przeglądanie ustawień usługi Delta Lake

Usługa Azure Databricks przechowuje wszystkie dane i metadane tabel usługi Delta Lake w magazynie obiektów w chmurze. Wiele konfiguracji można ustawić na poziomie tabeli lub w sesji platformy Spark. Możesz przejrzeć szczegóły tabeli delty, aby dowiedzieć się, jakie opcje są skonfigurowane.

Potoki danych korzystające z usług Delta Lake i delta Live Tables

Usługa Azure Databricks zachęca użytkowników do korzystania z architektury medalionu do przetwarzania danych za pośrednictwem serii tabel w miarę czyszczenia i wzbogacania danych. Delta Live Tables upraszcza obciążenia ETL dzięki zoptymalizowanemu wykonywaniu i zautomatyzowanemu wdrażaniu i skalowaniu infrastruktury.

Zgodność funkcji usługi Delta Lake

Nie wszystkie funkcje usługi Delta Lake są we wszystkich wersjach środowiska Databricks Runtime. Aby uzyskać informacje na temat przechowywania wersji usługi Delta Lake, zobacz Jak usługa Azure Databricks zarządza zgodnością funkcji usługi Delta Lake?.

Dokumentacja interfejsu API usługi Delta Lake

W przypadku większości operacji odczytu i zapisu w tabelach delty można użyć interfejsów API spark SQL lub Apache Spark DataFrame .

Instrukcje języka SQL usługi Delta Lake można znaleźć w temacie Instrukcje usługi Delta Lake.

Usługa Azure Databricks zapewnia zgodność binarną z interfejsami API usługi Delta Lake w środowisku Databricks Runtime. Aby wyświetlić wersję interfejsu API usługi Delta Lake spakowana w każdej wersji środowiska Databricks Runtime, zobacz sekcję Środowisko systemowe w odpowiednim artykule w informacjach o wersji środowiska Databricks Runtime. Aby uzyskać dokumentację dotyczącą interfejsów API usługi Delta Lake dla języków Python, Scala i Java, zobacz dokumentację usługi Delta Lake systemu operacyjnego.