Udostępnij przez


Czym jest predykcyjne I/O?

Predykcyjne we/wy to kolekcja optymalizacji usługi Azure Databricks, które zwiększają wydajność interakcji z danymi. Możliwości we/wy predykcyjne są pogrupowane w następujące kategorie:

  • Przyspieszone operacje odczytu skracają czas skanowania i odczytu danych.
  • Przyspieszone aktualizacje zmniejszają ilość danych, które należy przepisać podczas aktualizacji, usuwania i scalania.

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

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 we/wy zwiększają wydajność skanowania przez zastosowanie technik uczenia głębokiego w celu wykonania następujących czynności:

  • Określ najbardziej wydajny wzorzec dostępu do odczytywania danych i skanowania tylko potrzebnych danych.
  • 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ń używamy tych prawdopodobieństw, aby przewidzieć, gdzie wystąpi następny pasujący wiersz i odczytać tylko te dane z magazynu w chmurze.

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

Predykcyjne operacje we/wy dla aktualizacji są używane automatycznie dla wszystkich tabel z włączonymi wektorami usuwania przy użyciu następujących typów obliczeniowych z obsługą technologii 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 Co to są wektory usuwania?.

Ważne

Ustawienie administratora obszaru roboczego określa, czy wektory usuwania są automatycznie włączone dla nowych tabel delty. 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. Można włączyć wektory usuwania podczas tworzenia tabeli lub zmienić istniejącą tabelę, jak w następujących przykładach:

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 uaktualnieniu tabela nie będzie czytelna dla klientów usługi 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ść z klientami Delta.

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.

Operacje I/O predykcyjne wykorzystują wektory usuwania, aby przyspieszyć aktualizacje przez zmniejszenie częstotliwości ponownego zapisywania pełnych plików podczas modyfikacji danych w tabelach Delta. 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 środowisku Databricks Runtime 12.2 LTS i nowszym istnieją następujące ograniczenia:

  • Delta Sharing nie jest obsługiwane w tabelach 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.