Udostępnij przez


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 środowiska bezserwerowego

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.

Aby uzyskać informacje o wersji środowiska bezserwerowego, zobacz Wersje środowiska bezserwerowego.

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.

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 Pełne wsparcie dla rekurencyjnych CTE: teraz można użyć LIMIT ALL klauzuli z rekurencyjnymi wspólnymi wyrażeniami tabelowymi (rCTEs), aby jawnie określić, że żaden limit wierszy nie powinien być stosowany do wyników zapytania. Zobacz Typowe wyrażenie tabeli (CTE).

  • Dołączanie do plików w woluminach Unity Catalog zwraca poprawny błąd: Próba dołączenia do istniejących plików w woluminach Unity Catalog zwraca teraz bardziej opisowy komunikat o błędzie, aby ułatwić zrozumienie i rozwiązanie problemu.

  • st_dump obsługa funkcji: teraz można użyć st_dump funkcji, aby rozłożyć obiekt geometryczny na jego części składowe, zwracając zestaw prostszych geometrii. Zobacz st_dump funkcję.

  • Funkcje wewnętrznych pierścieni wielokąta są teraz obsługiwane: Teraz można użyć następujących funkcji do pracy z wewnętrznymi pierścieniami wielokątów:

  • EXECUTE IMMEDIATE używanie wyrażeń stałych: instrukcja EXECUTE IMMEDIATE obsługuje teraz używanie wyrażeń stałych w ciągu zapytania, co pozwala na bardziej elastyczne dynamiczne wykonywanie sql. Zobacz EXECUTE IMMEDIATE.

  • Umożliwiaj spark.sql.files.maxPartitionBytes przetwarzanie bezserwerowe: Teraz możesz skonfigurować parametr konfiguracji Spark w przetwarzaniu bezserwerowym, aby kontrolować maksymalną liczbę bajtów do spakowania w jedną partycję podczas odczytywania plików. Zobacz Konfigurowanie właściwości platformy Spark dla notesów i zadań bezserwerowych.

Zmiany zachowania

  • Obsługa odświeżania MV/ST w DESCRIBE EXTENDED AS JSON: Polecenie DESCRIBE EXTENDED AS JSON zawiera teraz informacje o odświeżaniu dla zmaterializowanych widoków i tabel przesyłania strumieniowego, umożliwiając wgląd w czas ostatniego odświeżenia i stan.

  • Dodaj kolumnę metadanych do DESCRIBE QUERY i DESCRIBE TABLE: Polecenia DESCRIBE QUERY i DESCRIBE TABLE teraz zawierają kolumnę metadanych w wyniku, udostępniając dodatkowe informacje o właściwościach i cechach każdej kolumny.

  • Prawidłowa obsługa struktur null podczas usuwania kolumn NullType: usługa Azure Databricks prawidłowo obsługuje wartości struktury null podczas usuwania kolumn z wartością NullType, zapobiegając potencjalnemu uszkodzeniu danych lub nieoczekiwanemu zachowaniu.

  • Ulepszona obsługa struktur null w parquet: ta wersja zawiera ulepszenia sposobu obsługi wartości struktury null podczas odczytywania i zapisywania plików Parquet oraz zapewniania bardziej spójnego i poprawnego zachowania.

  • Uaktualnij bibliotekę aws-msk-iam-auth dla platformy Kafka: aws-msk-iam-auth biblioteka używana do uwierzytelniania IAM w usłudze Amazon MSK została uaktualniona do najnowszej wersji, zapewniając lepsze zabezpieczenia i zgodność.

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: teraz możesz użyć ST_ExteriorRing funkcji, aby wyodrębnić zewnętrzną granicę wielokąta i zwrócić ją jako ciąg liniowy. Zobacz st_exteriorring funkcję.

  • Wspieranie użycia TEMPORARY słowa kluczowego do tworzenia widoku metryki: możesz teraz 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żyj natywnej operacji we/wy dla usługi LokiFileSystem.getFileStatus S3: LokiFileSystem.getFileStatus teraz korzysta z natywnego stosu operacji we/wy dla 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 ze ścieżek plików podczas pozyskiwania danych jako częściowo ustrukturyzowany typ wariantu przy użyciu opcji singleVariantColumn. Wcześniej kolumny partycji nie były automatycznie wykrywane. Zobacz Opcje modułu ładującego automatycznego.

Zmiany zachowania

  • DESCRIBE CONNECTION pokazuje ustawienia środowiska dla połączeń JDBC: usługa Azure Databricks zawiera teraz ustawienia środowiska zdefiniowane przez użytkownika w DESCRIBE CONNECTION danych wyjściowych dla połączeń JDBC, które obsługują sterowniki niestandardowe i działają w izolacji. Inne typy połączeń pozostają niezmienione.

  • Opcja obcinania jednolitej historii podczas migracji tabel zarządzanych: można teraz obcinać jednolitą historię podczas migrowania tabel z włączoną funkcją Uniform/Iceberg przy użyciu polecenia ALTER TABLE...SET MANAGED. Upraszcza to migracje i zmniejsza przestoje w porównaniu do wyłączania i ponownego włączania ujednoliconego ręcznie.

  • Poprawne wyniki dla split pustego wyrażenia regularnego i limitu dodatniego: usługa Azure Databricks zwraca teraz poprawne wyniki w przypadku użycia split function z pustym wyrażeniem regularnym i limitem dodatnim. 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() oraz url_decode() z failOnError = false teraz zwracają NULL dla nieprawidłowych ciągów zakodowanych w formacie URL, zamiast powodować niepowodzenie zapytania.

  • Współużytkowane środowisko wykonawcze dla funkcji UDTF języka Python w katalogu Unity: usługa Azure Databricks udostępnia teraz środowisko wykonywania funkcji tabel zdefiniowanych przez użytkownika (UDTF) języka Python w tej samej sesji i od tego samego właściciela na platformie Spark. Klauzula opcjonalna STRICT ISOLATION jest dostępna do wyłączania udostępniania funkcji zdefiniowanych przez użytkownika z efektami ubocznymi, takimi jak modyfikowanie zmiennych środowiskowych lub wykonywanie dowolnego 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 module zapisu Photon: wprowadzono ulepszenia silnika Photon, które znacząco zmniejszają zużycie pamięci dla szerokich schematów, rozwiązując scenariusze, które wcześniej prowadziły do błędów braku pamięci.

Zmiany zachowania

  • Błąd zgłaszany w przypadku nieprawidłowych CHECK ograniczeń: usługa Azure Databricks zgłasza AnalysisException teraz błąd, jeśli CHECK nie można rozpoznać wyrażenia ograniczenia podczas sprawdzania poprawności ograniczeń.

  • Łącznik Pulsar nie ujawnia już zamku Bouncy: Biblioteka Zamku Bouncy jest teraz zacieniowana w łączniku Pulsar, aby zapobiec konfliktom klasypath. 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.

  • Automatycznie ładujący domyślnie używa zdarzeń plików, jeśli są dostępne: moduł ładujący automatycznie używa zdarzeń plików zamiast listy katalogów, gdy ścieżka ładowania jest lokalizacją zewnętrzną 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.

  • Łącznik Teradata z porównaniem ciągów uwzględniającym wielkość liter: Łącznik Teradata jest teraz domyślnie ustawiony tak, aby TMODE=ANSI, dopasować sposób porównania ciągów do usługi Azure Databricks przez uwzględnianie wielkości 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 bezserwerowe 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

  • Obsługa procedury SQL: skrypty SQL można teraz opakowywać w procedurze przechowywanej jako zasób do ponownego użycia w Unity Catalog. Procedurę można utworzyć przy użyciu polecenia CREATE PROCEDURE , a następnie wywołać ją za pomocą polecenia CALL .

  • Ustaw sortowanie domyślne dla funkcji SQL: użycie nowej DEFAULT COLLATION klauzuli w CREATE FUNCTION poleceniu definiuje domyślne sortowanie używane dla STRING parametrów, zwracanego typu i STRING literałów w treści funkcji.

  • Obsługa cyklicznych typowych wyrażeń tabel (rCTE): usługa Azure Databricks obsługuje teraz nawigację danych hierarchicznych przy użyciu cyklicznych typowych wyrażeń tabel (rCTE). Użyj rekursywnego CTE z UNION ALL do śledzenia relacji rekurencyjnej.

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

  • Obsługa ALL CATALOGS w SHOW SCHEMAS: składnia SHOW SCHEMAS jest aktualizowana do akceptacji ALL CATALOGS, co umożliwia iterację przez wszystkie aktywne katalogi obsługujące przestrzenie nazw. Atrybuty wyjściowe zawierają teraz kolumnę wskazującą katalog odpowiadającej przestrzeni nazw.

  • Klastrowanie liquid teraz kompaktuje wektory usuwania bardziej wydajnie: tabele różnicowe z klastrowaniem liquid teraz stosują fizyczne zmiany z wektorów usuwania wydajniej podczas OPTIMIZE uruchamiania. Aby uzyskać więcej informacji, zobacz Stosowanie zmian do plików danych Parquet.

  • Zezwól na wyrażenia niedeterministyczne w wartościach kolumn UPDATE/INSERT dla operacji MERGE: Usługa Azure Databricks pozwala teraz na używanie wyrażeń niedeterministycznych w zaktualizowanych i wstawionych wartościach kolumn w ramach operacji MERGE. Na przykład można teraz generować wartości dynamiczne lub losowe dla kolumn przy użyciu wyrażeń, takich jak rand().

Zmiany zachowania

  • Zmiana zachowania przyrostowej listy katalogów w automatycznym module ładującym: wartość przestarzałej opcji automatycznego ładowania jest teraz ustawiona na domyślną wartość cloudFiles.useIncrementalListing. 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 kolumny teraz zgłaszają błędy, gdy klauzula jest stosowana tylko do zmaterializowanych widoków: CREATE VIEW polecenia określające klauzulę na poziomie kolumny, która jest prawidłowa tylko dla MATERIALIZED VIEW teraz zgłaszają 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 w celu przestrzegania opcji dla buforowanych planów źródła danych: ta aktualizacja zapewnia, że odczyty z tabeli przestrzegają ustawionych opcji dla wszystkich planów źródła danych w pamięci podręcznej, a nie tylko dla pierwszego odczytu tabeli. 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 wartość merge.materializeSourcenone. 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

  • Automatycznie ładujący może teraz wyczyścić przetworzone pliki w katalogu źródłowym: teraz możesz poinstruować moduł automatycznego ładowania, aby automatycznie przenosił lub usuwał przetworzone pliki. Włącz tę funkcję, używając opcji cloudFiles.cleanSource Auto Loader. Zobacz Opcje automatycznego modułu ładującego w obszarze cloudFiles.cleanSource.

  • Dodano wsparcie dla rozszerzania typu do przesyłania strumieniowego z tabel Delta: w tej wersji dodano obsługę przesyłania strumieniowego z tabeli Delta z danymi kolumn o rozszerzonym typie oraz możliwość udostępniania tabeli Delta z włączonym rozszerzaniem typu za pomocą funkcji Databricks-to-Databricks Delta Sharing. Funkcja rozszerzania typu jest obecnie dostępna w publicznej wersji zapoznawczej. Sprawdź Rozszerzanie typu.

  • IDENTIFIER obsługa jest teraz dostępna w DBSQL dla operacji katalogu: możesz teraz użyć klauzuli IDENTIFIER podczas wykonywania następujących operacji katalogu:

    • 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 zestawione udostępniają teraz automatycznie wygenerowane aliasy przejściowe: automatycznie wygenerowane aliasy dla zestawionych wyrażeń teraz deterministycznie zawierają COLLATE informacje. 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.

  • Dodaj obsługę API przepychania filtru do źródeł danych w Pythonie: Przetwarzanie bezserwerowe obsługuje teraz przepychanie filtru dla wsadowego odczytu źródła danych w Pythonie jako API, podobnie jak SupportsPushDownFilters w przypadku interfejsu. Zobacz informacje o wersji 16.4 LTS.

  • Ulepszenie śledzenia funkcji UDF w Pythonie: Śledzenie funkcji UDF w Pythonie obejmuje teraz ramki zarówno z poziomu sterownika, jak i wykonawcy oraz klienta, co skutkuje bardziej szczegółowymi i istotnymi komunikatami o błędach, pokazującymi m.in. zawartość linii ramek wewnątrz funkcji zdefiniowanej przez użytkownika.

  • UNION/EXCEPT/INTERSECT wewnątrz widoku i EXECUTE IMMEDIATE teraz zwracają poprawne wyniki: Zapytania dotyczące definicji tymczasowych i trwałych widoków z kolumnami najwyższego poziomu i bez aliasów wcześniej zwracały nieprawidłowe wyniki, ponieważ słowa kluczowe były uznawane za aliasy. Teraz te zapytania będą poprawnie wykonywać całą operację zestawu.

  • Przewodnik dotyczący konfiguracji planu buforowania źródła danych i jego migracji: odczyt z tabeli źródłowej pliku prawidłowo uwzględnia opcje zapytania (na przykład ograniczniki). 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: Począwszy od tej wersji, można użyć funkcji listagg lub string_agg do agregowania wartości STRING i BINARY 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 kafka.sasl.client.callback.handler.class jest przypisana nieprawidłowa wartość: ta wersja zawiera zmianę w celu zwrócenia bardziej opisowego komunikatu o błędzie, gdy kafka.sasl.client.callback.handler.class przypisano nieprawidłową wartość.

Nowe funkcje

  • Obsługa odczytywania stanu jest teraz powszechnie dostępna: możliwość odczytywania informacji o stanie zapytań w przesyłaniu strumieniowym opartym na strukturach jest teraz ogólnie dostępna w obliczeniach bezserwerowych. Zobacz Jak odczytać informacje o stanie strukturalnego strumieniowania danych.

  • Obniżenie poziomu protokołu tabeli różnicowej to ogólna dostępność z ochroną punktu kontrolnego: DROP FEATURE jest ogólnie dostępna do usuwania funkcji tabel usługi Delta Lake i obniżania poziomu 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 języku ANSI SQL/PSM (publiczna wersja zapoznawcza): teraz można używać funkcji skryptów opartych na języku ANSI SQL/PSM do pisania logiki proceduralnej za pomocą języka SQL, w tym instrukcji przepływu sterowania, zmiennych lokalnych i obsługi wyjątków. Zobacz skrypty SQL.

  • Sortowanie domyślne na poziomie tabeli i widoku: teraz można określić domyślne sortowanie 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.

  • Dodano nowe funkcje H3: dodano trzy nowe funkcje H3: h3_try_coverash3, h3_try_coverash3string i h3_try_tessellateaswkb.

  • Zmień wiele kolumn tabeli w jednej ALTER TABLE instrukcji: teraz można 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 tabel jest domyślnie włączona: udziały utworzone przy użyciu polecenia SQL ALTER SHARE <share> ADD TABLE <table> teraz mają domyślnie włączoną funkcję udostępniania historii (WITH HISTORY). Zobacz ALTER SHARE.

  • Instrukcje CREDENTIAL SQL zwracają błąd, gdy występuje niezgodność typu poświadczeń: jeśli typ poświadczeń określony w instrukcji SQL zarządzania poświadczeniami nie jest zgodny z typem argumentu poświadczeń, zwracany jest błąd i instrukcja nie jest uruchamiana.

Nowe funkcje

  • Użyj timestampdiff & timestampadd w wygenerowanych wyrażeniach kolumn Możesz teraz użyć funkcji timestampdiff i timestampadd w wyrażeniach kolumn generowanych przez Delta Lake. Zobacz kolumny wygenerowane przez Delta Lake .

  • Update to DESCRIBE TABLE zwraca metadane jako ustrukturyzowany dokument JSON, Obecnie 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 niewrażliwe na końcowe puste znaki: Rozwiązania bezserwerowe teraz obsługują sortowania niewrażliwe na końcowe puste znaki. 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 klonowania przyrostowego: Ta wersja zawiera poprawkę dla przypadku brzegowego, w którym przyrostowe kopiowanie CLONE może ponownie kopiować pliki, które zostały 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

  • Obsługa cyklicznego schematu Avro: Teraz możesz użyć opcji recursiveFieldMaxDepth z funkcją from_avro i ź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.
  • Rozszerzona obsługa Rejestru Schematów Confluent dla Avro: Nowe funkcje bezserwerowe obsługują teraz odwołania do schematów Avro w Rejestrze Schematów Confluent. Zobacz Uwierzytelnij się w zewnętrznym rejestrze schematów Confluent.
  • Wymuszanie ponownego zapisywania w tabelach z klastrowaniem płynnym: Teraz można użyć składni OPTIMIZE FULL, aby wymusić ponowne tworzenie wszystkich rekordów w tabeli z włączonym klastrowaniem płynnym. Zobacz Wymuszanie ponownego grupowania wszystkich rekordów.
  • Interfejsy API Delta dla języka Python obsługują teraz kolumny identyfikacyjne: Teraz możesz używać interfejsów API Delta dla języka Python do tworzenia tabel z kolumnami identyfikacyjnymi. Zobacz Używanie kolumn tożsamości w usłudze Delta Lake.
  • Tworzenie tabel klastrowanych w trybie liquid podczas zapisu strumieniowego: Teraz można użyć clusterBy, aby włączyć klastrowanie w trybie liquid podczas tworzenia nowych tabel za pomocą zapisów w strukturze strumieniowej. Zobacz Włączanie klastrowania cieczy.
  • Obsługa klauzuli OPTIMIZE FULL: Przetwarzanie bezserwerowe obsługuje 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.
  • pl-PL: Obsługa specyfikacji opcji WITH w INSERT i odwołania do tabeli: Przetwarzanie bezserwerowe obsługuje teraz specyfikację opcji dla odwołań do tabel i nazw tabel w instrukcji INSERT, które mogą służyć do kontrolowania zachowania źródeł danych.
  • Nowe funkcje SQL: Następujące funkcje SQL są teraz dostępne w bezserwerowych obliczeniach:
    • try_url_decode to odporna na błędy wersja url_decode.
    • zeroifnull zwraca wartość 0, jeśli wyrażenie wejściowe funkcji zeroifnull() jest NULL.
    • nullifzero zwraca NULL, jeśli dane wejściowe to 0, lub zwraca samo dane wejściowe, jeśli nie jest równe 0.
    • dayname(expr) zwraca trzyliterowy angielski akronim dnia tygodnia dla danej daty.
    • uniform(expr1, expr2 [,seed]) zwraca wartość losową z niezależnymi i identycznymi wartościami rozproszonymi w określonym zakresie liczb.
    • randstr(length) zwraca losowy ciąg znaków alfanumerycznych length.
  • Włącz automatyczną ewolucję schematu podczas scalania danych z tabelą delty: Dodano obsługę dla członka withSchemaEvolution() klasy DeltaMergeBuilder. Użyj withSchemaEvolution() do włączenia automatycznej ewolucji schematu podczas operacji MERGE. Na przykład mergeBuilder.whenMatched(...).withSchemaEvolution().execute()}}.
  • Obsługa sortowania na platformie Apache Spark jest dostępna w publicznej wersji zapoznawczej: Teraz można przypisywać sortowania z uwzględnieniem języka, niewrażliwość na wielkość liter i niewrażliwość na diakrytyki dla STRING kolumn i wyrażeń. Te sortowania są używane w porównaniach ciągów, sortowaniu, operacjach grupowania i wielu funkcjach ciągów. Zobacz Sortowanie.
  • Obsługa sortowania w usłudze Delta Lake jest dostępna w publicznej wersji zapoznawczej: Teraz można zdefiniować sortowania dla kolumn podczas tworzenia lub zmieniania tabeli delty. Zobacz Obsługa sortowania dla Delta Lake.
  • LITE tryb czyszczenia jest w publicznej wersji zapoznawczej: Teraz można użyć VACUUM table_name LITE do wykonania mniej obciążającej operacji czyszczenia, która wykorzystuje metadane w dzienniku transakcji Delta. Zobacz tryb pełny vs. lekki oraz VACUUM.
  • Obsługa parametryzacji klauzuli USE CATALOG with IDENTIFIER: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 COLUMN obsługę tabel i widoków: Instrukcja COMMENT ON obsługuje teraz zmienianie komentarzy dla kolumn widoków i tabel.
  • Wywoływanie nazwanych parametrów dla większej liczby funkcji: Następujące funkcje obsługują wywoływanie z użyciem nazwanych parametrów :
  • Parametr SYNC METADATA polecenia REPAIR TABLE jest obsługiwany w magazynie metadanych Hive: Teraz można użyć parametru SYNC METADATA za pomocą polecenia REPAIR TABLE, aby zaktualizować metadane zarządzanej tabeli magazynu metadanych Hive. Zobacz REPAIR TABLE.
  • Zwiększona integralność danych dla skompresowanych partii Apache Arrow: Aby dodatkowo chronić przed uszkodzeniem danych, każda LZ4 skompresowana partia Apache Arrow zawiera teraz LZ4 sumy kontrolne zawartości i bloków. Zobacz opis formatu ramek LZ4.
  • wbudowany sterownik Oracle JDBC: przetwarzanie 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 delty, do których uzyskiwano dostęp za pomocą ścieżek: Nowe doświadczenie użytkownika związane z komunikatami o błędach dla tabel delty dostępnych przy użyciu ścieżek jest teraz 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 powodująca różnice: Usunięcie obsługi zmiany byte, short, int i long na szersze typy: Aby zapewnić spójne zachowanie w tabelach Delta i Apache Iceberg, następujące zmiany typu danych nie mogą być już stosowane do tabel z włączoną funkcją rozszerzania typu:

    • byte short, inti long do decimal.
    • byte, shorti int do double.
  • Poprawne analizowanie wzorców wyrażeń regularnych z negacją w zagnieżdżonym grupowaniu znaków: Ta wersja zawiera zmianę w celu obsługi poprawnego analizowania wzorców wyrażeń regularnych 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]].

  • Ulepszone wykrywanie zduplikowanych dopasowań w usłudze Delta Lake MERGE:MERGE uwzględnia teraz warunki określone w klauzuli WHEN MATCHED. Zobacz Upsert do tabeli Delta Lake przy użyciu operacji scalania.

  • Funkcja addArtifact() jest teraz spójna w różnych typach obliczeniowych: Gdy używasz addArtifact(archive = True) do dodawania zależności do bezserwerowych zasobów obliczeniowych, archiwum jest automatycznie rozpakowane.

Poprawki

  • Przesunięcia strefy czasowej obejmują teraz sekundy, gdy są serializowane do CSV, JSON i XML: Znaczniki czasu z przesunięciami strefy czasowej zawierającymi sekundy (częste w znacznikach sprzed 1900 r.) wcześniej pomijały sekundy podczas 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

  • zmieniono nazwy kodów błędów dla źródła przesyłania strumieniowego ze strukturą cloudFiles: Zmieniono nazwy następujących kodów błędów:
    • _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 weryfikacji UTF-8: W tej wersji wprowadzono następujące funkcje do sprawdzania poprawności ciągów UTF-8:
    • is_valid_utf8 sprawdził, czy ciąg jest ważnym ciągiem UTF-8.
    • make_valid_utf8 konwertuje potencjalnie nieprawidłowy ciąg UTF-8 na prawidłowy ciąg UTF-8 przy użyciu znaków zastępczych.
    • validate_utf8 zgłasza błąd, jeśli dane wejściowe nie są prawidłowym ciągiem UTF-8.
    • try_validate_utf8 zwraca , jeśli dane wejściowe nie są prawidłowym ciągiem w kodowaniu UTF-8.
  • Włącz UniForm Iceberg przy użyciu ALTER TABLE: Możesz teraz włączyć UniForm Iceberg na istniejących tabelach bez ponownego zapisywania plików danych. Zobacz , jak włączyć odczyty Iceberg w istniejącej tabeli.
  • try_url_decode funkcja: w tej wersji wprowadzono funkcję try_url_decode , która dekoduje ciąg zakodowany w adresie URL. Jeśli ciąg nie ma poprawnego formatu, funkcja zwraca NULL zamiast zgłaszać błąd.
  • Opcjonalnie zezwalać optymalizatorowi na poleganie na niewymuszonych ograniczeniach kluczy obcych: Aby poprawić wydajność zapytań, można teraz określić słowo kluczowe RELY dla FOREIGN KEY ograniczeń podczas tworzenia CREATE lub modyfikacji ALTER tabeli.
  • Równoległe uruchamianie zadań dla selektywnych nadpisań: Selektywne nadpisywanie przy użyciu replaceWhere teraz przeprowadza zadania, które jednocześnie usuwają dane i wstawiają nowe dane, poprawiając wydajność zapytań i wykorzystanie klastra.
  • Ulepszona wydajność strumienia danych zmiany z selektywnymi zastępowaniami: Selektywne zastępowania przy użyciu replaceWhere w tabelach ze strumieniem danych zmiany nie zapisują już odrębnych plików dla danych o zmianach 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.
  • Ulepszone opóźnienie zapytania dla COPY INTO polecenia: ta wersja zawiera zmianę, która poprawia opóźnienie zapytania dla COPY INTO polecenia. 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 ograniczeń sprawdzania: Teraz można usunąć funkcję tabeli checkConstraints z tabeli delty przy użyciu ALTER TABLE table_name DROP FEATURE checkConstraints. Zobacz Wyłączenie ograniczeń sprawdzania.

Zmiany zachowania

  • Zmiana powiązania schematu dla widoków: Gdy typy danych w bazowym zapytaniu widoku zmieniają się z tych używanych podczas pierwszego tworzenia widoku, usługa Databricks nie zgłasza już błędów dla odwołań do widoku, jeśli nie można wykonać bezpiecznego rzutowania.

    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.

  • Nie zezwalaj na tolerancję nieudokumentowanej składni ! poza logiką boolowską NOT: usługa Databricks nie będzie już tolerować użycia ! jako synonimu dla 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, kolumna ! NULL lub właściwość pola, ! IN i ! między należy zastąpić:

    CREATE ... IF NOT EXISTS, IS NOT NULL, NOT NULL kolumny lub właściwości pola, NOT IN i NOT BETWEEN.

    Operator prefiksu! logicznego (np. !is_mgr lub !(true AND false)) nie ma wpływu na tę zmianę.

  • Nie zezwalaj na nieudokumentowane i nieprzetworzone fragmenty składni definicji kolumn w widokach: Databricks obsługuje CREATE VIEW z nazwanymi kolumnami i komentarzami 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ójna obsługa błędów dekodowania Base64 na platformie Spark i aplikacji Photon: ta wersja zmienia sposób obsługi błędów dekodowania Base64 w celu dopasowania obsługi tych błędów przez platformę 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.

  • CHECK Aby zapewnić bardziej przydatne komunikaty o błędach, w środowisku Databricks Runtime 15.3 lub nowszym, instrukcja zawierająca ograniczenie ALTER TABLE ADD CONSTRAINT odwołujące się do nieprawidłowej nazwy kolumny zwraca błąd 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 analizowanie wzorców wyrażeń regularnych z negacją w zagnieżdżonym grupowaniu znaków: dzięki temu uaktualnieniu usługa Azure Databricks umożliwia teraz dokładne rozpoznawanie wzorców wyrażeń regularnych 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]].

Wersja 15.1

23 lipca 2024 r.

Ta bezserwerowa wersja obliczeniowa w przybliżeniu odpowiada środowisku Databricks Runtime 15.1

Nowe funkcje

Obsługa składni gwiazdki (*) w klauzuli WHERE: teraz możesz użyć składni gwiazdki (*) w klauzuli WHERE, aby odwołać 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 błędów podczas analizy składni JSON: analizator JSON używany do wyrażeń ścieżek JSON teraz szybciej odzyskuje po złej 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 platformy 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 usterki unhex(hexStr): w przypadku korzystania z funkcji 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'.
  • aliasy kolumn generowanych automatycznie są teraz stabilne: Gdy wynik wyrażenia jest przywoływane bez aliasu kolumny 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.
  • Skanowania tabel z polami typu CHAR są teraz zawsze wypełniane spacjami: Tabele Delta, niektóre tabele JDBC i zewnętrzne źródła danych przechowują dane typu CHAR w postaci nieuzupełnionej 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 na TIMESTAMP zgłaszają wyjątek dla przepełnionych wartości: Azure Databricks umożliwia rzutowanie z BIGINT i DECIMAL na TIMESTAMP, traktując 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 dopasować się do dokładnego zachowania wykonywania UDF w dedykowanym środowisku obliczeniowym: 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.