Notatki o wersji przetwarzania bezserwerowego

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 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

  • truncate funkcja: Funkcja truncate obcina liczbę do określonej skali bez zaokrągleń.

  • trim_array funkcja: Funkcja trim_array usuwa 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_sql funkcja: Funkcja parse_sql analizuje 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_protobuf pomija nieprawidłowo sformowane pola nieuwzględnione w zapytaniu, gdy włączone jest przycinanie schematu: Gdy włączone jest przycinanie schematu protobuf, from_protobuf nie dekoduje już ani nie weryfikuje pól, których zapytanie nie wybiera. Nieprawidłowe niewybrane pole nie powoduje już wyzerowania wiersza w trybie PERMISSIVE ani nie powoduje niepowodzenia zapytania w trybie FAILFAST.

  • Mechanizm pushdown JDBC poprawnie obsługuje literały NULL: mechanizm pushdown JDBC w Data Source v2 emituje teraz literał SQL NULL zamiast ciągu 'null'. Zapytania grupujące wyrażenia takie jak NULLIF teraz zwracają grupę null zamiast osobnej grupy tekstowej 'null'.

  • Funkcje HTTP i AI nie podążają już za przekierowaniami: http_request a 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_union funkcja agregująca: Funkcja agregująca collect_union zwraca odrębną unię elementów w tablicach w obrębie każdej grupy.

Zmiany zachowania

  • HAVING jest oceniany przed funkcjami okienkowymi w zapytaniach z generatorami: Dla zapytań zawierających generatory, takich jak explode, funkcje okienkowe są teraz oceniane po filtrze HAVING . Wyniki okienkowe obejmują zatem tylko wiersze zachowane przez HAVING.

  • 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_EXECUTION uprawnienia do metastore.

  • Delta API DML korzysta z uprawnień definiującego politykę: DeltaTable.update, DeltaTable.merge i DeltaTable.delete teraz określają funkcje polityk filtru wierszy i maskowania kolumn z uprawnieniami definiującego politykę, zgodnie z SQL DML. Dzwoniący nie muszą już korzystać EXECUTE z 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_variant funkcja: Funkcja is_valid_variant zwraca true , jeśli dane wejściowe jest dobrze uformowaną VARIANT wartością, a false w przeciwnym razie. Użyj go do weryfikacji danych wariantowych przed dalszym przetwarzaniem.

  • DataFrameGroupBy.cov oraz SeriesGroupBy.describe w pandas API na Spark: Pandas API na Spark obsługuje DataFrameGroupBy.covteraz , które oblicza parową kowariancję kolumn w każdej grupie, oraz SeriesGroupBy.describe, które generuje statystyki opisowe dla każdej grupy.

  • obsługa pa.ChunkedArray w createDataFramecreateDataFrame() teraz obsługuje ramki danych pandas z kolumnami PyArrow ChunkedArray, 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_string oraz warianty try_* 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 TABLE Zachowuje komentarze: CREATE OR REPLACE TABLE Domyś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(), a write.mode("append").saveAsTable() teraz automatycznie rzutują kolumny zgodne typowo (na przykład int do long), aby dopasowały się do docelowego schematu tabeli Delta. Wcześniej te operacje zakończyły się niepowodzeniem DELTA_FAILED_TO_MERGE_FIELDS z powodu błędu, gdy typy kolumn były zgodne, ale nie identyczne. Zachowanie jest teraz zgodne z programem SQL INSERT INTO ... BY NAME.

  • ALTER TABLE SET TBLPROPERTIES dla pipelines.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łąd SETTING_PIPELINES_PIPELINE_ID_NOT_SUPPORTED.

  • DESCRIBE EXTENDED AS JSON zawiera wyniki optymalizacji predykcyjnej: DESCRIBE EXTENDED ... AS JSON teraz 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/BETWEEN filtró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ści NaN (Not-a-Number) o różnych wzorcach bitowych jako duplikaty, gdy jako klucz deduplikacji używana jest kolumna double lub float. NaN Wcześniej wartości z różnymi reprezentacjami wewnętrznymi były traktowane jako odrębne i nie były deduplikowane.

  • NATURAL JOIN Dopasowanie kolumn bez rozróżniania wielkości liter: Teraz NATURAL JOIN dopasowuje wspólne kolumny bez rozróżniania wielkości liter, zgodnie z równoważnym USING sprzęż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ład ID vs id) 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 REPLACE Wsparcie dla tabel tymczasowych: CREATE OR REPLACE TEMP TABLE Obecnie 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 funkcji measure(): agg() jest teraz dostępny jako alias funkcji measure(). Ta zmiana jest w pełni zgodna z poprzednimi wersjami. Istniejące zapytania, które używają measure(), nadal działają bez modyfikacji, a agg() 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.testing alias przestrzeni nazw: pyspark.pipelines.testing jest teraz dostępny jako wygodny alias dla interfejsów API dlt.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 kolumnie operationParameters dla WRITE i REPLACE TABLE operacje. Po jawnym włączeniu następujących opcji są one wyświetlane jako flagi logiczne w historii (uwzględniane tylko wtedy, gdy true):

    W przypadku WRITE operacji i REPLACE 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 TABLE operacji:

    • predicate: obecny, gdy replaceWhere był używany
    • isV1WriterSaveAsTableOverwrite: występuje, gdy zamiana została wyzwolona przez .saveAsTable nadpisanie
  • Selektywne zastępowanie danych za pomocą interfejsów API DataFrame replaceOn i replaceUsing: Opcje replaceOn i replaceUsing w interfejsach API DataFrame Scala i Python są teraz ogólnie dostępne. Użyj tych opcji, aby zastąpić część tabeli wynikiem ramki danych. replaceOn zastępuje wiersze spełniające warunek zdefiniowany przez użytkownika. replaceUsing zastępuje wiersze tam, gdzie określone kolumny są równe. Te interfejsy API uzupełniają instrukcje SQL INSERT REPLACE ON i INSERT 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 z LEFT OUTER JOIN LATERAL zapytań, 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 JOIN obsługuje dopasowanie kolumn bez rozróżniania wielkości liter: spark.sql.caseSensitive teraz poprawnie używa dopasowania kolumn bez rozróżniania wielkości liter, gdy false jest ustawione na NATURAL JOIN (domyślnie). Wcześniej NATURAL JOIN uż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ład ID w porównaniu z id) nie były rozpoznawane jako zgodne. Spowodowało to, że NATURAL JOIN w sposób niezauważalny generowało wyniki sprzężenia krzyżowego. Ta poprawka dostosowuje NATURAL JOIN zachowanie do USING sprzęż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:102100 zamiast błędnego EPSG: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 DATETIMEOFFSET jest 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 EVOLUTION z instrukcjami SQL INSERT do automatycznego ewoluowania schematu docelowej tabeli podczas operacji wstawiania. Klauzula jest obsługiwana dla formularzy INSERT INTO, INSERT OVERWRITEi INSERT INTO ... REPLACE . Zobacz ewolucję schematu.

  • Zachowane wartości struktury NULL w operacjach INSERT: INSERT operacje z ewolucją schematu lub implicitnym castingiem zachowują wartości struktury NULL, 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_timestamp Funkcja 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_by oraz min_by z opcjonalnym limitem: funkcje agregujące max_by i min_by teraz akceptują opcjonalny trzeci argument limit (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_k funkcja 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_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.
  • Obsługa Photon dla funkcji geoprzestrzennych: st_difference funkcja, st_intersection funkcja i st_union funkcja 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 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.

  • DESCRIBE FLOW słowo kluczowe zarezerwowane: Polecenie DESCRIBE FLOW jest już dostępne. Jeśli masz tabelę o nazwie flow, użyj metody DESCRIBE schema.flow, DESCRIBE TABLE flowlub DESCRIBE `flow` z backticksami.

  • Operacje boolowskie na zbiorach w SpatialSQL: ST_Difference, ST_Intersection i ST_Union wykorzystują 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. Zobacz STRING typ.

  • 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 IDENTIFIER niemal wszędzie: Klauzula IDENTIFIER, 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_AGG funkcja: Dostępna jest nowa bitmap_and_agg funkcja 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:

  • 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_makeline i st_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 TABLE domyślnie zawiera naprawę metadanych: Polecenie teraz FSCK REPAIR TABLE zawiera 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 TIMESTAMP wartości przekazane do funkcji zdefiniowanych przez użytkownika języka Python nie zawierają już informacji o strefie czasowej w atrybucie datetime obiektu tzinfo . Jeśli funkcja zdefiniowana przez użytkownika korzysta z informacji o strefie czasowej, przywróć ją przy użyciu date = 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.kafkalub kafkashaded.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óg deletedFileRetentionDuration 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ększych niż logRetentionDuration lub odwrotnie.

  • BinaryType jest domyślnie mapowane na bytes w PySpark : W PySparkBinaryType jest teraz konsekwentnie mapowane na Python bytes. Wcześniej, w zależności od kontekstu, PySpark mapował BinaryType na bytes lub bytearray. 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 TABLE wyjście zawiera kolumnę metadanych: Wynik Now DESCRIBE TABLE [EXTENDED] zawiera nową metadata kolumnę 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 ALL z 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_dump Obsługa funkcji: Teraz możesz użyć st_dump funkcji do rozkładu obiektu geometrycznego na jego składowe części, zwracając zestaw prostszych geometrii. Zobacz st_dump funkcję.

  • 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:

  • EXECUTE IMMEDIATE używając wyrażeń stałych: Instrukcja EXECUTE IMMEDIATE obsł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.maxPartitionBytes na obliczenia serwerowe: Teraz możesz skonfigurować spark.sql.files.maxPartitionBytes Parametr 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 JSON zawiera 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 QUERY i DESCRIBE TABLE teraz 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-auth uż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_ExteriorRing funkcja jest teraz obsługiwana: Możesz teraz użyć ST_ExteriorRing funkcji do wyodrębnienia zewnętrznej granicy wielokąta i zwrócenia go jako ciąg liniowy. Zobacz st_exteriorring funkcję.
  • Obsługa słowa kluczowego TEMPORARY przy tworzeniu widoków metryk: Teraz możesz używać słowa kluczowego TEMPORARY podczas 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.getFileStatus S3: LokiFileSystem.getFileStatus teraz używa natywnego stosu I/O do ruchu Amazon S3 i zwraca org.apache.hadoop.fs.FileStatus obiekty zamiast shaded.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ą opcji singleVariantColumn. Wcześniej kolumny partycji nie były automatycznie wykrywane. Zobacz Automatyczne ładowanie.

Zmiany zachowania

  • DESCRIBE CONNECTION pokazuje ustawienia środowiska dla połączeń JDBC : Azure Databricks teraz zawiera ustawienia środowiska zdefiniowane przez użytkownika w wyjściu DESCRIBE CONNECTION dla 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 split z pustym regexem i dodatnim limitem: Azure Databricks teraz zwraca poprawne wyniki przy użyciu split function z 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_decode i try_url_decode w Photon: W Photon try_url_decode() i url_decode() z failOnError = false zwracają teraz NULL dla 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 ISOLATION jest 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 CHECK ograniczeń: Azure Databricks teraz zgłasza AnalysisException, jeśli wyrażenie ograniczenia CHECK nie 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 useManagedFileEvents jest teraz if_available (było false). 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 COLLATION klauzuli w poleceniu CREATE FUNCTION definiuje domyślną kolację używaną dla parametrów STRING, typu zwracanego oraz STRING literałó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 ALL do śledzenia relacji rekurencyjnej.

  • PySpark i Spark Connect teraz obsługują interfejs API DataFrames df.mergeInto: PySpark i Spark Connect teraz obsługują interfejs API df.mergeInto.

  • Wsparcie ALL CATALOGS w SHOW SCHEMAS: Składnia SHOW SCHEMAS został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 OPTIMIZE jest uruchomione. Aby uzyskać więcej informacji, zobacz Stosowanie zmian do plików danych Parquet.

  • Zezwalanie na wyrażenia niedeterministyczne w wartościach kolumn UPDATE/INSERT dla operacji MERGE: Azure Databricks umożliwia teraz używanie wyrażeń niedeterministycznych w aktualizowanych i wstawianych wartościach kolumn w operacjach MERGE. Na przykład można teraz generować wartości dynamiczne lub losowe dla kolumn przy użyciu wyrażeń, takich jak rand().

  • Zmień API Delta MERGE Python tak, aby zwracały DataFrame zamiast Unit: API Python MERGE (takie jak DeltaMergeBuilder) 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.useIncrementalListing jest 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 VIEW Klauzule na poziomie kolumn teraz generują błędy, gdy klauzula dotyczyłaby tylko widoków materializowanych: CREATE VIEW polecenia określające klauzulę na poziomie kolumny ważną tylko dla MATERIALIZED VIEWS teraz generują błąd. Objęte klauzule obejmują NOT NULL, określone typy danych, DEFAULTi COLUMN 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.materializeSource na none. 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.cleanSource Auto Loader. Zobacz Ogólne w sekcji cloudFiles.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 IDENTIFIER podczas wykonywania następujących operacji katalogowych:

    • CREATE CATALOG
    • DROP CATALOG
    • COMMENT ON CATALOG
    • ALTER 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) , gdzie param jest 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 alias spó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//EXCEPTINTERSECT na najwyższym poziomie oraz kolumnami bez aliasów wcześniej zwracały błędne wyniki, ponieważ INTERSECT UNION/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.readFileSourceTableCacheIgnoreOptions na wartość true.

  • Nowe listagg i string_agg funkcje: Od tej wersji możesz używać funkcji listagg lub string_agg do agregowania STRING i BINARY wartoś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.class przypisano nieprawidłową wartość: Ta wersja zawiera zmianę w celu zwracania bardziej opisowego komunikatu o błędzie, gdy do kafka.sasl.client.callback.handler.class przypisano 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 FEATURE jest ogólnie dostępne do usuwania funkcji tabeli Delta Lake i obniżania wersji protokołu tabeli. Domyślnie DROP FEATURE tworzy 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 TABLE instrukcji. 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 & timestampadd w 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 TABLE zwraca metadane jako ustrukturyzowany JSON: Teraz możesz użyć polecenia DESCRIBE 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 CLONE moż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 recursiveFieldMaxDepth z funkcją from_avro i ze źródłem danych avro. 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 FULL aby 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ć clusterBy klasterowanie 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 to NULL.
    • 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 length znaków alfanumerycznych.
  • Włączanie automatycznej ewolucji schematu podczas scalania danych z tabelą Delta: Dodano wsparcie dla składowej withSchemaEvolution() klasy DeltaMergeBuilder. Użyj withSchemaEvolution() do włączenia automatycznej ewolucji schematu podczas operacji MERGE. Na przykład mergeBuilder.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 STRING porzą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.
  • LITE tryb 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 METADATA polecenia REPAIR TABLE jest obsługiwany przez metastore Hive: Teraz możesz użyć parametru SYNC METADATA wraz z REPAIR TABLE poleceniem 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 LZ4 skompresowana partia Arrow zawiera teraz sumy LZ4 kontrolne 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_TABLE jest teraz zarezerwowany, gdy nie można odczytać podstawowych plików jako tabeli delty.

Zmiany zachowania

  • Zmiana łamiąca: Usunięcie wsparcia dla zmiany byte, short, int i long typó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, int oraz long do decimal.
    • byte, short, oraz int do double.
  • 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:MERGE teraz uwzględnia warunki określone w klauzuli WHEN MATCHED . Zobacz Upsert do tabeli Delta Lake przy użyciu operacji scalania.

  • Funkcjonalność addArtifact() jest teraz spójna we wszystkich typach obliczeń: gdy używasz addArtifact(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_0143 zmieniono nazwę na CF_INCORRECT_STREAM_USAGE.
    • _LEGACY_ERROR_TEMP_DBR_0260 zmieniono nazwę na CF_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 NULL zamiast 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 RELY dla ograniczeń FOREIGN KEY podczas CREATE lub ALTER tabeli.
  • Równoległe uruchamianie zadań dla selektywnych nadpisań: Przy selektywnych nadpisaniach z użyciem replaceWhere zadania 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 replaceWhere w tabelach z change data feed nie zapisują już osobnych plików danych zmian dla wstawionych danych. Te operacje używają ukrytej kolumny _change_type obecnej 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 polecenia COPY 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 checkConstraints check constraints z tabeli Delta, używając ALTER 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 ! dla NOT poza logiką boolowską: Databricks nie będzie już tolerować używania ! jako synonimu NOT poza 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, ! NULL własność kolumny lub pola, ! IN oraz ! BETWEEN należy zastąpić na:

    CREATE ... IF NOT EXISTS, IS NOT NULL, właściwość kolumny lub pola NOT IN, oraz NOT BETWEENNOT NULL.

    Operator prefiksu! logicznego (np. !is_mgr lub !(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 NULL ograniczeń lub DEFAULT jest 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 IllegalArgumentException lub ConversionInvalidInputError. 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 CHECK odwoł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 instrukcja ALTER TABLE ADD CONSTRAINT zawierająca ograniczenie CHECK odwołujące się do nieprawidłowej nazwy kolumny zwraca klasę błędu UNRESOLVED_COLUMN.WITH_SUGGESTION. Wcześniej zwracano INTERNAL_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 tworzy x'0ABC' zamiast x'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 CHAR są 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 str zastosowały str(..) nakładkę do wyniku niezależnie od rzeczywistego typu danych zwróconej wartości.
    • Funkcje zdefiniowane przez użytkownika z typami zwracanymi timestamp nie zastosowują już niejawnie konwersji strefy czasowej do znaczników czasu.