Notatka
Dostęp do tej strony wymaga autoryzacji. Może spróbować zalogować się lub zmienić katalogi.
Dostęp do tej strony wymaga autoryzacji. Możesz spróbować zmienić katalogi.
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_Differencez 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:
- vector_cosine_similarity: Zwraca podobieństwo cosinusowe dwóch wektorów.
- vector_inner_product: Zwraca wewnętrzny (kropkowy) iloczyn dwóch wektorów.
- vector_l2_distance: Zwraca odległość Euklidesan (L2) między dwoma wektorami.
- vector_norm: zwraca normę Lp wektora (1, 2 lub nieskończoność).
- vector_normalize: Zwraca wektor znormalizowany do długości jednostki.
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:
- approx_top_k_accumulate: tworzy szkic (zarys) dla każdej grupy.
- approx_top_k_combine: Łączy szkice.
- approx_top_k_estimate: zwraca najważniejsze elementy języka K z szacowanymi liczbami.
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
-
tuple_sketch_agg_doublefunkcja agregacji -
tuple_sketch_agg_integerfunkcja agregacji -
tuple_union_agg_doublefunkcja agregacji -
tuple_union_agg_integerfunkcja agregacji -
tuple_intersection_agg_doublefunkcja agregacji -
tuple_intersection_agg_integerfunkcja agregacji
Funkcje skalarne:
- tuple_sketch_estimate
- tuple_sketch_summary
- tuple_sketch_theta
- tuple_union
- tuple_intersection
- tuple_difference
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_estimatesridfunkcja: szacuje najlepiej przewidywany identyfikator układu współrzędnych (SRID) dla geometrii wejściowej. -
st_force2dfunkcja: Konwertuje geografię lub geometrię na reprezentację 2D. -
st_nringsfunkcja: 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_numpointsfunkcja: 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.
-
theta_sketch_aggfunkcja agregacji -
theta_union_aggfunkcja agregacji -
theta_intersection_aggfunkcja agregacji -
theta_sketch_estimatefunkcja -
theta_unionfunkcja -
theta_differencefunkcja -
theta_intersectionfunkcja
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:
-
kll_sketch_agg_bigintfunkcja agregacji -
kll_sketch_get_quantile_bigintfunkcja -
kll_sketch_merge_bigintfunkcja -
kll_sketch_agg_doublefunkcja agregacji -
kll_sketch_get_quantile_doublefunkcja -
kll_sketch_merge_doublefunkcja -
kll_sketch_agg_floatfunkcja agregacji -
kll_sketch_get_quantile_floatfunkcja -
kll_sketch_merge_floatfunkcja -
kll_sketch_get_n_bigintfunkcja -
kll_sketch_get_rank_bigintfunkcja -
kll_sketch_to_string_bigintfunkcja -
kll_sketch_get_n_doublefunkcja -
kll_sketch_get_rank_doublefunkcja -
kll_sketch_to_string_doublefunkcja -
kll_sketch_get_n_floatfunkcja -
kll_sketch_get_rank_floatfunkcja -
kll_sketch_to_string_floatfunkcja
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:
-
st_azimuthfunkcja: Zwraca azymut względem północy od pierwszego punktu do drugiego w radianach w[0, 2π). -
st_boundaryfunkcja: zwraca granicę geometrii wejściowej. -
st_closestpointfunkcja: Zwraca projekcję 2D punktu z pierwszej geometrii, który jest najbliżej drugiej geometrii. -
st_geogfromewktfunkcja: analizuje rozszerzony opis Well-Known Text (EWKT) geografii. -
st_geomfromewktfunction: analizuje opis geometrii w rozszerzonym formacie Well-Known Text (EWKT).
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 .