Czym jest predykcyjne I/O?

Predykcyjne I/O to zbiór optymalizacji Azure Databricks, które przyspieszają odczyt i aktualizację danych:

  • Przyspieszone odczyty przyspieszają selektywne zapytania, które w przeciwnym razie zeskanowałyby znacznie więcej danych niż zwracają.
  • Aktualizacje przyspieszone zmniejszają ilość danych przepisywanych, gdy aktualizacja, usunięcie lub scalenie zmienia tylko kilka wierszy w pliku.

Funkcja predykcyjnego I/O jest dostępna wyłącznie dla silnika Photon w usłudze Azure Databricks. Zobacz Co to jest Photon?.

Gdy występuje predykcyjne wejście/wyjście

Predykcyjne I/O działa automatycznie. Nie włączasz go dla pojedynczych zapytań. Aby skorzystać:

Predykcyjne I/O również wypiera indeksy filtrów Bloom. Zobacz Indeksy filtrów Blooma (przestarzałe).

Przyspieszanie operacji odczytu przy użyciu predykcyjnego we/wy

Predykcyjne operacje we/wy służą do przyspieszania skanowania i filtrowania danych dla wszystkich operacji na obsługiwanych typach obliczeniowych.

Ważne

Odczyty we/wy predykcyjne są obsługiwane przez bezserwerowe magazyny SQL i magazyny SQL typu pro, oraz klastry przyspieszane przez Photon z uruchomionym Databricks Runtime 11.3 LTS i nowszymi wersjami.

Predykcyjne I/O poprawia wydajność skanowania poprzez zastosowanie technik głębokiego uczenia do:

  • Określ najefektywniejszy wzorzec dostępu do odczytu danych i skanuj tylko te dane, które są faktycznie potrzebne.
  • Wyeliminuj dekodowanie kolumn i wierszy, które nie są wymagane do generowania wyników zapytania.
  • Oblicz prawdopodobieństwo kryteriów wyszukiwania w zapytaniach selektywnych pasujących do wiersza. Podczas wykonywania zapytań Predykcyjne I/O wykorzystuje te prawdopodobieństwa do przewidzenia, gdzie pojawi się kolejny pasujący wiersz, i odczytuje tylko te dane z pamięci masowej w chmurze.

Przyspieszanie aktualizacji za pomocą predykcyjnego wejścia/wyjścia

Predykcyjne I/O dla aktualizacji jest automatycznie stosowane dla wszystkich tabel, które mają włączone wektory usuwania na tych typach obliczeń obsługujących Photon:

  • Bezserwerowe magazyny SQL.
  • Magazyny danych Pro SQL.
  • Klastry z uruchomionym środowiskiem Databricks Runtime 14.0 lub nowszym.

Uwaga

Obsługa predykcyjnego we/wy dla aktualizacji jest dostępna w środowisku Databricks Runtime 12.2 LTS i nowszych, ale Databricks zaleca użycie wersji 14.0 i nowszej, aby osiągnąć najlepszą wydajność.

Zobacz Wektory usuwania w usłudze Databricks.

Ważne

Ustawienie administratora przestrzeni roboczej decyduje, czy wektory usuwania są automatycznie włączane dla nowych tabel Delta Lake. Zobacz Automatyczne włączenie wektorów usuwania.

Obsługę wektorów usuwania w tabeli usługi Delta Lake można włączyć, ustawiając właściwość tabeli usługi Delta Lake. Włączasz wektory usuwania podczas tworzenia tabeli lub zmieniasz istniejącą tabelę, na przykład:

CREATE TABLE <table-name> [options] TBLPROPERTIES ('delta.enableDeletionVectors' = true);

ALTER TABLE <table-name> SET TBLPROPERTIES ('delta.enableDeletionVectors' = true);

Ostrzeżenie

Po włączeniu wektorów usuwania wersja protokołu tabeli zostanie uaktualniona. Po aktualizacji tabela nie jest czytelna dla klientów Delta Lake, którzy nie obsługują wektorów usuwania. Zobacz kompatybilność funkcji Delta Lake i protokoły.

Aby uzyskać listę klientów obsługujących wektory usuwania, zobacz Zgodność klienta.

W środowisku Databricks Runtime 14.1 lub nowszym można usunąć funkcję tabeli wektorów usuwania, aby umożliwić zgodność z innymi klientami delty. Zobacz Usuwanie funkcji tabeli Delta Lake i obniżanie poziomu protokołu tabeli.

Predykcyjne I/O wykorzystuje wektory usuwania do przyspieszenia aktualizacji poprzez zmniejszenie częstotliwości pełnego przepisywania plików podczas modyfikacji danych w tabelach Delta Lake. Predykcyjne wejście/wyjście optymalizuje operacje DELETE, MERGE i UPDATE .

Zamiast ponownie zapisywać wszystkie rekordy w pliku danych po zaktualizowaniu lub usunięciu dowolnego rekordu, predykcyjne we/wy używa wektorów usuwania, aby wskazać, że rekordy zostały usunięte z plików danych docelowych. Pliki danych uzupełniających służą do wskazywania aktualizacji.

Dalsze odczyty w tabeli określają bieżący stan tabeli, stosując wprowadzone zmiany do najnowszej wersji tabeli.

Ważne

Aktualizacje I/O predykcyjne dzielą wszystkie ograniczenia z wektorami usuwania. W Databricks Runtime 12.2 LTS i wyższych obowiązują następujące ograniczenia:

  • Funkcja OpenSharing nie jest obsługiwana dla tabel z włączonymi wektorami usuwania.
  • Nie można wygenerować pliku manifestu dla tabeli z obecnymi wektorami usuwania. Uruchom REORG TABLE ... APPLY (PURGE) i upewnij się, że nie są uruchomione żadne współbieżne operacje zapisu w celu wygenerowania manifestu.
  • Nie można przyrostowo wygenerować plików manifestu dla tabeli z włączonymi wektorami usuwania.