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 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.
- Tabele na żywo delty:
- COPY INTO
- Moduł ładujący automatycznie
- Dodawanie interfejsu użytkownika danych
- Przyrostowe konwertowanie danych Parquet lub Iceberg na usługę Delta Lake
- Jednorazowa konwersja danych Parquet lub Iceberg na delta lake
- Partnerzy innych firm
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.
- Usługa Delta Lake obsługuje operacje upsert przy użyciu operacji scalania. Zobacz operacje Upsert w tabeli usługi Delta Lake przy użyciu scalania.
- Usługa Delta Lake oferuje wiele opcji selektywnego zastępowania na podstawie filtrów i partycji. Zobacz Selektywne zastępowanie danych za pomocą usługi Delta Lake.
- Schemat tabeli można aktualizować ręcznie lub automatycznie bez ponownego zapisywania danych. Zobacz Aktualizowanie schematu tabeli usługi Delta Lake.
- Włącz mapowanie kolumn w celu zmiany nazwy lub usunięcia kolumn bez ponownego zapisywania danych. Zobacz Zmienianie nazwy i usuwanie kolumn za pomocą mapowania kolumn usługi Delta Lake.
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.
- Funkcja delta table przesyła strumieniowo odczyty i zapisy
- Używanie zestawienia danych zmian usługi Delta Lake w usłudze Azure Databricks
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.
- Wymuszanie schematu
- Ograniczenia usługi Azure Databricks
- Kolumny wygenerowane przez usługę Delta Lake
- Wzbogacanie tabel usługi Delta Lake za pomocą niestandardowych metadanych
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.
- Używanie płynnego klastrowania dla tabel delty
- Pomijanie danych dla usługi Delta Lake
- Optymalizowanie układu pliku danych
- Usuwanie nieużywanych plików danych z próżnią
- Konfigurowanie usługi Delta Lake w celu kontrolowania rozmiaru pliku danych
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 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ę 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.