Udostępnij za pośrednictwem


Co to jest Delta Lake?

Delta Lake to zoptymalizowana warstwa przechowywania, która stanowi podstawę dla tabel w koncepcji lakehouse na platformie 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 dla wszystkich operacji w usłudze Azure Databricks. Jeśli nie określono inaczej, wszystkie tabele w usłudze Azure Databricks to tabele Delta. 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 Delta.

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 DataFrame Apache Spark, czy SQL, możesz uzyskać wszystkie korzyści Delta Lake, zapisując dane w 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 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 w Azure Databricks lakehouse.

Aktualizowanie i modyfikowanie tabel usługi Delta Lake

Transakcje atomowe w 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 strumieniowe w Delta Lake

Delta Lake jest zoptymalizowane pod kątem zorganizowanego strumieniowania na platformie Azure Databricks. DLT rozszerza możliwości natywne dzięki uproszczonemu wdrożeniu infrastruktury, ulepszonemu 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 Delta Lake.

Ulepszenia schematu usługi Delta Lake

Usługa Delta Lake weryfikuje schemat podczas zapisu, zapewniając, że wszystkie dane zapisane w tabeli spełniają określone wymagania.

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 wykorzystujące Delta Lake i DLT

Usługa Azure Databricks zachęca użytkowników do korzystania z architektury medaliowej do przetwarzania danych za pośrednictwem serii tabel w trakcie procesów czyszczenia i wzbogacania danych. DLT 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 Delta można użyć interfejsów API Spark SQL lub Apache Spark DataFrame.

Instrukcje SQL specyficzne dla 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ę interfejsów API Delta Lake dla języków Python, Scala i Java, odnieś się do dokumentacji OSS Delta Lake.