Udostępnij za pośrednictwem


Notatki o wersji Databricks SQL 2026

W 2026 r. wydano następujące funkcje i ulepszenia języka SQL usługi Databricks.

Marzec 2026 r.

Usługa Databricks SQL w wersji 2026.10 jest teraz dostępna w wersji zapoznawczej

26 marca 2026 r.

Databricks SQL w wersji 2026.10 jest teraz dostępny w kanale Preview. Zapoznaj się z poniższą sekcją, aby dowiedzieć się więcej o nowych funkcjach, zmianach zachowań i poprawkach błędów.

Błędy w metrykach obserwacyjnych nie powodują już niepowodzeń zapytań

Błędy podczas zbierania metryk obserwacji nie powodują już błędów wykonywania zapytań. Wcześniej błędy w OBSERVE klauzulach (takich jak dzielenie według zera) mogły blokować lub prowadzić niepowodzenie całego zapytania. Teraz zapytanie zakończy się pomyślnie, a podczas wywoływania observation.get zostanie zgłoszony błąd.

Klauzula FILTER dla funkcji agregujących MEASURE

Funkcje agregujące MEASURE obsługują teraz klauzule FILTER. Wcześniej filtry były ignorowane w trybie dyskretnym.

Zoptymalizowane zapisy dla operacji Unity Catalog CRTAS

UTWÓRZ LUB ZASTĄP TABLE W SELECT (CRTAS) operacje na partycjonowanych tabelach Unity Catalog domyślnie stosują zoptymalizowane zapisy, generując mniej, ale większych plików. Aby wyłączyć, ustaw spark.databricks.delta.optimizeWrite.UCTableCRTAS.enabled na false.

Wartości partycji znacznika czasu używają strefy czasowej sesji

Wartości partycji sygnatury czasowej używają teraz strefy czasowej sesji usługi SQL Warehouse. Jeśli masz partycje sygnatury czasowej utworzone przed wersją Databricks SQL 2025.40, uruchom polecenie SHOW PARTITIONS, aby zweryfikować metadane partycji przed zapisaniem nowych danych.

DESCRIBE FLOW reserved keyword (OPIS ZAREZERWOWANEGO SŁOWA kluczowego FLOW)

Polecenie DESCRIBE FLOW jest teraz dostępne. Jeśli masz tabelę o nazwie flow, użyj metody DESCRIBE schema.flow, DESCRIBE TABLE flowlub DESCRIBE `flow` z backticksami.

Operacje boolowskie zbiorów w SpatialSQL

ST_Difference, ST_Intersectioni ST_Union użyj nowej implementacji z następującymi ulepszeniami:

  • Prawidłowe geometrie wejściowe zawsze generują wynik i nie zgłaszają już błędów. Nieprawidłowe dane wejściowe nie zgłaszają błędów, ale mogą nie generować prawidłowych wyników.
  • Około 2 razy większa wydajność.
  • Wyniki mogą się różnić po 15 miejscu dziesiętnym dla przecięcia segmentów linii ze względu na różne formuły i kolejność operacji.
  • Wyniki są znormalizowane dla spójnych, porównywalnych danych wyjściowych:
    • Punkty są sortowane według wartości współrzędnych.
    • Ciągi liniowe są zbudowane z najdłuższych możliwych ścieżek.
    • Pierścienie wielokątne są obracane, więc pierwszy punkt ma najmniejsze wartości współrzędnych.
  • Ta normalizacja ma zastosowanie we wszystkich przypadkach, z wyjątkiem wywołania ST_Difference z dwiema nienakładającymi się geometriami, gdzie pierwsza geometria jest zwracana niezmodyfikowana.

Typy wyjątków dla sqlSTATE

Typy wyjątków obsługują teraz sqlSTATE. Jeśli kod analizuje wyjątki przez dopasowywanie ciągów lub przechwytuje określone typy wyjątków, zaktualizuj logikę obsługi błędów.

Obsługa typu danych DATETIMEOFFSET dla usługi Microsoft Azure Synapse

Typ DATETIMEOFFSET danych jest teraz dostępny dla połączeń usługi Microsoft Azure Synapse.

Komentarze do tabeli Google BigQuery

Opisy tabel Google BigQuery są rozwiązywane i udostępniane jako komentarze do tabeli.

Ewolucja schematu z poleceniami INSERT

Użyj klauzuli WITH SCHEMA EVOLUTION z instrukcjami SQL INSERT , aby automatycznie rozwijać schemat tabeli docelowej podczas operacji wstawiania. Klauzula jest obsługiwana dla formularzy INSERT INTO, INSERT OVERWRITEi INSERT INTO ... REPLACE . Przykład:

INSERT WITH SCHEMA EVOLUTION INTO students TABLE visiting_students_with_additional_id;

Schemat docelowej tabeli Delta Lake jest aktualizowany, aby uwzględnić dodatkowe kolumny lub rozszerzone typy ze źródła. Aby uzyskać szczegółowe informacje, zobacz schema evolution and statement syntax ( Ewolucja schematu i INSERT składnia instrukcji).

Zachowano wartości struktur NULL w operacjach INSERT

INSERT operacje z ewolucją schematu lub niejawnym rzutowaniem zachowują NULL teraz wartości struktury, gdy tabele źródłowe i docelowe mają różne kolejności pól struktury.

funkcja parse_timestamp SQL

Funkcja SQL parse_timestamp analizuje ciągi sygnatur czasowych przy użyciu wielu wzorców i działa na silniku Photon w celu zwiększenia wydajności podczas analizowania sygnatur czasowych w wielu formatach. Aby uzyskać informacje na temat formatowania wzorca daty/godziny, zobacz Wzorce daty/godziny .

max_by i min_by z opcjonalnym limitem

Funkcje agregujące max_by i min_by teraz akceptują opcjonalny trzeci argument limit (do 100 000). Jeśli zostaną podane, funkcje zwracają tablicę z maksymalnie limit wartościami odpowiadającymi największym (lub najmniejszym) wartościom wyrażenia porządkowania, upraszczając zapytania top-K i bottom-K bez użycia funkcji okna lub CTE.

Funkcje agregujące i skalarne wektorów

Nowe funkcje SQL działają na ARRAY<FLOAT> wektorach na potrzeby osadzania i obciążeń podobieństwa:

Funkcje agregujące

  • vector_avg: Zwraca średnią elementów wektorów w grupie.
  • vector_sum: Zwraca sumę składową wektorów w grupie.

Funkcje skalarne:

Zobacz Wbudowane funkcje.

Obsługa kursora SQL w instrukcjach złożonych

Instrukcje złożone skryptów SQL obsługują teraz przetwarzanie kursorów. Użyj DECLARE CURSOR, aby zdefiniować kursor, a następnie instrukcji OPEN, instrukcji FETCH i instrukcji CLOSE, aby uruchomić zapytanie i przetwarzać wiersze pojedynczo. Kursory mogą używać znaczników parametrów i procedur obsługi warunków do przetwarzania wiersz po wierszu, takich jak NOT FOUND.

Przybliżone funkcje szkicu top-k

Nowe funkcje umożliwiają kompilowanie i łączenie przybliżonych szkiców top-K dla rozproszonej agregacji top-K:

Aby uzyskać więcej informacji, zobacz approx_top_k funkcje agregujące i wbudowane.

Funkcje szkicu krotki

Nowe funkcje agregujące i skalarne dla szkicu krotki obsługują odrębne zliczanie i agregację w parach podsumowania kluczy.

Funkcje agregujące

Funkcje skalarne:

Zobacz Wbudowane funkcje.

Niestandardowe zależności dla tabelarycznych funkcji użytkownika (UDTF) w Pythonie dla Unity Catalog

Funkcje tabel użytkownika (UDTF) katalogu Unity mogą teraz używać niestandardowych zależności dla bibliotek zewnętrznych, dzięki czemu można używać pakietów poza tym, co jest dostępne w domyślnym środowisku magazynu SQL. Zobacz Rozszerzanie funkcji UDF za pomocą niestandardowych zależności.

Nowe funkcje geoprzestrzenne

Dostępne są teraz następujące funkcje geoprzestrzenne:

  • st_estimatesrid funkcja: szacuje najlepiej przewidywany identyfikator układu współrzędnych (SRID) dla geometrii wejściowej.
  • st_force2d funkcja: Konwertuje geografię lub geometrię na reprezentację 2D.
  • st_nrings funkcja: Liczy całkowitą liczbę pierścieni w wielokącie lub multiwielokącie, w tym zarówno pierścienie zewnętrzne, jak i wewnętrzne.
  • st_numpoints funkcja: zlicza niepuste punkty w lokalizacji geograficznej lub geometrii.

Photon - obsługa funkcji geoprzestrzennych

Następujące funkcje geoprzestrzenne są teraz uruchamiane w silniku Photon dla szybszej wydajności.

Luty 2026 r.

Usługa Databricks SQL w wersji 2025.40 jest wdrażana w kanale Current.

23 lutego 2026 r.

Usługa Databricks SQL w wersji 2025.40 jest wdrażana na Bieżącym kanale. Zobacz funkcje w wersji 2025.40.

Usługa Databricks SQL w wersji 2025.40 jest teraz dostępna w wersji zapoznawczej

11 lutego 2026 r.

Usługa Databricks SQL w wersji 2025.40 jest teraz dostępna w kanale Preview. Zapoznaj się z poniższą sekcją, aby dowiedzieć się więcej o nowych funkcjach, zmianach zachowań i poprawkach błędów.

Skrypty SQL są ogólnie dostępne

Skrypty SQL są teraz ogólnie dostępne. Pisanie logiki proceduralnej przy użyciu języka SQL, w tym instrukcji warunkowych, pętli, zmiennych lokalnych i obsługi wyjątków.

Znaczniki parametrów są teraz obsługiwane w przypadku większej liczby kontekstów SQL

Teraz można używać znaczników parametrów o nazwach (:param) i nienazwanych (?) w dowolnym miejscu, w którym dozwolona jest wartość literału odpowiedniego typu. Obejmuje to instrukcje DDL, takie jak CREATE VIEW v AS SELECT ? AS c1, typy kolumn, takie jak , i komentarze, takie jak DECIMAL(:p, :s)COMMENT ON t IS :comment. Dzięki temu można sparametryzować szeroką gamę instrukcji SQL, nie narażając swojego kodu na ataki polegające na wstrzykiwaniu SQL. Zobacz Znaczniki parametrów.

IDENTIFIER klauzula rozszerzona na więcej kontekstów SQL

Klauzula IDENTIFIER, która zamienia ciągi na nazwy obiektów SQL, jest teraz obsługiwana w niemal każdym kontekście, gdzie dopuszczalny jest identyfikator. W połączeniu z rozszerzonym znacznikiem parametrów i obsługą łączenia ciągów literałów można sparametryzować wszystkie elementy z aliasów kolumn (AS IDENTIFIER(:name)) do definicji kolumn (IDENTIFIER(:pk) BIGINT NOT NULL). Zobacz IDENTIFIER klauzulę.

Konsolidacja ciągów literałowych obsługiwana wszędzie

Sekwencyjne literały tekstowe, takie jak 'Hello' ' World', łączą się teraz w 'Hello World' w dowolnym kontekście, w którym dozwolone są literały tekstowe, w tym COMMENT 'This' ' is a ' 'comment'. Zobacz STRING typ.

Nowa funkcja BITMAP_AND_AGG

Nowa funkcja BITMAP_AND_AGG jest teraz dostępna w celu uzupełnienia istniejącej biblioteki BITMAP funkcji.

Nowe funkcje szkicu theta w celu uzyskania przybliżonych unikatowych liczb

Jest dostępna nowa biblioteka funkcji do przybliżonego zliczania unikalnych elementów i operacji na zbiorach przy użyciu narzędzia Datasketches Theta Sketch.

Nowe funkcje szkicu KLL dla przybliżonych kwantylów

Dostępna jest nowa biblioteka funkcji do tworzenia szkiców KLL na potrzeby przybliżonego obliczania kwantyli:

Można scalić wiele szkiców KLL w kontekście agregacji przy użyciu kll_merge_agg_bigint, kll_merge_agg_double i kll_merge_agg_float.

Funkcje okna SQL w widokach metryk

Teraz możesz użyć funkcji okna SQL w widokach metryk , aby obliczyć sumy bieżące, rankingi i inne obliczenia oparte na oknach.

Nowe funkcje geoprzestrzenne

Dostępne są teraz następujące nowe funkcje geoprzestrzenne:

Obsługa danych wejściowych EWKT dla istniejących funkcji geometrii i geografii

Następujące funkcje akceptują teraz rozszerzony tekst Well-Known (EWKT) jako dane wejściowe:

Zwiększona wydajność powtarzających się zapytań w tabelach z filtrami wierszy i maskami kolumn

Powtarzające się kwalifikujące się zapytania w tabelach z filtrami wierszy i maskami kolumn korzystają teraz z ulepszonego buforowania wyników zapytania, co skutkuje szybszym czasem wykonywania.

Ulepszona wydajność funkcji geoprzestrzennych

Wydajność łączenia przestrzennego została poprawiona dzięki obsłudze sprzężenia przestrzennego z losowym rozmieszczaniem. Następujące funkcje ST mają teraz implementacje dla Photon:

FSCK REPAIR TABLE domyślnie zawiera naprawę metadanych

FSCK REPAIR TABLE Teraz zawiera początkowy krok naprawy metadanych przed sprawdzeniem brakujących plików danych, co pozwala na pracę w tabelach z uszkodzonymi punktami kontrolnymi lub nieprawidłowymi wartościami partycji. Ponadto kolumna dataFilePath w schemacie wyjściowym FSCK REPAIR TABLE DRY RUN jest teraz możliwa do zanullowania, aby wspierać nowe typy kwestii, w których ścieżka pliku danych nie ma zastosowania.

DESCRIBE TABLE dane wyjściowe zawierają kolumnę metadanych

Dane wyjściowe polecenia DESCRIBE TABLE [EXTENDED] zawierają teraz kolumnę metadata dla wszystkich typów tabel. Ta kolumna zawiera metadane semantyczne (nazwa wyświetlana, format i synonimy) zdefiniowane w tabeli jako ciąg JSON.

Struktury NULL zachowane w operacjach MERGE, UPDATE, i operacjach zapisu strumieniowego

Struktury NULL są teraz zachowywane jako NULL w Delta Lake MERGE, UPDATE i operacjach zapisu strumieniowego, które obejmują rzutowanie typów strukturalnych. Wcześniej struktury NULL zostały rozwinięte do struktur ze wszystkimi polami ustawionymi na wartość NULL.

Zmaterializowane kolumny partycji w plikach Parquet

Partyckjonowane tabele Delta Lake zmaterializowały teraz kolumny partycji w nowo zapisanych plikach danych Parquet. Wcześniej wartości partycji były przechowywane tylko w metadanych dziennika transakcji usługi Delta Lake. Obciążenia, które bezpośrednio odczytują pliki Parquet zapisywane przez usługę Delta Lake, widzą dodatkowe kolumny partycji w nowo zapisanych plikach.

Wartości partycji sygnatury czasowej szanują strefę czasową sesji

Wartości partycji znaczników czasu są teraz poprawnie dostosowywane za pomocą konfiguracji spark.sql.session.timeZone. Wcześniej zostały one niepoprawnie przekonwertowane na utc przy użyciu strefy czasowej JVM.

Zaktualizowane ograniczenia dotyczące podróży w czasie

Usługa Azure Databricks blokuje teraz zapytania dotyczące podróży w czasie wykraczające poza deletedFileRetentionDuration próg dla wszystkich tabel. Polecenie VACUUM ignoruje argument czasu trwania przechowywania, z wyjątkiem sytuacji, gdy wartość wynosi 0 godzin. Nie można ustawić deletedFileRetentionDuration większego niż logRetentionDuration.

SHOW TABLES DROPPED szanuje klauzulę LIMIT

SHOW TABLES DROPPED teraz poprawnie przestrzega klauzuli LIMIT .

Styczeń 2026 r.