Co to jest usługa Delta Lake?
Usługa Delta Lake to zoptymalizowana warstwa magazynu, która stanowi podstawę przechowywania danych i tabel na platformie Databricks Lakehouse Platform. Usługa Delta Lake to open source oprogramowanie, które rozszerza pliki danych Parquet przy użyciu 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, dzięki czemu można łatwo używać pojedynczej kopii danych dla operacji wsadowych i przesyłania strumieniowego oraz zapewniania 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 przyczynia się do projektu open source. Wiele optymalizacji i produktów w usłudze Databricks Lakehouse Platform 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ą tabelami różnicowymi domyślnie. Niezależnie od tego, czy używasz ramek danych platformy Apache Spark, czy SQL, możesz uzyskać wszystkie korzyści 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 ma 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 szereg 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
- Konwertowanie danych Parquet lub Iceberg na delta Lake
- Partnerzy innych firm
Aby uzyskać pełną listę opcji pozyskiwania, zobacz Ładowanie danych do usługi Azure Databricks Lakehouse.
Aktualizowanie i modyfikowanie tabel usługi Delta Lake
Transakcje niepodzielne z usługą Delta Lake oferują 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 upserts przy użyciu operacji scalania.
- Usługa Delta Lake oferuje wiele opcji selektywnego zastępowania na podstawie filtrów i partycji.
- Możesz ręcznie lub automatycznie zaktualizować schemat tabeli bez ponownego zapisywania danych.
- Mapowanie kolumn umożliwia zmianę nazwy lub usunięcie kolumn bez ponownego zapisywania danych.
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 przy użyciu uproszczonego wdrażania infrastruktury, rozszerzonego skalowania i zależności danych zarządzanych.
- Strumieniowy odczyt i zapis w tabeli
- Używanie źródła danych zmian usługi Delta Lake w usłudze Azure Databricks
- Włączanie idempotentnych zapisów między zadaniami
Wykonywanie zapytań dotyczących poprzednich wersji tabeli
Każdy zapis w tabeli delty tworzy nową wersję tabeli. Dziennik transakcji służy do przeglądania modyfikacji tabeli i wykonywania zapytań względem poprzednich wersji tabeli. Zobacz Praca z historią tabel usługi Delta Lake.
Ulepszenia schematu usługi Delta Lake
Usługa Delta Lake weryfikuje schemat zapisu, zapewniając, że wszystkie dane zapisane w tabeli spełniają ustawione wymagania.
- Weryfikacja schematu usługi Delta Lake
- Ograniczenia dotyczące usługi Azure Databricks
- Używanie kolumn wygenerowanych przez usługę Delta Lake
- Wzbogacanie tabel usługi Delta Lake przy użyciu niestandardowych metadanych
Zarządzanie plikami i indeksowaniem danych za pomocą usługi Delta Lake
Usługa Azure Databricks ustawia wiele parametrów domyślnych dla usługi Delta Lake, które mają wpływ na rozmiar plików danych i liczbę wersji tabeli przechowywanych w historii. Usługa Delta Lake używa kombinacji analizowania metadanych i układu danych fizycznych, aby zmniejszyć liczbę plików skanowanych w celu spełnienia dowolnego zapytania.
- Pomijanie danych za pomocą indeksów kolejności Z dla usługi Delta Lake
- Kompaktowanie plików danych przy użyciu optymalizacji w usłudze Delta Lake
- 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 dla 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.
- Przeglądanie szczegółów tabeli usługi Delta Lake z opisem szczegółów
- Dokumentacja właściwości tabeli delty
- Konfigurowanie poświadczeń magazynu dla usługi Delta Lake
Potoki danych korzystające z usług Delta Lake i delta Live Tables
Usługa Azure Databricks zachęca użytkowników do wykorzystania architektury medalonu do przetwarzania danych za pośrednictwem serii tabel, ponieważ dane są czyszczone i wzbogacone. Delta Live Tables upraszcza obciążenia ETL dzięki zoptymalizowanemu wykonywaniu i zautomatyzowanemu wdrażaniu i skalowaniu infrastruktury. Zobacz Przewodnik Szybki start dotyczący tabel delta Live Tables.
Rozwiązywanie problemów z funkcjami usługi Delta Lake
Nie wszystkie funkcje usługi Delta Lake są we wszystkich wersjach środowiska Databricks Runtime. Informacje na temat przechowywania wersji usługi Delta Lake i odpowiedzi na często zadawane pytania można znaleźć w następujących artykułach:
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 ramki danychSpark SQL lub Apache Spark.
Aby zapoznać się z instrukcjami SQL usługi Delta Lake, zobacz 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 macierz zgodności interfejsu API usługi Delta Lake. Interfejsy API usługi Delta Lake istnieją dla języków Python, Scala i Java: