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 tym artykule opisano funkcje i zachowania, które są obecnie dostępne i nadchodzące dla obliczeń bezserwerowych dla notesów i zadań.
Aby uzyskać więcej informacji na temat obliczeń bezserwerowych, zobacz Łączenie się z bezserwerowych obliczeń.
Usługa Azure Databricks okresowo publikuje aktualizacje bezserwerowych zasobów obliczeniowych, automatycznie uaktualniając bezserwerowe środowisko uruchomieniowe obliczeniowe w celu obsługi ulepszeń i uaktualnień do platformy. Wszyscy użytkownicy otrzymują te same aktualizacje, wdrażane w krótkim czasie.
Wersje środowisk serwerless
Bezserwerowe obliczenia dla notesów i zadań używają wersji środowiska, które zapewniają stabilny interfejs API klienta oparty na programie Spark Connect w celu zapewnienia zgodności aplikacji. Dzięki temu usługa Databricks może niezależnie uaktualnić serwer, zapewniając ulepszenia wydajności, ulepszenia zabezpieczeń i poprawki błędów bez konieczności wprowadzania zmian kodu w obciążeniach.
Każda wersja środowiska zawiera określoną wersję języka Python i zestaw pakietów języka Python ze zdefiniowanymi wersjami. Usługa Databricks wprowadza nowe funkcje i poprawki w najnowszej wersji środowiska podczas stosowania aktualizacji zabezpieczeń do wszystkich obsługiwanych wersji środowiska.
Informacje o wydaniu wersji środowiska bezserwerowego znajdziesz w sekcji Wersje środowiska.
Informacje o wydaniu
Ta sekcja zawiera informacje o wersji dla obliczeń bezserwerowych. Informacje o wersji są zorganizowane według roku i tygodnia w roku. Przetwarzanie bezserwerowe zawsze jest uruchamiane przy użyciu ostatnio wydanej wersji wymienionej tutaj.
- Buforowanie DataFrame w środowisku obliczeń bezserwerowych jest już dostępne w ramach Public Preview
- 19 października 2026 r.
- 21 września 2026
- 31 sierpnia 2026
- 24 sierpnia 2026 r.
- 17 sierpnia 2026
- Zadania JAR na bezserwerowych zasobach obliczeniowych są obecnie powszechnie dostępne
- Kontrola dostępu do mocy obliczeniowej serverless jest teraz ogólnie dostępna
- 6 lipca 2026 r.
- Wersja 18.2
- Wersja 18.1
- Wersja 18.0
- Środowisko serverless w wersji 5 jest już dostępne
- Wersja 17.3
- Wersja 17.2
- Wersja 17.1
- Środowisko Serverless w wersji 4
- Wersja 17.0
- Cele wydajnościowe serverless są GA
- Wersja 16.4
- Tryb wydajności jest teraz konfigurowalny w zadaniach bez serwera
- Wersja 16.3
- Wersja 16.2
- Ustawienie wysokiej pamięci dostępne w notebookach bezserwerowych (Public Preview)
- Wersja 16.1
- Wersja 15.4
- JDK zostaje zmodernizowany z JDK 8 do JDK 17
- Wersja 15.1
- Wersja 14.3
Buforowanie DataFrame w środowisku bezserwerowym jest już w trybie Public Preview
23 października 2026 r.
Buforowanie ramek danych w bezserwerowych zasobach obliczeniowych jest obecnie dostępne w publicznej wersji zapoznawczej. Możesz buforować ramkę DataFrame za pomocą df.cache() lub df.persist() w bezserwerowym środowisku obliczeniowym, aby ponownie wykorzystać kosztowny wynik do końca sesji. Buforowanie wymaga środowiska bezserwerowego w wersji 5 lub nowszej, Databricks Connect dla Pythona 18.1.8 lub nowszych albo Databricks Connect dla Scali 18.1.5 lub nowszych. Podgląd jest domyślnie włączony dla większości przestrzeni roboczych. Administratorzy obszaru roboczego mogą wyłączyć to na stronie Podglądy. Zobacz Buforowanie ramek danych DataFrame w bezserwerowych zasobach obliczeniowych.
19 października 2026 r.
19 października 2026 r.
Ta wersja obliczeniowa bez serwera zawiera aktualizacje z Databricks Runtime 19.
Zmiany zachowania
-
Metryki wykonania Spark Connect ukrywają szczegóły filtrów wierszy i masek kolumn: Metryki wykonania DataFrame teraz ukrywają operatorów wewnętrznych oraz metryki związane z filtrami wierszowymi i maskami kolumnowymi. Chroni to informacje o realizacji zasady podczas inspekcji
df.executionInfo.metrics, w tym jej reprezentację tekstową. Granica chronionej części planu oraz jej własne metryki pozostają widoczne. Wyniki zapytań pozostają bez zmian. Notebooki lub narzędzia oparte na szczegółowych metrykach w chronionych podplanach mogą wymagać aktualizacji.
21 września 2026 r.
21 września 2026
Ta wersja obliczeniowa bez serwera zawiera aktualizacje z Databricks Runtime 19.
Nowe funkcje
truncatefunkcja: Funkcjatruncateobcina liczbę do określonej skali bez zaokrągleń.trim_arrayfunkcja: Funkcjatrim_arrayusuwa określoną liczbę elementów z końca tablicy.
31 sierpnia 2026 r.
31 sierpnia 2026
Ta wersja obliczeniowa bez serwera zawiera aktualizacje z Databricks Runtime 19.
Nowe funkcje
Automatyczny change data feed jest ogólnie dostępny: Automatyczny change data feed (Auto CDF) oblicza zmiany na poziomie wiersza w czasie wykonywania zapytania. Działa z zapytaniami wsadowymi, Structured Streaming i Delta Sharing oraz wymaga śledzenia wierszy. Zobacz Automatyczne zestawienie danych zmian.
parse_sqlfunkcja: Funkcjaparse_sqlanalizuje polecenie SQL i zwraca strukturyzowany JSON zawierający metadane instrukcji, odwołania do tabel, wyrażenia z listy selekcji lub informacje o błędach parsera.
Zmiany zachowania
from_protobufpomija nieprawidłowo sformowane pola nieuwzględnione w zapytaniu, gdy włączone jest przycinanie schematu: Gdy włączone jest przycinanie schematu protobuf,from_protobufnie dekoduje już ani nie weryfikuje pól, których zapytanie nie wybiera. Nieprawidłowe niewybrane pole nie powoduje już wyzerowania wiersza w trybiePERMISSIVEani nie powoduje niepowodzenia zapytania w trybieFAILFAST.Mechanizm pushdown JDBC poprawnie obsługuje literały NULL: mechanizm pushdown JDBC w Data Source v2 emituje teraz literał SQL
NULLzamiast ciągu'null'. Zapytania grupujące wyrażenia takie jakNULLIFteraz zwracają grupę null zamiast osobnej grupy tekstowej'null'.Funkcje HTTP i AI nie podążają już za przekierowaniami:
http_requesta funkcje AI nie podążają już za przekierowaniami HTTP 3xx. Połączenia, które otrzymają przekierowanie, zwracają teraz zdalną awarię HTTP dla statusu przekierowania. Pobieranie konektorów źródła plikowego pozostaje bez zmian.
24 sierpnia 2026 r.
24 sierpnia 2026 r.
Ta wersja obliczeniowa bez serwera zawiera aktualizacje z Databricks Runtime 19.
Nowe funkcje
-
collect_unionfunkcja agregująca: Funkcja agregującacollect_unionzwraca odrębną unię elementów w tablicach w obrębie każdej grupy.
Zmiany zachowania
HAVINGjest oceniany przed funkcjami okienkowymi w zapytaniach z generatorami: Dla zapytań zawierających generatory, takich jakexplode, funkcje okienkowe są teraz oceniane po filtrzeHAVING. Wyniki okienkowe obejmują zatem tylko wiersze zachowane przezHAVING.Logika polityki jest domyślnie ukryta w planach zapytań: plany zapytań nie ujawniają już filtrów wierszowych i logiki polityki maskowania kolumn, chyba że użytkownik posiada
INSPECT_POLICY_EXECUTIONuprawnienia do metastore.Delta API DML korzysta z uprawnień definiującego politykę:
DeltaTable.update,DeltaTable.mergeiDeltaTable.deleteteraz określają funkcje polityk filtru wierszy i maskowania kolumn z uprawnieniami definiującego politykę, zgodnie z SQL DML. Dzwoniący nie muszą już korzystaćEXECUTEz tych funkcji polityk, gdy mają wymagane uprawnienia do tabeli.
17 sierpnia 2026 r.
17 sierpnia 2026
Ta wersja obliczeniowa bez serwera zawiera aktualizacje z Databricks Runtime 19.
Nowe funkcje
is_valid_variantfunkcja: Funkcjais_valid_variantzwracatrue, jeśli dane wejściowe jest dobrze uformowanąVARIANTwartością, afalsew przeciwnym razie. Użyj go do weryfikacji danych wariantowych przed dalszym przetwarzaniem.DataFrameGroupBy.covorazSeriesGroupBy.describew pandas API na Spark: Pandas API na Spark obsługujeDataFrameGroupBy.covteraz , które oblicza parową kowariancję kolumn w każdej grupie, orazSeriesGroupBy.describe, które generuje statystyki opisowe dla każdej grupy.obsługa
pa.ChunkedArraywcreateDataFramecreateDataFrame()teraz obsługuje ramki danych pandas z kolumnami PyArrowChunkedArray, zapobiegając błędom typów przy użyciu danych pandas opartych na Arrow.
Zadania JAR w przetwarzaniu bezserwerowym są już ogólnie dostępne
6 sierpnia 2026 r.
Spakuj kod w języku Scala lub Java do pliku JAR i uruchom go jako zadanie w ramach zadania Lakeflow w bezserwerowym środowisku obliczeniowym. Plik JAR musi być zgodny z wersjami Scala, Java Development Kit (JDK) i Databricks Connect używanymi w wersji środowiska bezserwerowego. Zobacz Tworzenie i uruchamianie plików JAR w bezserwerowych zasobach obliczeniowych.
Obecnie powszechnie dostępna jest kontrola dostępu obliczeniowego bez serwera
3 sierpnia 2026
Obecnie powszechnie dostępna jest kontrola dostępu obliczeniowego bez serwera. Administratorzy obszaru roboczego mogą określać, kto uruchamia obciążenia bezserwerowe, za pomocą dwóch wbudowanych obiektów obliczeń bezserwerowych: Default Interactive Compute (który określa dostęp do notesów i Databricks Connect) oraz Default Automated Compute (który określa dostęp do zadań i Spark Declarative Pipelines w usłudze Lakeflow). Wszyscy użytkownicy przestrzeni roboczej mają domyślnie opcję Can Use na obu obiektach, więc istniejące obciążenia działają bez zmian.
Zobacz Zarządzanie obliczeniami bezserwerowymi.
6 lipca 2026 r.
6 lipca 2026 r.
Ta bezserwerowa wersja obliczeniowa zawiera aktualizacje środowiska Databricks Runtime 18.
Nowe funkcje
Spark Declarative Pipelines na Lakeflow Streaming ID zapytania: Spark Declarative Pipelines w Lakeflow mogą teraz ustawiać ID zapytania streamingowego na żądanie.
Funkcje adresów IP (Public Preview): Nowe funkcje SQL są dostępne do pracy z adresami IPv4 i IPv6 oraz blokami CIDR, w tym
ip_host,ip_cidr,ip_version,ip_cidr_contains,ip_prefix_length,ip_network_last,ip_as_binary,ip_network,ip_as_stringoraz wariantytry_*zapewniające obsługę wartości null. Zobacz ip_host i powiązane funkcje.Repartycjonowanie stanów na żądanie (Public Preview): Structured Streaming teraz obsługuje zmianę liczby partycji shuffle dla zapytań stanowych bez utraty stanu punktu kontrolnego. Zobacz Repartycjonowanie stanu na żądanie dla stanowych zapytań strumieniowych.
Zmiany zachowania
CREATE OR REPLACE TABLEZachowuje komentarze:CREATE OR REPLACE TABLEDomyślnie zachowuje istniejące komentarze kolumn i tabel. Wcześniej komentarze zostały porzucone podczas ponownego tworzenia tabeli. Zarządzane tabele i widoki działają teraz tak samo jak istniejące widoki zmaterializowane i tabele strumieniowe.Zapisy DataFrame według nazw rzutują zgodne kolumny:
writeTo().append(),writeTo().overwrite(),writeTo().overwritePartitions(), awrite.mode("append").saveAsTable()teraz automatycznie rzutują kolumny zgodne typowo (na przykładintdolong), aby dopasowały się do docelowego schematu tabeli Delta. Wcześniej te operacje zakończyły się niepowodzeniemDELTA_FAILED_TO_MERGE_FIELDSz powodu błędu, gdy typy kolumn były zgodne, ale nie identyczne. Zachowanie jest teraz zgodne z programem SQLINSERT INTO ... BY NAME.ALTER TABLE SET TBLPROPERTIESdlapipelines.pipelineId:ALTER TABLE <table> SET TBLPROPERTIES('pipelines.pipelineId' = '<pipeline-id>')teraz próbuje uczynić określoną tabelę kwalifikowalną do zapisów przez potok. Wcześniej ustawienie tej właściwości w regularnej tabeli nie miało wpływu. Jeśli tabela nie kwalifikuje się do zapisów potokowych, polecenie zgłasza błądSETTING_PIPELINES_PIPELINE_ID_NOT_SUPPORTED.DESCRIBE EXTENDED AS JSONzawiera wyniki optymalizacji predykcyjnej:DESCRIBE EXTENDED ... AS JSONteraz zawiera wyniki oceny optymalizacji predykcyjnej w swoim wyniku. Wcześniej te informacje nie zostały zwrócone w danych wyjściowych JSON.Miary w oknie widoku metryki zwracają poprawne wyniki: Miary w oknie widoku metryki zwracają teraz poprawne wyniki, gdy zapytania używają
GROUP BY,IN/BETWEENfiltrów lub mieszanych predykatów na kolumnie kolejności okna. Wcześniej te wzorce filtrów mogły wygenerować nieprawidłowe wyniki.Deduplikacja Structured Streaming z kluczami
NaN: Structured Streaming teraz traktuje wartościNaN(Not-a-Number) o różnych wzorcach bitowych jako duplikaty, gdy jako klucz deduplikacji używana jest kolumnadoublelubfloat.NaNWcześniej wartości z różnymi reprezentacjami wewnętrznymi były traktowane jako odrębne i nie były deduplikowane.NATURAL JOINDopasowanie kolumn bez rozróżniania wielkości liter: TerazNATURAL JOINdopasowuje wspólne kolumny bez rozróżniania wielkości liter, zgodnie z równoważnymUSINGsprzężeniem. Wcześniej dopasowywanie kolumn uwzględniało wielkość liter, co powodowało, że kolumny różniące się jedynie wielkością liter (na przykładIDvsid) nie były rozpoznawane jako wspólne kolumny, co skutkowało niejawnym złączeniem kartezjańskim zamiast oczekiwanego złączenia równościowego.
Wersja 18.2
13 maja 2026 r.
Ta bezserwerowa wersja obliczeniowa w przybliżeniu odpowiada środowisku Databricks Runtime 18.2.
Nowe funkcje
CREATE OR REPLACEWsparcie dla tabel tymczasowych:CREATE OR REPLACE TEMP TABLEObecnie obsługiwana jest składnia, pozwalająca tworzyć lub zastępować tabele tymczasowe w jednym instrukcji. Eliminuje to konieczność jawnego usuwania i ponownego tworzenia tabel tymczasowych.agg()alias funkcjimeasure():agg()jest teraz dostępny jako alias funkcjimeasure(). Ta zmiana jest w pełni zgodna z poprzednimi wersjami. Istniejące zapytania, które używająmeasure(), nadal działają bez modyfikacji, aagg()produkują identyczne wyniki, gdy są używane z tymi samymi argumentami.Aktualizacja sterownika JDBC Snowflake: Sterownik JDBC Snowflake został zaktualizowany z wersji 3.22.0 do 3.28.0.
pyspark.pipelines.testingalias przestrzeni nazw:pyspark.pipelines.testingjest teraz dostępny jako wygodny alias dla interfejsów APIdlt.testing. Importuj deklaratywne potoki Spark za pomocą narzędzi testowych potoków Lakeflow przez jedną z tych przestrzeni nazw.Historia tabeli Delta obejmuje flagi opcji zapisu: historia tabeli Delta (
DESCRIBE HISTORY) teraz zawiera flagi opcji zapisu w kolumnieoperationParametersdlaWRITEiREPLACE TABLEoperacje. Po jawnym włączeniu następujących opcji są one wyświetlane jako flagi logiczne w historii (uwzględniane tylko wtedy, gdytrue):W przypadku
WRITEoperacji iREPLACE TABLE:-
isDynamicPartitionOverwrite: występuje, gdy był używany tryb zastępowania partycji dynamicznej -
canOverwriteSchema: występuje, gdy włączono zastępowanie schematu (overwriteSchema) -
canMergeSchema: występuje, gdy włączono scalanie schematu (mergeSchema)
W przypadku
REPLACE TABLEoperacji:-
predicate: obecny, gdyreplaceWherebył używany -
isV1WriterSaveAsTableOverwrite: występuje, gdy zamiana została wyzwolona przez.saveAsTablenadpisanie
-
Selektywne zastępowanie danych za pomocą interfejsów API DataFrame
replaceOnireplaceUsing: OpcjereplaceOnireplaceUsingw interfejsach API DataFrame Scala i Python są teraz ogólnie dostępne. Użyj tych opcji, aby zastąpić część tabeli wynikiem ramki danych.replaceOnzastępuje wiersze spełniające warunek zdefiniowany przez użytkownika.replaceUsingzastępuje wiersze tam, gdzie określone kolumny są równe. Te interfejsy API uzupełniają instrukcje SQLINSERT REPLACE ONiINSERT REPLACE USING. Zobacz Selektywne zastępowanie danych za pomocą usługi Delta Lake.
Zmiany zachowania
Zachowanie struktury NULL w , INSERTMERGE, oraz zapisy strumieniowe z ewolucją schematu: Dla
INSERT,MERGE, i zapisów strumieniowych wykorzystujących ewolucję schematu, struktura NULL w źródle jest teraz przechowywana jako NULL w celu. Wcześniej tę wartość zmaterializowano niepoprawnie jako strukturę, która nie była NULL, ale miała wszystkie pola ustawione na NULL, podczas gdy te same operacje bez ewolucji schematu prawidłowo zachowywały struktury jako NULL. Jeśli kod polegał na otrzymaniu struktury innej niż null, której pola miały wartość NULL, zaktualizuj kod, aby obsłużyć strukturę null.Poprawka błędu powodującego usuwanie wierszy
LEFT OUTER JOIN LATERAL: Błąd, który błędnie usuwał wiersze zLEFT OUTER JOIN LATERALzapytań, został teraz naprawiony. Zapytania korzystające z tej konstrukcji zwracają teraz poprawne wyniki. Aby tymczasowo przywrócić poprzednie zachowanie, ustaw wartośćspark.databricks.sql.optimizer.lateralJoinPreserveOuterSemantictrue.NATURAL JOINobsługuje dopasowanie kolumn bez rozróżniania wielkości liter:spark.sql.caseSensitiveteraz poprawnie używa dopasowania kolumn bez rozróżniania wielkości liter, gdyfalsejest ustawione naNATURAL JOIN(domyślnie). WcześniejNATURAL JOINużywał porównania uwzględniającego wielkość liter w celu zidentyfikowania typowych kolumn, powodując, że kolumny różniące się wyłącznie wielkością liter (na przykładIDw porównaniu zid) nie były rozpoznawane jako zgodne. Spowodowało to, żeNATURAL JOINw sposób niezauważalny generowało wyniki sprzężenia krzyżowego. Ta poprawka dostosowujeNATURAL JOINzachowanie doUSINGsprzężeń, które już poprawnie obsługują ignorowanie wielkości liter. Zapytania, których dotyczy ta usterka, zwracają teraz poprawne wyniki z poprawnie połączonymi kolumnami.Walidacja zależności SQL UDF w Unity Catalog: Unity Catalog obecnie wymusza walidację zależności dla funkcji zdefiniowanych przez użytkownika SQL (UDF), aby zapobiec ominięciu kontroli dostępu. Wcześniej funkcje SQL utworzone za pośrednictwem interfejsu API REST mogły odwoływać się do zależności, do których użytkownik nie miał dostępu. Funkcje SQL definiowane przez użytkownika z nieprawidłową konfiguracją zależności są teraz blokowane przed uruchomieniem.
Zależności AWS SDK v1 są zacienione: zależności AWS SDK v1 dołączone do runtime Azure Databricks są teraz cieniowane i nie są już bezpośrednio dostępne na ścieżce klasowej. Jeśli kod zależy od bibliotek zestawu AWS SDK w wersji 1, które zostały wcześniej udostępnione przez środowisko uruchomieniowe Azure Databricks, dodaj je jako jawne zależności w projekcie. Ta zmiana przygotowuje się do migracji do zestawu AWS SDK w wersji 2 po zakończeniu obsługi platformy AWS dla zestawu SDK w wersji 1.
Napraw nieprawidłowy autorytet EPSG dla SRID 102100 zdefiniowanego przez ESRI: Mapowanie systemu odniesienia współrzędnych (CRS) dla SRID 102100 teraz poprawnie używa
ESRI:102100zamiast błędnegoEPSG:102100. Dzięki temu poprawka zapewnia przechowywanie danych geoprzestrzennych przy użyciu odpowiedniego urzędu w celu lepszego współdziałania z innymi systemami.
Wersja 18.1
20 kwietnia 2026 r.
Ta bezserwerowa wersja obliczeniowa w przybliżeniu odpowiada środowisku Databricks Runtime 18.1.
Nowe funkcje
Obsługa typu danych DATETIMEOFFSET dla Microsoft Azure Synapse: Typ danych
DATETIMEOFFSETjest obsługiwany dla połączeń Microsoft Azure Synapse.Komentarze do tabeli Google BigQuery: Opisy tabel Google BigQuery są odczytywane i wyświetlane jako komentarze do tabel.
Połączenie JDBC: Użyj połączenia JDBC do odczytu i zapisu danych ze źródła danych przy użyciu interfejsu Spark Data Source API lub interfejsu Databricks Remote Query SQL API.
Ewolucja schematu z INSERT instrukcjami: Użyj klauzuli
WITH SCHEMA EVOLUTIONz instrukcjami SQL INSERT do automatycznego ewoluowania schematu docelowej tabeli podczas operacji wstawiania. Klauzula jest obsługiwana dla formularzyINSERT INTO,INSERT OVERWRITEiINSERT INTO ... REPLACE. Zobacz ewolucję schematu.Zachowane wartości struktury NULL w operacjach INSERT:
INSERToperacje z ewolucją schematu lub implicitnym castingiem zachowują wartości strukturyNULL, gdy tabele źródłowe i docelowe mają różne kolejności pól struktur.Wsparcie dla transakcji wieloinstrukcyjnych Delta Sharing: Tabele Delta Sharing wykorzystujące tryby udostępniania za pomocą wstępnie podpisanych adresów URL lub tokenów chmurowych obsługują transakcje wieloinstrukcyjne. Przy pierwszym dostępie w ramach transakcji wersja tabeli jest utrwalona i używana ponownie dla wszystkich kolejnych odczytów w tej transakcji. Podróż w czasie, zmiana źródła danych i przesyłanie strumieniowe nie są obsługiwane.
parse_timestampFunkcja SQL: Funkcja parse_timestamp SQL analizuje ciągi znaczników czasu za pomocą wielu wzorców. Funkcja działa na aparacie Photon, zwiększając wydajność.max_byorazmin_byz opcjonalnym limitem: funkcje agregujące max_by i min_by teraz akceptują opcjonalny trzeci argumentlimit(do 100 000), zwracając tablicę wartości górnych lub dolnych K bez funkcji okienkowych lub CTE.Funkcje agregacji wektorowej i skalarnej: Nowe funkcje SQL operują na
ARRAY<FLOAT>wektorach do osadzania i obciążeń podobieństwa, w tym vector_avg, vector_sum, vector_cosine_similarity, vector_inner_product, vector_l2_distance, vector_norm i vector_normalize. Zobacz Wbudowane funkcje.Wsparcie dla kursorów SQL w instrukcjach złożonych: złożone instrukcje SQL scriptingu teraz obsługują 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.
Przybliżone funkcje szkicowania top-k: Nowe funkcje umożliwiają tworzenie i łączenie przybliżonych szkiców top-K dla rozproszonej agregacji top-K: approx_top_k_accumulate, approx_top_k_combine i approx_top_k_estimate. Zobacz
approx_top_kfunkcja agregująca.Funkcje szkicu krotkowego: Nowe funkcje agregujące i skalarne dla szkicu krotkowego wspierają zliczanie wartości unikalnych i agregację nad parami klucz-podsumowanie. Zobacz Wbudowane funkcje.
Nowe funkcje geoprzestrzenne: Dostępne są 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.
-
Obsługa Photon dla funkcji geoprzestrzennych:
st_differencefunkcja,st_intersectionfunkcja ist_unionfunkcja działają teraz na silniku Photon, co zapewnia wyższą wydajność.
Zmiany zachowania
Błędy metryki obserwacji nie powodują już niepowodzenia zapytań: Błędy podczas zbierania metryk obserwacji nie powodują już niepowodzeń wykonania zapytań. Wcześniej błędy w
OBSERVEklauzulach (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ływaniaobservation.getzostanie zgłoszony błąd.DESCRIBE FLOWsłowo kluczowe zarezerwowane: PolecenieDESCRIBE FLOWjest już dostępne. Jeśli masz tabelę o nazwieflow, użyj metodyDESCRIBE schema.flow,DESCRIBE TABLE flowlubDESCRIBE `flow`z backticksami.Operacje boolowskie na zbiorach w SpatialSQL:
ST_Difference,ST_IntersectioniST_Unionwykorzystują nową implementację o około 2x szybszym działaniu. Prawidłowe geometrie wejściowe zawsze generują wynik. Wyniki są znormalizowane dla spójnych danych wyjściowych i mogą się różnić po 15 miejscu dziesiętnym dla przecięcia segmentów wiersza ze względu na różne formuły i kolejność operacji.Typy wyjątków dla SQLSTATE:Typy wyjątków są aktualizowane, aby wspierać 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.
Wersja 18.0
27 lutego 2026 r.
Ta bezserwerowa wersja obliczeniowa w przybliżeniu odpowiada środowisku Databricks Runtime 18.0.
Nowe funkcje
Skrypty SQL są obecnie powszechnie dostępne: skrypty SQL są już powszechnie dostępne.
Sterownik Redshift JDBC zaktualizowany do wersji 2.1.0.28: Sterownik Redshift JDBC został zaktualizowany do wersji 2.1.0.28.
Wspólne środowisko izolacji dla Unity Catalog Python UDF: Unity Catalog Python UDF-y z tym samym właścicielem mogą teraz domyślnie współdzielić środowisko izolacji, poprawiając wydajność i zmniejszając zużycie pamięci. Aby zapewnić, że funkcja UDF zawsze działa w w pełni izolowanym środowisku, dodaj klauzulę charakterystyczną
STRICT ISOLATION. Zobacz Izolacja środowiska.Funkcje okna SQL w widokach metrycznych: Teraz możesz używać funkcji okna SQL w widokach metrycznych do obliczania sum bieżących, rankingów i innych obliczeń opartych na oknie.
Dynamiczna regulacja partycji tasowania w bezstanowych zapytaniach streamingowych: Teraz możesz zmieniać liczbę partycji shuffle w bezstanowych zapytaniach streamingowych bez konieczności restartowania zapytania.
Adaptive Query Execution i auto-optymalizowane tasowanie w bezstanowych zapytaniach strumieniowych: Adaptive Query Execution (AQE) oraz auto-optymalizowane shuffle (AOS) są obecnie wspierane w bezstanowych zapytaniach streamingowych.
Łączenie literałów tekstowych wszędzie: Możliwość łączenia sekwencyjnych literałów łańcuchowych, takich jak
'Hello' ' World'w'Hello world', została rozszerzona na dowolne miejsca, gdzie literały łańcuchowe są dozwolone. ZobaczSTRINGtyp.Znaczniki parametrów wszędzie: Teraz można używać znaczników parametrów nazwanych (
:param) i nienazwanych (?) praktycznie wszędzie tam, gdzie można użyć wartości literalnej odpowiedniego typu, w tym instrukcji DDL i typów kolumn. Zobacz Znaczniki parametrów.Klauzula
IDENTIFIERniemal wszędzie: KlauzulaIDENTIFIER, która rzutuje ciągi znaków na nazwy obiektów SQL, została rozszerzona niemal wszędzie tam, gdzie dozwolony jest identyfikator, w tym na aliasy kolumn i definicje kolumn. Zobacz IDENTIFIER klauzulę.Nowa
BITMAP_AND_AGGfunkcja: Dostępna jest nowabitmap_and_aggfunkcja agregująca.Nowe funkcje Theta Sketch: Dostępna jest nowa biblioteka funkcji do przybliżonego zliczania wartości unikalnych i operacji na zbiorach z wykorzystaniem Datasketches Theta Sketch, w tym theta_sketch_agg, theta_union_agg, theta_intersection_agg i funkcje pokrewne.
Nowa biblioteka funkcji KLL Sketch: Dostępna jest nowa biblioteka funkcji do tworzenia szkiców KLL do przybliżonych obliczeń kwantylnych, w tym kll_sketch_agg_bigint, kll_sketch_agg_double i powiązane funkcje.
Biblioteka Apache Parquet zaktualizowana do wersji 1.16.0: Biblioteka Apache Parquet została zaktualizowana do wersji 1.16.0.
Nowe funkcje geoprzestrzenne: Obecnie obsługiwane są następujące nowe funkcje geoprzestrzenne:
-
st_azimuthfunkcja: Zwraca azymut bazujący na północy z pierwszego punktu do drugiego w radianach. -
st_boundaryfunkcja: zwraca granicę geometrii wejściowej. -
st_closestpointfunkcja: Zwraca rzutowanie 2D punktu na 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).
-
Poprawiona wydajność łączenia przestrzennego: Wydajność łączenia przestrzennego została teraz ulepszona dzięki wprowadzeniu obsługi tasowanego łączenia przestrzennego.
Poprawiona wydajność funkcji geoprzestrzennych: Implementacje Photon są teraz dostępne dla funkcji
st_isvalid,st_makelineist_makepolygon.Obsługa wejścia EWKT: Funkcje try_to_geography, try_to_geometry, to_geography i to_geometry akceptują teraz Extended Well-Known Text (EWKT) jako wejście.
Zmiany zachowania
FSCK REPAIR TABLEdomyślnie zawiera naprawę metadanych: Polecenie terazFSCK REPAIR TABLEzawiera początkowy etap naprawy metadanych przed sprawdzeniem brakujących plików danych. Polecenie może pracować nad tabelami z uszkodzonymi punktami kontrolnymi lub nieprawidłowymi wartościami partycji.Współczynniki proporcjonalności wyrównane między odczytami a automatycznie zoptymalizowanymi zapisami: Współczynniki proporcjonalności do rozmiarowania partycji teraz konsekwentnie używają wartości ułamkowych w operacjach odczytu i automatycznie zoptymalizowanych zapisach. Ta zmiana może spowodować powstanie innej liczby zadań dla operacji odczytu.
Wykonanie Python UDF ujednolicone w PySpark i Unity Catalog: Unity Catalog Python UDFs używają teraz Apache Arrow jako domyślnego formatu wymiany danych, poprawiając ogólną wydajność. W ramach tej zmiany
TIMESTAMPwartości przekazane do funkcji zdefiniowanych przez użytkownika języka Python nie zawierają już informacji o strefie czasowej w atrybuciedatetimeobiektutzinfo. Jeśli funkcja zdefiniowana przez użytkownika korzysta z informacji o strefie czasowej, przywróć ją przy użyciudate = date.replace(tzinfo=timezone.utc)polecenia. Zobacz Działanie strefy czasowej dla znaczników czasu dla danych wejściowych przetwarzanych wiersz po wierszu.Ulepszone komunikaty błędów dotyczące problemów z modułem logowania do złącza Kafka: Używając złącza Kafka z niezacienioną klasą modułu logowania, Azure Databricks teraz wyświetla komunikaty o błędach sugerujące użycie poprawnego prefiksu klasy cieniowanej (
kafkashaded.org.apache.kafkalubkafkashaded.software.amazon.msk.auth.iam).Ograniczenia funkcji time travel i zachowanie retencji
VACUUM: Azure Databricks blokuje teraz zapytania funkcji time travel wykraczające poza prógdeletedFileRetentionDurationdla wszystkich tabel. PolecenieVACUUMignoruje argument czasu trwania przechowywania, z wyjątkiem sytuacji, gdy wartość wynosi 0 godzin. Nie można ustawićdeletedFileRetentionDurationwiększych niżlogRetentionDurationlub odwrotnie.BinaryTypejest domyślnie mapowane nabytesw PySpark : W PySparkBinaryTypejest teraz konsekwentnie mapowane na Pythonbytes. Wcześniej, w zależności od kontekstu, PySpark mapowałBinaryTypenabyteslubbytearray. Aby przywrócić stare zachowanie, ustaw wartośćspark.sql.execution.pyspark.binaryAsBytesfalse.Kolumny partycji materialyzowane w plikach Parquet: Tabele partycjonowane Delta teraz materializują kolumny partycji w nowo zapisanych plikach danych Parquet. Wcześniej wartości partycji były przechowywane w metadanych dziennika transakcji delty i odzwierciedlane w ścieżkach katalogu, ale nie są zapisywane jako kolumny w samych plikach Parquet. Ta zmiana może mieć wpływ na obciążenia, które bezpośrednio odczytują pliki Parquet zapisywane przez Delta.
DESCRIBE TABLEwyjście zawiera kolumnę metadanych: Wynik NowDESCRIBE TABLE [EXTENDED]zawiera nowąmetadatakolumnę dla wszystkich typów tabel, zawierającą metadane semantyczne (nazwa wyświetlania, format i synonimy) zdefiniowane w tabeli jako ciąg JSON.
Środowisko bezserwerowe w wersji 5 jest teraz dostępne
25 lutego 2026 r.
Teraz możesz używać środowiska bezserwerowego w wersji 5 w notesach i zadaniach bezserwerowych. Obejmuje to zarówno wersje środowiska procesora CPU, jak i procesora GPU. Zobacz Środowisko wersja 5.
Wersja 17.3
28 października 2025 r.
Ta bezserwerowa wersja obliczeniowa w przybliżeniu odpowiada środowisku Databricks Runtime 17.3 LTS.
Nowe funkcje
LIMIT CAŁA obsługa rekurencyjnych CTE: Teraz możesz użyć klauzuli
LIMIT ALLz rekurencyjnymi wyrażeniami tabelowymi (rCTE), aby wyraźnie określić, że nie należy stosować limitu wierszy do wyników zapytania. Zobacz Typowe wyrażenie tabeli (CTE).Dodawanie do plików w woluminach katalogu Unity zwraca poprawny błąd: próba dodania do istniejących plików w woluminach katalogu Unity zwraca teraz bardziej opisowy komunikat o błędzie, który pomaga zrozumieć i rozwiązać problem.
st_dumpObsługa funkcji: Teraz możesz użyćst_dumpfunkcji do rozkładu obiektu geometrycznego na jego składowe części, zwracając zestaw prostszych geometrii. Zobaczst_dumpfunkcję.Funkcje pierścieni wewnątrz wielokątów są teraz obsługiwane: Możesz teraz używać następujących funkcji do pracy z pierścieniami wewnętrznymi wielokątów:
-
st_numinteriorrings: Zwraca liczbę wewnętrznych granic (pierścieni) wielokąta. Zobaczst_numinteriorringsfunkcję. -
st_interiorringn: Wyodrębnij n-tą wewnętrzną granicę wielokąta i zwróć ją jako linię łamaną. Zobaczst_interiorringnfunkcję.
-
EXECUTE IMMEDIATE używając wyrażeń stałych: Instrukcja
EXECUTE IMMEDIATEobsługuje teraz użycie wyrażeń stałych w ciągu zapytania, co pozwala na bardziej elastyczne dynamiczne wykonywanie SQL. Zobacz EXECUTE IMMEDIATE.Pozwól
spark.sql.files.maxPartitionBytesna obliczenia serwerowe: Teraz możesz skonfigurowaćspark.sql.files.maxPartitionBytesParametr konfiguracyjny Spark na obliczeniach serwerless, aby kontrolować maksymalną liczbę bajtów do pakowania na jedną partycję podczas odczytu plików. Zobacz Konfigurowanie właściwości platformy Spark dla notesów i zadań bezserwerowych.
Zmiany zachowania
Obsługa informacji o odświeżaniu MV/ST w DESCRIBE EXTENDED AS JSON: Polecenie
DESCRIBE EXTENDED AS JSONzawiera teraz informacje o odświeżaniu zmaterializowanych widoków i tabel strumieniowych, zapewniając wgląd w czas i stan ostatniego odświeżenia.Dodaj kolumnę metadanych do DESCRIBE QUERY i DESCRIBE TABLE: Polecenia
DESCRIBE QUERYiDESCRIBE TABLEteraz zawierają kolumnę metadanych w swoim wyjściu, dostarczając dodatkowych informacji o właściwościach i cechach każdej kolumny.Poprawna obsługa struktur null przy usuwaniu kolumn NullType: Azure Databricks teraz poprawnie obsługuje wartości struktur null przy usuwaniu kolumn z
NullType, zapobiegając potencjalnemu uszkodzeniu danych lub nieoczekiwanemu zachowaniu.Ulepszona obsługa struktur null w Parquet: Ta wersja zawiera usprawnienia w sposobie obsługi wartości struktur null podczas odczytu i zapisu do plików Parquet, zapewniając bardziej spójne i poprawne zachowanie.
Aktualizacja biblioteki aws-msk-iam-auth dla Kafki: Biblioteka
aws-msk-iam-authużywana do uwierzytelniania Amazon MSK IAM została zaktualizowana do najnowszej wersji, co zapewnia lepsze bezpieczeństwo i kompatybilność.
Wersja 17.2
25 września 2025 r.
Ta bezserwerowa wersja obliczeniowa w przybliżeniu odpowiada środowisku Databricks Runtime 17.2.
Nowe funkcje
-
ST_ExteriorRingfunkcja jest teraz obsługiwana: Możesz teraz użyćST_ExteriorRingfunkcji do wyodrębnienia zewnętrznej granicy wielokąta i zwrócenia go jako ciąg liniowy. Zobaczst_exteriorringfunkcję.
Obsługa słowa kluczowego
TEMPORARYprzy tworzeniu widoków metryk: Teraz możesz używać słowa kluczowegoTEMPORARYpodczas tworzenia widoku metryki. Tymczasowe widoki metryk są widoczne tylko w sesji, która je utworzyła i są usuwane po zakończeniu sesji. Zobacz CREATE VIEW.Używaj natywnego I/O na
LokiFileSystem.getFileStatusS3:LokiFileSystem.getFileStatusteraz używa natywnego stosu I/O do ruchu Amazon S3 i zwracaorg.apache.hadoop.fs.FileStatusobiekty zamiastshaded.databricks.org.apache.hadoop.fs.s3a.S3AFileStatus.Auto Loader wnioskuje kolumny partycji w trybie
singleVariantColumn: Auto Loader teraz wnioskuje kolumny partycji na podstawie ścieżek plików podczas importowania danych jako półstrukturalny typ variant za pomocą opcjisingleVariantColumn. Wcześniej kolumny partycji nie były automatycznie wykrywane. Zobacz Automatyczne ładowanie.
Zmiany zachowania
DESCRIBE CONNECTIONpokazuje ustawienia środowiska dla połączeń JDBC : Azure Databricks teraz zawiera ustawienia środowiska zdefiniowane przez użytkownika w wyjściuDESCRIBE CONNECTIONdla połączeń JDBC, które obsługują niestandardowe sterowniki i działają w izolacji. Inne typy połączeń pozostają niezmienione.Opcja obcięcia historii Uniform podczas migracji tabel zarządzanych: Teraz możesz obciąć historię Uniform podczas migracji tabel z włączonym Uniform/Iceberg za pomocą
ALTER TABLE...SET MANAGED. Upraszcza to migracje i zmniejsza przestoje w porównaniu z ręcznym wyłączaniem i ponownym włączaniem Uniform.Poprawne wyniki dla
splitz pustym regexem i dodatnim limitem: Azure Databricks teraz zwraca poprawne wyniki przy użyciusplit functionz pustym regexem i dodatnim limitem. Wcześniej funkcja niepoprawnie obcinała pozostały ciąg zamiast dołączać go do ostatniego elementu.Naprawa obsługi błędów
url_decodeitry_url_decodew Photon: W Photontry_url_decode()iurl_decode()zfailOnError = falsezwracają terazNULLdla nieprawidłowych ciągów zakodowanych w formacie URL zamiast powodować niepowodzenie zapytania.Wspólne środowisko wykonawcze dla Unity Catalog Python UDTFs: Azure Databricks obecnie udostępnia środowisko wykonawcze dla funkcji tabelarycznych zdefiniowanych przez użytkownika w Pythonie (UDTFs) należących do tego samego właściciela i tej samej sesji Spark. Klauzula opcjonalna
STRICT ISOLATIONjest dostępna, aby opcjonalnie wyłączyć udostępnianie UDTF z efektami ubocznymi, takimi jak modyfikowanie zmiennych środowiskowych lub wykonywanie arbitralnego kodu.
Wersja 17.1
19 sierpnia 2025 r.
Ta bezserwerowa wersja obliczeniowa w przybliżeniu odpowiada środowisku Databricks Runtime 17.1.
Nowe funkcje
- Zmniejszone zużycie pamięci dla szerokich schematów w Photon Writer: Wprowadzono ulepszenia w silniku Photon, które znacząco zmniejszają zużycie pamięci dla szerokich schematów, rozwiązując scenariusze, które wcześniej skutkowały błędami wyczerpania pamięci.
Zmiany zachowania
Błąd zgłaszany dla nieprawidłowych
CHECKograniczeń: Azure Databricks teraz zgłaszaAnalysisException, jeśli wyrażenie ograniczeniaCHECKnie może zostać rozwiązane podczas walidacji ograniczeń.Konektor Pulsara nie udostępnia już Bouncy Castle: Biblioteka Bouncy Castle jest teraz zacieniona w złączu Pulsara, aby zapobiec konfliktom ścieżek klasowych. W związku z tym zadania Spark nie mają już dostępu do
org.bouncycastle.*klas z poziomu łącznika. Jeśli kod zależy od zamku Bouncy, zainstaluj bibliotekę ręcznie w środowisku bezserwerowym.Auto Loader domyślnie używa zdarzeń plików, jeśli są dostępne: Auto Loader używa zdarzeń plików zamiast katalogu, gdy ścieżka ładowania jest zewnętrzną lokalizacją z włączonymi zdarzeniami plików. Wartość domyślna dla
useManagedFileEventsjest terazif_available(byłofalse). Może to poprawić wydajność przetwarzania danych i zapisuje ostrzeżenie, jeśli zdarzenia plików nie są jeszcze włączone.Konektor Teradata naprawia porównywanie ciągów znaków z rozróżnianiem wielkości liter: Złącze Teradata domyślnie używa
TMODE=ANSI, dostosowując zachowanie porównywania ciągów znaków do Azure Databricks i czyniąc je wrażliwym na wielkość liter. Ta zmiana jest konfigurowalna i nie ma wpływu na istniejących użytkowników, chyba że wyrazi zgodę.
Środowisko bezserwerowe w wersji 4
13 sierpnia 2025 r.
Środowisko w wersji 4 jest teraz dostępne w notesach i zadaniach bezserwerowych. Ta wersja środowiska obejmuje uaktualnienia bibliotek i aktualizacje interfejsu API. Zobacz Środowisko w wersji 4.
Wersja 17.0
24 lipca 2025 r.
Ta bezserwerowa wersja obliczeniowa w przybliżeniu odpowiada środowisku Databricks Runtime 17.0.
Nowe funkcje
Wsparcie procedur SQL: Skrypty SQL mogą być teraz enkapsulowane w procedurze przechowywanej jako aktywa wielokrotnego użytku w Unity Catalog. Procedurę można utworzyć przy użyciu polecenia CREATE PROCEDURE , a następnie wywołać ją za pomocą polecenia CALL .
Ustaw domyślną kolację dla funkcji SQL: Użycie nowej
DEFAULT COLLATIONklauzuli w poleceniu CREATE FUNCTION definiuje domyślną kolację używaną dla parametrówSTRING, typu zwracanego orazSTRINGliterałów w treści funkcji.Wsparcie dla rekurencyjnych wspólnych wyrażeń tabelowych (rCTE): Azure Databricks obecnie obsługuje nawigację po danych hierarchicznych za pomocą rekurencyjnych wspólnych wyrażeń tabelowych (rCTE). Użyj rekursywnego CTE z
UNION ALLdo śledzenia relacji rekurencyjnej.PySpark i Spark Connect teraz obsługują interfejs API DataFrames
df.mergeInto: PySpark i Spark Connect teraz obsługują interfejs APIdf.mergeInto.Wsparcie
ALL CATALOGSwSHOWSCHEMAS: SkładniaSHOW SCHEMASzostała zaktualizowana, aby akceptowaćALL CATALOGS, umożliwiając iterację przez wszystkie aktywne katalogi obsługujące przestrzenie nazw. Atrybuty wyjściowe zawierają teraz kolumnę wskazującą katalog odpowiadającej przestrzeni nazw.Klastrowanie płynne teraz wydajniej kompaktuje wektory usuwania: tabele Delta z klastrowaniem płynnym wydajniej stosują zmiany fizyczne z wektorów usuwania, gdy
OPTIMIZEjest uruchomione. Aby uzyskać więcej informacji, zobacz Stosowanie zmian do plików danych Parquet.Zezwalanie na wyrażenia niedeterministyczne w wartościach kolumn
UPDATE/INSERTdla operacjiMERGE: Azure Databricks umożliwia teraz używanie wyrażeń niedeterministycznych w aktualizowanych i wstawianych wartościach kolumn w operacjachMERGE. Na przykład można teraz generować wartości dynamiczne lub losowe dla kolumn przy użyciu wyrażeń, takich jakrand().Zmień API Delta MERGE Python tak, aby zwracały DataFrame zamiast Unit: API Python
MERGE(takie jakDeltaMergeBuilder) również zwracają DataFrame, tak jak robi to SQL API, z tymi samymi rezultatami.
Zmiany zachowania
Zmiana zachowania dla opcji inkrementalnego katalogu w Auto Loader: Wartość wycofanej opcji Auto Loader
cloudFiles.useIncrementalListingjest teraz ustawiona na domyślną wartośćfalse. W związku z tym ta zmiana powoduje, że moduł automatycznego ładowania wykonuje pełną listę katalogów przy każdym uruchomieniu. Databricks odradza użycie tej opcji. Zamiast tego należy użyć trybu powiadomień plików ze zdarzeniami plików.CREATE VIEWKlauzule na poziomie kolumn teraz generują błędy, gdy klauzula dotyczyłaby tylko widoków materializowanych:CREATE VIEWpolecenia określające klauzulę na poziomie kolumny ważną tylko dlaMATERIALIZED VIEWS teraz generują błąd. Objęte klauzule obejmująNOT NULL, określone typy danych,DEFAULTiCOLUMN MASK.
Cele wydajności dla rozwiązań bezserwerowych są teraz ogólnie dostępne.
10 czerwca 2025 r.
Wybranie ustawienia wydajności bezserwerowej dla zadań i potoków jest teraz ogólnie dostępne.
Po włączeniu ustawienia Zoptymalizowane pod kątem wydajności obciążenie jest zoptymalizowane pod kątem szybszego uruchamiania i czasu wykonywania. Po wyłączeniu bezserwerowe obciążenie działa w trybie wydajności standardowej, który jest zoptymalizowany pod kątem kosztów i ma nieco większe opóźnienie uruchamiania.
Aby uzyskać więcej informacji, zobacz Wybieranie trybu wydajności i Wybieranie trybu wydajności.
Wersja 16.4
28 maja 2025 r.
Ta bezserwerowa wersja obliczeniowa w przybliżeniu odpowiada środowisku Databricks Runtime 16.4 LTS.
Zmiany zachowania
Poprawka uwzględniania opcji dla buforowanych planów źródeł danych: Ta aktualizacja zapewnia, że odczyty tabel uwzględniają opcje ustawione dla wszystkich planów źródeł danych po zapisaniu w pamięci podręcznej, a nie tylko dla pierwszego odczytu tabeli zapisanego w pamięci podręcznej. Wcześniej odczyty tabeli źródła danych buforowały pierwszy plan, ale nie uwzględniały różnych opcji w kolejnych zapytaniach.
Włącz flagę, aby wymagać materializacji źródła dla operacji MERGE: Wcześniej użytkownicy mogli wyłączyć materializację źródła w MERGE, ustawiając
merge.materializeSourcenanone. Po włączeniu nowej flagi materializacja źródła będzie zawsze wymagana, a próby jej wyłączenia spowodują błąd. Usługa Databricks planuje włączyć tę flagę tylko dla klientów, którzy wcześniej nie zmienili tej konfiguracji, więc większość użytkowników nie powinna mieć żadnych zmian w zachowaniu.
Nowe funkcje
Auto Loader może teraz czyścić przetworzone pliki z katalogu źródłowego: Możesz teraz skonfigurować funkcję Auto Loader tak, aby automatycznie przenosiła lub usuwała przetworzone pliki. Włącz tę funkcję, używając opcji
cloudFiles.cleanSourceAuto Loader. Zobacz Ogólne w sekcjicloudFiles.cleanSource.Dodano wsparcie dla poszerzania typów dla strumieniowania z tabel Delta: Ta wersja dodaje wsparcie dla strumieniowania z tabeli Delta zawierającej danymi w kolumnach o poszerzonych typach oraz udostępnianie tabeli Delta z włączonym rozszerzaniem typów za pomocą udostępniania Delty z Databricks do Databricks. Funkcja rozszerzania typu jest obecnie dostępna w publicznej wersji zapoznawczej. Sprawdź Rozszerzanie typu.
Obsługa IDENTIFIER jest teraz dostępna w DBSQL dla operacji katalogowych: Można teraz używać klauzuli
IDENTIFIERpodczas wykonywania następujących operacji katalogowych:CREATE CATALOGDROP CATALOGCOMMENT ON CATALOGALTER CATALOG
Ta nowa składnia umożliwia dynamiczne określanie nazw katalogów przy użyciu parametrów zdefiniowanych dla tych operacji, co umożliwia bardziej elastyczne i wielokrotnego użytku przepływy pracy SQL. Jako przykład składni rozważ
CREATE CATALOG IDENTIFIER(:param), gdzieparamjest podany parametr, aby określić nazwę katalogu. Zobacz IDENTIFIER klauzulę.Wyrażenia kolacjonowane teraz dostarczają automatycznie generowanych nietrwałych aliasów: Automatycznie generowane aliasy dla wyrażeń kolacjonowanych deterministycznie uwzględniają informacje
COLLATE. Automatycznie wygenerowane aliasy są przejściowe (niestabilne) i nie należy na nich polegać. Zamiast tego, jako najlepsze rozwiązanie, należy używaćexpression AS aliasspójnie i jawnie.Dodano obsługę interfejsu API filtrowania pushdown dla źródeł danych Python: Obliczenia bezserwerowe obsługują teraz filtrowanie pushdown dla wsadowego odczytu ze źródeł danych Python jako interfejs API, podobnie jak interfejs
SupportsPushDownFilters. Zobacz informacje o wersji 16.4 LTS.Ulepszenie tracebacku w Python UDF: Traceback UDF w Python zawiera teraz ramki zarówno ze sterownika, jak i wykonawcy oraz ramki klienckie, co skutkuje lepszymi komunikatami o błędach, które zawierają więcej istotnych szczegółów (takich jak zawartość linii ramek wewnątrz UDF).
UNION/EXCEPT/INTERSECT w definicji widoku i EXECUTE IMMEDIATE teraz zwracają poprawne wyniki: Zapytania dotyczące tymczasowych i trwałych definicji widoków z operacjami
UNION//EXCEPTINTERSECTna najwyższym poziomie oraz kolumnami bez aliasów wcześniej zwracały błędne wyniki, ponieważINTERSECTUNION/EXCEPT/ słowa kluczowe były uznawane za aliasy. Teraz te zapytania będą poprawnie wykonywać całą operację zestawu.Przewodnik po planie conf i migracji źródeł danych: Odczyt z tabeli źródłowej pliku poprawnie uwzględnia opcje zapytań (np. delimitery). Wcześniej pierwszy plan zapytania został zapisany w pamięci podręcznej, a zmiany opcji dokonane później zostały zignorowane. Aby przywrócić poprzednie zachowanie, ustaw
spark.sql.legacy.readFileSourceTableCacheIgnoreOptionsna wartośćtrue.Nowe
listaggistring_aggfunkcje: Od tej wersji możesz używać funkcjilistagglubstring_aggdo agregowaniaSTRINGiBINARYwartości w grupie. Zobacz string_agg.
Tryb wydajności można teraz konfigurować w zadaniach bezserwerowych
14 kwietnia 2025 r.
Teraz możesz wybrać tryb wydajności zadania bezserwerowego przy użyciu ustawienia Zoptymalizowane pod kątem wydajności na stronie szczegółów zadania. Wcześniej wszystkie zadania bezserwerowe były zoptymalizowane pod kątem wydajności. Teraz możesz wyłączyć ustawienie Zoptymalizowane pod kątem wydajności , aby uruchomić obciążenie w trybie wydajności standardowej. Standardowy tryb peformance został zaprojektowany w celu zmniejszenia kosztów obciążeń, w których dopuszczalne jest nieco wyższe opóźnienie uruchamiania.
Tryb wydajności standardowej nie jest obsługiwany w przypadku potoków ciągłych, jednorazowych przebiegów utworzonych przy użyciu runs/submit punktu końcowego lub zadań zadania magazynu SQL, w tym zmaterializowanych widoków.
Aby uzyskać więcej informacji na temat trybu wydajności, zobacz Wybieranie trybu wydajności.
Wersja 16.3
9 kwietnia 2025 r.
Ta bezserwerowa wersja obliczeniowa w przybliżeniu odpowiada środowisku Databricks Runtime 16.3.
Zmiany zachowania
-
*Ulepszony komunikat o błędzie, gdy do
kafka.sasl.client.callback.handler.classprzypisano nieprawidłową wartość: Ta wersja zawiera zmianę w celu zwracania bardziej opisowego komunikatu o błędzie, gdy dokafka.sasl.client.callback.handler.classprzypisano nieprawidłową wartość.
Nowe funkcje
Obsługa odczytu stanu jest ogólnie dostępna: Obsługa odczytu informacji o stanie dla zapytań Structured Streaming jest obecnie powszechnie dostępna w środowisku bezserwerowym. Zobacz Jak odczytać informacje o stanie strukturalnego strumieniowania danych.
Obniżenie wersji protokołu tabeli Delta z ochroną punktów kontrolnych jest ogólnie dostępne:
DROP FEATUREjest ogólnie dostępne do usuwania funkcji tabeli Delta Lake i obniżania wersji protokołu tabeli. DomyślnieDROP FEATUREtworzy teraz chronione punkty kontrolne, aby zapewnić bardziej zoptymalizowane i uproszczone doświadczenie związane z przesiadką, które nie wymaga czasu oczekiwania ani skracania historii. Zobacz Usuwanie funkcji tabeli Delta Lake i obniżanie poziomu protokołu tabeli.Pisanie proceduralnych skryptów SQL opartych na ANSI SQL/PSM (Public Preview): Teraz możesz korzystać z możliwości skryptowania opartych na ANSI SQL/PSM do pisania proceduralnej logiki w SQL, w tym instrukcji przepływu sterowania, zmiennych lokalnych i obsługi wyjątków. Zobacz skrypty SQL.
Domyślna sortacja na poziomie tabel i widoków: Teraz możesz określić domyślną sortację dla tabel i widoków. Upraszcza to tworzenie tabel i widoków, w których wszystkie lub większość kolumn ma to samo sortowanie. Zobacz Sortowanie.
Nowe funkcje H3: Dodano trzy nowe funkcje H3: h3_try_coverash3, h3_try_coverash3string i h3_try_tessellateaswkb.
Zmodyfikuj wiele kolumn tabeli w jednej ALTER TABLE instrukcji: Teraz możesz zmienić wiele kolumn w jednej
ALTER TABLEinstrukcji. Zobacz ALTER TABLE klauzulę ... COLUMN
Wersja 16.2
13 marca 2025 r.
Ta bezserwerowa wersja obliczeniowa w przybliżeniu odpowiada Databricks Runtime 16.2.
Zmiany zachowania
W Delta Sharing historia tabeli jest domyślnie włączona: Udostępnienia utworzone za pomocą polecenia
ALTER SHARE <share> ADD TABLE <table>SQL mają domyślnie włączone udostępnianie historii (WITH HISTORY) w trybie domyślnym. Zobacz ALTER SHARE.Instrukcje SQL w poświadczeniu źródłowym zwracają błąd, gdy występuje niedopasowanie typu poświadczenia: Jeśli typ poświadczenia określony w instrukcji SQL zarządzania poświadczeniami nie odpowiada typowi argumentu poświadczenia, zwracany jest błąd i instrukcja nie jest wykonywana.
Nowe funkcje
Użyj
timestampdiff×tampaddw wyrażeniach kolumn generowanych Teraz możesz używać funkcji timestampdiff i timestampadd w wyrażeniach kolumn generowanych przez Delta Lake. Zobacz kolumny wygenerowane przez Delta Lake .Aktualizacja:
DESCRIBE TABLEzwraca metadane jako ustrukturyzowany JSON: Teraz możesz użyć poleceniaDESCRIBE TABLE AS JSON, aby zwrócić metadane tabeli jako dokument JSON. Dane wyjściowe JSON są bardziej ustrukturyzowane niż domyślny raport czytelny dla człowieka i mogą służyć do programowego interpretowania schematu tabeli. Aby dowiedzieć się więcej, zobacz DESCRIBE TABLE AS JSON.Sortowania nieuwzględniające końcowych spacji: Serverless obsługuje teraz sortowania nieuwzględniające końcowych spacji. Na przykład te sortowania traktują
'Hello'i'Hello 'jako równe. Więcej informacji można znaleźć w porządku sortowania RTRIM.
Poprawki
-
Ulepszone przetwarzanie klonów przyrostowych: Ta wersja zawiera poprawkę dla przypadku brzegowego, gdy przyrostowy
CLONEmoże ponownie skopiować pliki już skopiowane z tabeli źródłowej do tabeli docelowej. Zobacz Klonowanie tabeli w usłudze Azure Databricks.
Wysokie ustawienie pamięci dostępne w notesach bezserwerowych (wersja publiczna)
7 lutego 2025 r.
Teraz można skonfigurować więcej pamięci dla zadań w notebookach obliczeniowych bezserwerowych. To ustawienie można zastosować zarówno do obciążeń notatnika interaktywnego, jak i zaplanowanego.
Użycie bezserwerowe z wysoką ilością pamięci ma wyższy współczynnik emisji jednostek DBU niż standardowa pamięć.
Aby uzyskać więcej informacji, zobacz Use high memory serverless compute (Korzystanie z obliczeń bezserwerowych o wysokiej ilości pamięci).
Wersja 16.1
5 lutego 2025 r.
Ta bezserwerowa wersja obliczeniowa w przybliżeniu odpowiada Databricks Runtime 16.0 i Databricks Runtime 16.1.
Nowe funkcje
-
Wsparcie Avro dla schematu rekurencyjnego: Teraz możesz użyć tej opcji
recursiveFieldMaxDepthz funkcjąfrom_avroi ze źródłem danychavro. Ta opcja ustawia maksymalną głębokość rekursji schematu w źródle danych Avro. Zobacz Odczytywanie i zapisywanie strumieniowych danych Avro. - Rozszerzone wsparcie dla Confluent Schema Registry dla Avro: Serwerless teraz obsługuje odwołania do schematu Avro z Confluent Schema Registry. Zobacz Uwierzytelnij się w zewnętrznym rejestrze schematów Confluent.
-
Wymuszanie ponownego klasterowania w tabelach z grupowaniem płynnym: Teraz możesz użyć składni,
OPTIMIZE FULLaby wymusić ponowne klasteryzowanie wszystkich rekordów w tabeli z włączonym klasterowaniem płynnym. Zobacz Wymuszanie ponownego skupiania. - API Delta dla Python obsługują teraz kolumny tożsamości: Możesz teraz używać API Delta dla Python do tworzenia tabel z kolumnami tożsamości. Zobacz kolumny identyfikacyjne.
-
Tworzenie tabel w grupach płynnych podczas zapisów streamingowych: Teraz możesz włączyć
clusterByklasterowanie płynne podczas tworzenia nowych tabel za pomocą zapisów Structured Streaming. Zobacz Włączanie klastrowania cieczy. - Wsparcie dla OPTIMIZE Klauzuli FULL: Obliczenia serwerowe obsługują teraz klauzulę OPTIMIZE FULL . Ta klauzula optymalizuje wszystkie rekordy w tabeli, która korzysta z klastrowania cieczy, w tym danych, które mogły wcześniej zostać klastrowane.
-
Obsługa specyfikacji opcji WITH w INSERT oraz odwołaniach do tabel: Bezserwerowe zasoby obliczeniowe obsługują teraz specyfikację opcji dla odwołań do tabel i nazw tabel w instrukcji
INSERT, których można używać do sterowania zachowaniem źródeł danych. -
Nowe funkcje SQL: Następujące funkcje SQL są teraz dostępne w bezserwerowych obliczeniach:
- try_url_decode jest wersją url_decode odporną na błędy.
-
zeroifnull zwraca 0, jeśli wyrażenie wejściowe do
zeroifnull()funkcji toNULL. -
nullifzero zwraca
NULL, jeśli dane wejściowe są równe 0, lub dane wejściowe, jeśli nie są równe 0. - dayname(expr) zwraca trzyliterowy angielski akronim dla dnia tygodnia i podanej daty.
- uniform(expr1, expr2 [,seed]) zwraca losową wartość o niezależnych i identycznie rozkładających się wartościach w określonym zakresie liczb.
-
randstr(length) zwraca losowy ciąg
lengthznaków alfanumerycznych.
-
Włączanie automatycznej ewolucji schematu podczas scalania danych z tabelą Delta: Dodano wsparcie dla składowej
withSchemaEvolution()klasyDeltaMergeBuilder. UżyjwithSchemaEvolution()do włączenia automatycznej ewolucji schematu podczas operacjiMERGE. Na przykładmergeBuilder.whenMatched(...).withSchemaEvolution().execute()}}. -
Obsługa porządków sortowania w Apache Spark jest dostępna w publicznej wersji zapoznawczej: Teraz możesz przypisać kolumnom i wyrażeniom
STRINGporządki sortowania z uwzględnieniem języka, niewrażliwe na wielkość liter i niewrażliwe na akcenty. Te sortowania są używane w porównaniach ciągów, sortowaniu, operacjach grupowania i wielu funkcjach ciągów. Zobacz Sortowanie. - Wsparcie dla kolacji w Delta Lake jest dostępne w Public Preview: Teraz możesz definiować kolacje dla kolumn podczas tworzenia lub zmiany tabeli Delta. Zobacz Obsługa sortowania dla Delta Lake.
-
LITEtryb czyszczenia jest dostępny w publicznej wersji zapoznawczej: Teraz możesz użyćVACUUM table_name LITE, aby wykonać lżejszą operację czyszczenia, która wykorzystuje metadane z dziennika transakcji Delta. Zobacz Tryb pełny kontra tryb lite i VACUUM. -
Wsparcie parametryzacji klauzuli
USE CATALOG with IDENTIFIER:Klauzula IDENTIFIER jest teraz obsługiwana dla instrukcji USE CATALOG. Dzięki tej obsłudze można sparametryzować bieżący wykaz na podstawie zmiennej ciągu lub znacznika parametru. - COMMENT ON Obsługa COLUMN dla tabel i widoków: Instrukcja COMMENT ON teraz obsługuje zmianę komentarzy dla kolumn widoków i tabel.
- Wywołanie parametrów nazwanych dla większej liczby funkcji: Następujące funkcje obsługują wywołanie parametrów nazwanych:
-
Parametr
SYNC METADATApolecenia REPAIR TABLE jest obsługiwany przez metastore Hive: Teraz możesz użyć parametruSYNC METADATAwraz zREPAIR TABLEpoleceniem do aktualizacji metadanych tabeli zarządzanej metastore Hive. Zobacz REPAIR TABLE. -
Zwiększona integralność danych dla skompresowanych partii Apache Arrow: Aby dodatkowo chronić przed uszkodzeniem danych, każda
LZ4skompresowana partia Arrow zawiera teraz sumyLZ4kontrolne zawartości i bloków. Zobacz opis formatu ramek LZ4.
-
Wbudowany sterownik Oracle JDBC: Środowisko obliczeniowe bezserwerowe ma teraz wbudowany sterownik Oracle JDBC. Jeśli używasz pliku JAR sterownika JDBC przekazanego przez klienta za pośrednictwem
DriverManager, musisz ponownie napisać skrypty, aby jawnie użyć niestandardowego pliku JAR. W przeciwnym razie jest używany wbudowany sterownik. Ten sterownik obsługuje jedynie federację Lakehouse. W innych przypadkach użycia musisz dostarczyć własny sterownik. -
Bardziej szczegółowe błędy dla tabel Delta dostępnych za pomocą ścieżek: Nowe doświadczenie z komunikatami błędów dla tabel Delta dostępnych za pomocą ścieżek jest już dostępne. Wszystkie wyjątki są teraz przekazywane do użytkownika. Wyjątek
DELTA_MISSING_DELTA_TABLEjest teraz zarezerwowany, gdy nie można odczytać podstawowych plików jako tabeli delty.
Zmiany zachowania
- Niezgodna zmiana: zakończono cykl życia hostowanego RStudio: Wraz z tą wersją serwer RStudio hostowany w Databricks zakończył cykl życia i nie jest dostępny w żadnym obszarze roboczym Azure Databricks działającym na bezserwerowych zasobach obliczeniowych. Aby dowiedzieć się więcej i zapoznać się z listą alternatyw dla programu RStudio, zobacz Connect to a Databricks-hosted RStudio Server (Łączenie z serwerem RStudio hostowanym w usłudze Databricks).
Zmiana łamiąca: Usunięcie wsparcia dla zmiany
byte,short,intilongtypów na szersze typy: Aby zapewnić spójne zachowanie w tabelach Delta i Apache Iceberg, następujące zmiany typów danych nie mogą być już stosowane do tabel z włączoną funkcją rozszerzania typów :-
byte,short,intorazlongdodecimal. -
byte,short, orazintdodouble.
-
Poprawne parsowanie wzorców regex z negacją w zagnieżdżonym grupowaniu znaków: To wydanie zawiera zmianę wspierającą poprawne parsowanie wzorców regex z negacją w zagnieżdżonym grupowaniu znaków. Na przykład
[^[abc]]zostanie przeanalizowany jako "dowolny znak, który nie jest jednym z "abc".Ponadto zachowanie aplikacji Photon było niespójne z platformą Spark dla klas znaków zagnieżdżonych. Wzorce wyrażeń regularnych zawierające zagnieżdżone klasy znaków nie będą już korzystać z systemu Photon i zamiast tego będą korzystać z platformy Spark. Zagnieżdżona klasa znaków to dowolny wzorzec zawierający nawiasy kwadratowe w obrębie innych nawiasów kwadratowych, takich jak
[[a-c][1-3]].Popraw wykrywanie duplikatów w Delta Lake
MERGE:MERGEteraz uwzględnia warunki określone w klauzuliWHEN MATCHED. Zobacz Upsert do tabeli Delta Lake przy użyciu operacji scalania.Funkcjonalność
addArtifact()jest teraz spójna we wszystkich typach obliczeń: gdy używaszaddArtifact(archive = True), aby dodać zależność do bezserwerowych zasobów obliczeniowych, archiwum jest automatycznie rozpakowywane.
Poprawki
- Przesunięcia stref czasowych obejmują teraz sekundy, gdy są serializowane do CSV, JSON i XML: Znaczniki czasowe z przesunięciami stref czasowych zawierającymi sekundy (typowe dla znaczników sprzed 1900 roku) pomijały sekundy przy serializacji do CSV, JSON i XML. Domyślne formatowanie znacznika czasu zostało naprawione i teraz zwraca poprawne wartości przesunięcia dla tych znaczników czasu.
Inne zmiany
-
Przemianowane kody błędów dla źródła Structured Streaming
cloudFiles: Następujące kody błędów zostały przemianowane:-
_LEGACY_ERROR_TEMP_DBR_0143zmieniono nazwę naCF_INCORRECT_STREAM_USAGE. -
_LEGACY_ERROR_TEMP_DBR_0260zmieniono nazwę naCF_INCORRECT_BATCH_USAGE.
-
Wersja 15.4
28 października 2024 r.
Ta bezserwerowa wersja obliczeniowa w przybliżeniu odpowiada środowisku Databricks Runtime 15.4
Nowe funkcje
-
Funkcje walidacyjne UTF-8: To wydanie wprowadza następujące funkcje do weryfikacji ciągów UTF-8:
- is_valid_utf8 weryfikuje, czy ciąg jest poprawnym ciągiem UTF-8.
- make_valid_utf8 konwertuje potencjalnie nieprawidłowy ciąg UTF-8 na poprawny ciąg UTF-8 za pomocą znaków podstawiających.
- validate_utf8 powoduje błąd, jeśli dane wejście nie jest poprawnym ciągiem UTF-8.
-
try_validate_utf8 zwraca
NULL, jeśli dane wejście nie jest poprawnym ciągiem UTF-8.
- Włącz UniForm Iceberg używając ALTER TABLE: Teraz możesz włączyć UniForm Iceberg na istniejących tabelach bez konieczności przepisywania plików danych. Zobacz W istniejącej tabeli.
-
try_url_decode funkcja: W tej wersji wprowadzono funkcję try_url_decode , która dekoduje łańcuch zakodowany przez URL. Jeśli ciąg nie ma poprawnego formatu, funkcja zwraca
NULLzamiast zgłaszać błąd. -
Opcjonalnie pozwól optymalizatorowi polegać na niewymuszonych ograniczeniach klucza obcego: Aby poprawić wydajność zapytań, możesz teraz określić słowo kluczowe
RELYdla ograniczeńFOREIGN KEYpodczas CREATE lub ALTER tabeli. -
Równoległe uruchamianie zadań dla selektywnych nadpisań: Przy selektywnych nadpisaniach z użyciem
replaceWherezadania usuwające dane i wstawiające nowe dane są teraz uruchamiane równolegle, co poprawia wydajność zapytań i wykorzystanie klastra. -
Lepsza wydajność change data feed przy selektywnych nadpisaniach: Selektywne nadpisywania przy użyciu
replaceWherew tabelach z change data feed nie zapisują już osobnych plików danych zmian dla wstawionych danych. Te operacje używają ukrytej kolumny_change_typeobecnej w źródłowych plikach danych Parquet do rejestrowania zmian bez nadmiernego wzmacniania zapisu. -
Ulepszona latencja zapytań dla polecenia
COPY INTO: Ta wersja zawiera zmianę, która poprawia latencję zapytań dla poleceniaCOPY INTO. To udoskonalenie jest realizowane poprzez asynchroniczne ładowanie stanu przez magazyn stanów RocksDB. Dzięki tej zmianie powinna być zauważalna poprawa czasu uruchamiania zapytań z dużymi stanami danych, takich jak zapytania z dużą liczbą już pozyskanych plików. -
Obsługa usuwania funkcji tabeli check constraints: Teraz możesz usunąć funkcję tabeli
checkConstraintscheck constraints z tabeli Delta, używającALTER TABLE table_name DROP FEATURE checkConstraints. Zobacz Usuwanie ograniczeń sprawdzania.
Zmiany zachowania
Zmiana wiązania schematu dla widoków: Gdy typy danych w zapytaniu widoku zmieniają się w porównaniu z tymi, które były używane przy jego pierwszym utworzeniu, Databricks przestaje rzucać błędy dotyczące odniesień do widoku, gdy nie można wykonać bezpiecznego castingu.
Zamiast tego, widok rekompensuje, stosując regularne zasady rzutowania tam, gdzie to możliwe. Ta zmiana umożliwia usłudze Databricks łatwiejsze tolerowanie zmian w schemacie tabeli.
Zakaz tolerowania nieudokumentowanej składni
!dlaNOTpoza logiką boolowską: Databricks nie będzie już tolerować używania!jako synonimuNOTpoza logiką boolowską. Ta zmiana zmniejsza zamieszanie, jest zgodna ze standardem SQL i sprawia, że usługa SQL jest bardziej przenośna. Przykład:CREATE ... IF ! EXISTS, IS ! NULL,! NULLwłasność kolumny lub pola,! INoraz ! BETWEEN należy zastąpić na:CREATE ... IF NOT EXISTS,IS NOT NULL, właściwość kolumny lub polaNOT IN, orazNOT BETWEENNOT NULL.Operator prefiksu
!logicznego (np.!is_mgrlub!(true AND false)) nie ma wpływu na tę zmianę.Niedozwolone są nieudokumentowane i nieprzetworzone części składni definicji kolumn w widokach: Databricks obsługuje CREATE VIEW z nazwanymi kolumnami i komentarzami do kolumn.
Specyfikacja typów kolumn,
NOT NULLograniczeń lubDEFAULTjest tolerowana w ramach składni bez żadnego wpływu. Usługa Databricks usunie tę tolerancję składni. Dzięki temu można zmniejszyć zamieszanie, dopasować je do standardu SQL i umożliwić przyszłe ulepszenia.Spójne obsługiwanie błędów dla dekodowania Base64 w Spark i Photon: Ta wersja zmienia sposób, w jaki Photon obsługuje błędy dekodowania Base64, aby dopasować się do obsługi tych błędów przez Spark. Przed wprowadzeniem tych zmian ścieżka generowania kodu Photon i Spark czasami nie podnosiła wyjątków parsowania, podczas gdy wykonanie interpretowane przez Spark poprawnie podnosiło
IllegalArgumentExceptionlubConversionInvalidInputError. Ta aktualizacja gwarantuje, że aplikacja Photon stale zgłasza te same wyjątki co platforma Spark podczas dekodowania Base64, zapewniając bardziej przewidywalną i niezawodną obsługę błędów.Dodanie ograniczenia
CHECKodwołującego się do nieprawidłowej kolumny zwraca teraz klasę błędu UNRESOLVED_COLUMN.WITH_SUGGESTION: Aby zapewnić bardziej użyteczne komunikaty o błędach, w Databricks Runtime 15.3 i nowszych instrukcjaALTER TABLE ADD CONSTRAINTzawierająca ograniczenieCHECKodwołujące się do nieprawidłowej nazwy kolumny zwraca klasę błędu UNRESOLVED_COLUMN.WITH_SUGGESTION. Wcześniej zwracanoINTERNAL_ERROR.
Zestaw JDK został uaktualniony z zestawu JDK 8 do zestawu JDK 17
15 sierpnia 2024 r.
Obliczenia bezserwerowe dla notesów i przepływów pracy zostały przeniesione z Java Development Kit (JDK) 8 do JDK 17 po stronie serwera. To uaktualnienie obejmuje następujące zmiany behawioralne:
Poprawne parsowanie wzorców regex z negacją w zagnieżdżonym grupowaniu znaków: Dzięki tej aktualizacji Azure Databricks obsługuje teraz poprawne parsowanie wzorców regex z negacją w grupowaniu znaków zagnieżdżonych. Na przykład
[^[abc]]zostanie przeanalizowany jako "dowolny znak, który nie jest jednym z "abc".Ponadto zachowanie aplikacji Photon było niespójne z platformą Spark dla klas znaków zagnieżdżonych. Wzorce wyrażeń regularnych zawierające zagnieżdżone klasy znaków nie będą już korzystać z systemu Photon i zamiast tego będą korzystać z platformy Spark. Zagnieżdżona klasa znaków to dowolny wzorzec zawierający nawiasy kwadratowe w obrębie innych nawiasów kwadratowych, takich jak
[[a-c][1-3]].
Wersja 15.1
23 lipca 2024 r.
Ta bezserwerowa wersja obliczeniowa w przybliżeniu odpowiada środowisku Databricks Runtime 15.1
Nowe funkcje
Wsparcie dla składni gwiazdki (*) w klauzuli WHERE: Teraz możesz użyć składni gwiazdki (*) w klauzuli WHERE, aby odwoływać się do wszystkich kolumn z listy SELECT.
Na przykład SELECT * FROM VALUES(1, 2) AS T(a1, a2) WHERE 1 IN(T.*).
Changes
Ulepszone odzyskiwanie po błędach podczas parsowania JSON: Parser JSON używany przez from_json() i wyrażenia ścieżek JSON teraz szybciej radzi sobie z nieprawidłową składnią, co skutkuje mniejszą utratą danych.
pl-PL: W przypadku napotkania źle sformułowanej składni JSON w polu struktury, wartości tablicy, kluczu mapy lub wartości mapy, analizator JSON zwróci teraz NULL tylko dla nieczytelnego pola, klucza lub elementu. Kolejne pola, klucze lub elementy zostaną prawidłowo przeanalizowane. Przed tą zmianą analizator JSON przerywał analizowanie tablicy, struktury bądź mapy i zwracał NULL dla reszty zawartości.
Wersja 14.3
15 kwietnia 2024 r.
Jest to początkowa bezserwerowa wersja obliczeniowa. Ta wersja w przybliżeniu odpowiada databricks Runtime 14.3 z pewnymi modyfikacjami, które usuwają obsługę niektórych funkcji bezserwerowych i starszych.
Obsługiwane parametry konfiguracji Spark
Aby zautomatyzować konfigurację platformy Spark na obliczeniach bezserwerowych, usługa Azure Databricks usunęła obsługę ręcznego ustawiania większości konfiguracji platformy Spark. Aby wyświetlić listę obsługiwanych parametrów konfiguracji platformy Spark, zobacz Konfigurowanie właściwości platformy Spark dla notesów i zadań bezserwerowych.
Wykonanie zadania na bezserwerowym środowisku obliczeniowym zakończy się niepowodzeniem, jeśli ustawisz nieobsługiwaną konfigurację platformy Spark.
funkcje input_file są przestarzałe
Funkcje input_file_name(), input_file_block_length() i input_file_block_start() są przestarzałe. Korzystanie z tych funkcji jest zdecydowanie zniechęcane.
Zamiast tego użyj kolumny metadanych pliku , aby pobrać informacje o metadanych pliku.
Zmiany zachowania
Bezserwerowe obliczenia w wersji 2024.15 obejmują następujące zmiany behawioralne:
-
Poprawka błędu unhex(hexStr): Gdy używana jest funkcja
unhex(hexStr), hexStr jest zawsze dopełniany z lewej strony do pełnego bajtu. Wcześniej funkcja unhex zignorowała pierwszy bajt połowy. Na przykład:unhex('ABC')teraz tworzyx'0ABC'zamiastx'BC'. - Automatycznie generowane aliasy kolumnowe są teraz stabilne: Gdy wynik wyrażenia jest odwołany bez aliasu kolumnowego określonego przez użytkownika, ten automatycznie wygenerowany alias będzie teraz stabilny. Nowy algorytm może spowodować zmianę wcześniej wygenerowanych automatycznie nazw używanych w funkcjach, takich jak zmaterializowane widoki.
-
Podczas skanowania tabel pola typu
CHARsą teraz zawsze dopełniane: tabele Delta, niektóre tabele JDBC oraz zewnętrzne źródła danych przechowują dane CHAR w postaci bez dopełniania spacjami. Podczas odczytywania usługa Azure Databricks będzie teraz dopełniać dane spacjami do zadeklarowanej długości, aby zapewnić poprawną semantykę. -
Rzutowania z BIGINT/DECIMAL do TIMESTAMP generują wyjątek dla przepełnionych wartości: Azure Databricks pozwala na rzutowanie z BIGINT i DECIMAL do TIMESTAMP, traktując tę wartość jako liczbę sekund od epoki Unix. Wcześniej usługa Azure Databricks zwracała przepełnione wartości, ale teraz zgłasza wyjątek w przypadkach przepełnienia. Użyj polecenia
try_cast, aby zwrócić wartość NULL zamiast wyjątku. -
Wykonywanie UDF w PySpark zostało ulepszone, aby odpowiadać dokładnemu zachowaniu wykonania UDF na dedykowanym przetwarzaniu: Wprowadzono następujące zmiany:
- Funkcje zdefiniowane przez użytkownika zwracające ciągi nie konwertują już niejawnie wartości innych niż ciągi na ciągi. Wcześniej funkcje zdefiniowane przez użytkownika (FZU) o zwracanym typie
strzastosowałystr(..)nakładkę do wyniku niezależnie od rzeczywistego typu danych zwróconej wartości. - Funkcje zdefiniowane przez użytkownika z typami zwracanymi
timestampnie zastosowują już niejawnie konwersji strefy czasowej do znaczników czasu.
- Funkcje zdefiniowane przez użytkownika zwracające ciągi nie konwertują już niejawnie wartości innych niż ciągi na ciągi. Wcześniej funkcje zdefiniowane przez użytkownika (FZU) o zwracanym typie