Co to jest Delta Lake?
Delta Lake to zoptymalizowana warstwa przechowywania, która stanowi podstawę tables w 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. O ile nie określono inaczej, wszystkie tables w Azure Databricks to Delta tables. 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 tables na platformie Azure Databricks są domyślnie Delta tables. Niezależnie od tego, czy używasz ramek danych platformy Apache Spark , czy SQL, get wszystkie zalety usługi Delta Lake, zapisując dane w usłudze Lake przy użyciu ustawień domyślnych.
Aby zapoznać się z przykładami podstawowych operacji usługi Delta Lake, takich jak tworzenie tables, odczytywanie, zapisywanie i aktualizowanie danych, zobacz Tutorial: 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.
- Delta Live Tables:
- 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 importu, zobacz Import danych do Databricks lakehouse.
aktualizowanie i modyfikowanie usługi Delta Lake tables
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 Delta Lake, aby uniknąć uszkodzenia tables.
- Usługa Delta Lake obsługuje operacje upsert przy użyciu operacji scalania. Zobacz Upsert w usłudze Delta Lake table za pomocą operacji 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.
- Możesz ręcznie lub automatycznie wykonać update na swoim tableschema bez ponownego zapisywania danych. Zobacz Update Delta Lake tableschema.
- Włącz mapowanie columns, aby zmienić nazwę lub usunąć columns bez ponownego zapisywania danych. Zobacz Zmiana nazwy i usuwanie columns z mapowaniem Delta Lake column.
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 uproszczonemu wdrażaniu infrastruktury, ulepszonemu skalowaniu i zarządzanym zależnościom danych.
- Delta table odczyty i zapisy przesyłane strumieniowo
- Używanie zestawienia danych zmian usługi Delta Lake w usłudze Azure Databricks
Wykonywanie zapytań dotyczących wcześniejszych wersji table
Każdy zapis w usłudze Delta table tworzy nową wersję table. Dziennik transakcji służy do przeglądania modyfikacji table i uzyskiwania dostępu do poprzednich wersji table. Zobacz Pracuj z historią Delta Lake table.
Ulepszenia usługi Delta Lake schema
Usługa Delta Lake weryfikuje schema podczas zapisu, upewniając się, że wszystkie dane zapisane w table spełniają wymagania, które ustaliłeś set.
- Schema wymuszanie
- Ograniczenia usługi Azure Databricks
- Delta Lake wygenerowany columns
- Wzbogać Delta Lake tables niestandardowymi metadanymi
Zarządzanie plikami i indeksowaniem danych za pomocą usługi Delta Lake
Usługa Azure Databricks ustawia wiele domyślnych parameters dla usługi Delta Lake, które mają wpływ na rozmiar plików danych i liczbę table wersji 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 klastrowania liquid na potrzeby tables delta
- Pomijanie danych dla usługi Delta Lake
- Optimize układu pliku danych
- Remove nieużywane pliki danych z vacuum
- 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 usługi Delta Lake tables w magazynie obiektów w chmurze. Wiele konfiguracji można set na poziomie table lub w sesji platformy Spark. Możesz przejrzeć szczegóły Delta table, aby dowiedzieć się, jakie opcje są skonfigurowane.
- Przejrzyj szczegóły Delta Lake table używając opcji opisu szczegółowego
- table właściwości różnicowych
Potoki danych korzystające z usługi Delta Lake i usługi Delta Live Tables
Usługa Azure Databricks zachęca użytkowników do korzystania z architektury medalionu do przetwarzania danych za pośrednictwem serii tables 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 usłudze Delta tablesmoż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.