Заметки о новых версиях бессерверных вычислительных ресурсов

В этой статье описываются доступные и будущие возможности и функциональность бессерверных вычислительных ресурсов для блокнотов и заданий.

Дополнительные сведения о бессерверных вычислениях см. в разделе "Подключение к бессерверным вычислениям".

Azure Databricks периодически выпускает обновления бессерверных вычислений, автоматически обновляя бессерверную среду выполнения вычислений для поддержки улучшений и обновлений платформы. Все пользователи получают одинаковые обновления, которые развертываются в течение короткого периода времени.

Версии бессерверной среды

Бессерверные вычисления для записных книжек и заданий используют версии среды, предоставляющие стабильный клиентский API на основе Spark Connect, чтобы обеспечить совместимость приложений. Это позволяет Databricks независимо обновлять сервер, обеспечивая улучшения производительности, улучшения безопасности и исправления ошибок без каких-либо изменений кода в рабочих нагрузках.

Каждая версия среды включает определенную версию Python и набор пакетов Python с определенными версиями. Databricks представляет новые функции и исправления в последней версии среды при применении обновлений системы безопасности ко всем поддерживаемым версиям среды.

Примечания к выпуску версий бессерверной среды см. в разделе «Версии среды».

Примечания к релизу

В этом разделе содержатся примечания к выпуску вычислений без сервера. Заметки о выпуске систематизированы по годам и неделям в каждом году. Бессерверные вычисления всегда выполняются с помощью последней выпущенной версии, указанной здесь.

Кэширование DataFrame на бессерверных вычислениях сейчас находится в публичном предпросмотре

23 октября 2026 года

Кэширование DataFrame при бессерверных вычислениях теперь находится в публичном предпросмотре. Вы можете кэшировать DataFrame с помощью df.cache() или df.persist() в бессерверной вычислительной среде, чтобы повторно использовать ресурсоемкий результат вычислений до конца сеанса. Кэширование требует бессерверной среды версии 5 и выше, Databricks Connect для Python 18.1.8 и выше или Databricks Connect для Scala 18.1.5 и выше. Предпросмотр по умолчанию включён для большинства рабочих пространств. Администраторы рабочего пространства могут отключить его на странице предпросмотра . См. Cache DataFrames на бессерверных вычислениях.

19 октября 2026 г.

19 октября 2026 г.

Этот бессерверный вычислительный релиз включает обновления из Databricks Runtime 19.

Изменения поведения

  • Метрики выполнения Spark Connect скрывают детали фильтра строк и маски столбцов: метрики выполнения DataFrame теперь скрывают внутренние операторы и метрики, связанные с фильтрами строк и масками столбцов. Это защищает информацию о выполнении политики при проверке df.executionInfo.metrics, включая её текстовое представление. Граница защищенной части плана и ее собственные показатели остаются видимыми. Результаты запросов остаются без изменений. Блокноты или инструменты, основанные на детальных метриках внутри защищённых подпланов, могут потребовать обновления.

21 сентября 2026 г.

21 сентября 2026 г.

Этот бессерверный вычислительный релиз включает обновления из Databricks Runtime 19.

Новые возможности

  • truncate функция: truncate Функция усечает число до заданной шкалы без округления.

  • trim_array функция: Функция trim_array удаляет заданное количество элементов из конца массива.

31 августа 2026 г.

31 августа 2026 года

Этот бессерверный вычислительный релиз включает обновления из Databricks Runtime 19.

Новые возможности

  • Автоматический поток данных изменений стал общедоступным: Автоматический поток данных изменений (Auto CDF) вычисляет изменения на уровне строк во время запроса. Он работает с пакетными запросами, структурированным стримированием и дельта-шерингом и требует отслеживания строк. См. автоматическую передачу данных об изменениях.

  • parse_sql функция: parse_sql функция парсирует SQL-оператор и возвращает структурированный JSON, содержащий метаданные операторов, ссылки на таблицы, выражения select-list или информацию об ошибках парсера.

Изменения поведения

  • from_protobuf пропускает некорректно сформированные невыбранные поля при включённом сокращении схемы: когда включено сокращение схемы Protobuf, from_protobuf больше не декодирует и не проверяет поля, которые не выбраны запросом. Неправильно сформированное невыбранное поле больше не обнуливает строку в PERMISSIVE режиме и не выполняет запрос в FAILFAST режиме.

  • JDBC pushdown корректно обрабатывает литералы null: JDBC pushdown в Data Source v2 теперь генерирует SQL-литерал NULL вместо строки 'null'. Запросы, группирующие такие выражения, как NULLIF, теперь создают группу null вместо отдельной строковой группы 'null'.

  • Функции HTTP и AI больше не следуют перенаправлениям, http_request а функции ИИ больше не следуют перенаправлениям HTTP 3xx. Вызовы, получившие перенаправление, теперь возвращают удалённый сбой HTTP для статуса перенаправления. Загрузки коннектора-источника файлов не затрагиваются.

24 августа 2026 г.

24 августа 2026 года

Этот бессерверный вычислительный релиз включает обновления из Databricks Runtime 19.

Новые возможности

  • collect_union агрегированная функция: collect_union агрегатная функция возвращает отдельное объединение элементов в массивах внутри каждой группы.

Изменения поведения

  • HAVING оценивается до вычисления оконных функций в запросах с генераторами: В запросах, содержащих генераторы, такие как explode, оконные функции теперь вычисляются после фильтра HAVING. Таким образом, результаты оконной функции включают только строки, сохранённые с помощью HAVING.

  • Логика политики по умолчанию скрыта в планах запросов: планы запросов больше не отображают логику политики фильтра строк и маски столбцов, если у пользователя нет INSPECT_POLICY_EXECUTION права метахранилища.

  • Delta API DML использует права определяющего политику: DeltaTable.delete, DeltaTable.update и DeltaTable.merge теперь обрабатывают функции политик фильтрации строк и маскирования столбцов с правами определяющего политику, как и в SQL DML. Звонящим больше не нужны EXECUTE эти функции политики, если у них есть необходимые права доступа к таблице.

17 августа 2026 г.

17 августа 2026 года

Этот бессерверный вычислительный релиз включает обновления из Databricks Runtime 19.

Новые возможности

  • is_valid_variant функция: is_valid_variant Функция возвращается true , если вход является корректно сформированным VARIANT значением, и false в противном случае. Используйте его для проверки вариантных данных перед последующей обработкой.

  • DataFrameGroupBy.cov и SeriesGroupBy.describe в pandas API на Spark: pandas API на Spark теперь поддерживает DataFrameGroupBy.cov, который вычисляет парную ковариацию столбцов внутри каждой группы, и SeriesGroupBy.describe, который генерирует описательные статистические данные для каждой группы.

  • Поддержка pa.ChunkedArray в createDataFrame: createDataFrame() теперь обрабатывает DataFrame pandas со столбцами PyArrow ChunkedArray, предотвращая ошибки типов при использовании данных pandas, поддерживаемых Arrow.

Задачи JAR для бессерверных вычислений теперь общедоступны

6 августа 2026 г.

Упаковывайте код Scala или Java в JAR-файл и запускайте его как задачу в задании Lakeflow в бессерверной вычислительной среде. Ваш JAR должен соответствовать версиям Scala, Java Development Kit (JDK) и Databricks Connect, используемым в вашей версии бессерверной среды. См. Создание и запуск JAR-файлов в бессерверной вычислительной среде.

Бессерверный контроль доступа к вычислениям теперь широко доступен

3 августа 2026 года

В настоящее время доступен бессерверный контроль доступа к вычислениям. Администраторы рабочих пространств могут управлять тем, кто может запускать бессерверные рабочие нагрузки, с помощью двух встроенных объектов бессерверных вычислений: Default Interactive Compute (управляет доступом к записным книжкам и Databricks Connect) и Default Automated Compute (управляет доступом к заданиям и Spark Declarative Pipelines в Lakeflow). Все пользователи рабочего пространства по умолчанию имеют функцию Can Use на обоих объектах, поэтому существующие рабочие нагрузки продолжают выполняться без изменений.

См. Управление бессерверными вычислениями.

6 июля 2026 г.

6 июля 2026 года

Этот релиз бессерверных вычислений включает обновления из среды выполнения Databricks Runtime 18.

Новые возможности

  • Идентификатор потокового запроса в Spark Declarative Pipelines on Lakeflow: Spark Declarative Pipelines on Lakeflow теперь может устанавливать идентификатор потокового запроса при необходимости.

  • Функции IP-адресов (публичный предварительный просмотр): Доступны новые SQL-функции для работы с IPv4 и IPv6 адресами и CIDR-блоками, включая ip_host, ip_cidr, ip_versionip_prefix_length, ip_as_stringip_networkip_cidr_containsip_network_lastip_as_binaryи try_* варианты для нулевого безопасного поведения. См. ip_host и связанные функции.

  • Переразбиение состояния по требованию (общедоступная предварительная версия): Structured Streaming теперь поддерживает изменение количества разделов перемешивания для запросов с сохранением состояния без потери состояния контрольной точки. См. Переразбиение состояния по запросу для потоковых запросов с сохранением состояния.

Изменения поведения

  • CREATE OR REPLACE TABLE Сохраняет комментарии: CREATE OR REPLACE TABLE теперь по умолчанию сохраняются существующие комментарии к столбцам и таблицам. Ранее при повторном создании таблицы были удалены комментарии. Управляемые таблицы и представления теперь соответствуют существующему поведению материализованных представлений и потоковых таблиц.

  • Запись DataFrame по именам столбцов приводит столбцы совместимых типов: writeTo().append(), writeTo().overwrite(), writeTo().overwritePartitions() и write.mode("append").saveAsTable() теперь автоматически приводят столбцы совместимых типов (например, int к long), чтобы они соответствовали целевой схеме таблицы Delta. Ранее эти операции завершились ошибкой DELTA_FAILED_TO_MERGE_FIELDS , когда типы столбцов были совместимы, но не идентичны. Поведение теперь соответствует SQL INSERT INTO ... BY NAME.

  • ALTER TABLE SET TBLPROPERTIES для pipelines.pipelineId: ALTER TABLE <table> SET TBLPROPERTIES('pipelines.pipelineId' = '<pipeline-id>') теперь пытается сделать указанную таблицу доступной для записи конвейером. Ранее установка этого свойства в обычной таблице не влияла. Если таблица не поддерживает запись через конвейер, команда выдает ошибку SETTING_PIPELINES_PIPELINE_ID_NOT_SUPPORTED.

  • DESCRIBE EXTENDED AS JSON включает результаты прогнозной оптимизации: DESCRIBE EXTENDED ... AS JSON теперь включает результаты оценки предиктивной оптимизации в своем выводе. Ранее эти сведения не возвращались в выходных данных JSON.

  • Показатели в окне представления метрик возвращают правильные результаты: Окно представления метрик теперь возвращает правильные результаты, когда запросы используют фильтры GROUP BY, IN/BETWEEN или смешанные предикаты в столбце порядка окна. Ранее эти шаблоны фильтров могут привести к неправильным результатам.

  • Дедупликация в Structured Streaming с использованием ключей NaN: Дедупликация в Structured Streaming теперь рассматривает значения NaN (Not-a-Number) с разными битовыми паттернами как дубликаты, когда в качестве ключа дедупликации используется столбец double или float. NaN Ранее значения с различными внутренними представлениями рассматривались как отдельные и не были дедупликированы.

  • NATURAL JOIN Нечувствительное к регистру сопоставление столбцов: NATURAL JOIN теперь сопоставляет общие столбцы без учета регистра, что соответствует эквивалентному USING соединению. Ранее сопоставление столбцов было чувствительным к регистру, что приводит к тому, что столбцы, которые отличаются только в случае (например, ID vs id) не распознаются как общие столбцы, что приводит к автоматическому перекрестному соединению вместо ожидаемого равного соединения.

Версия 18.2

13 мая 2026 года

Этот бессерверный выпуск вычислений примерно соответствует Databricks Runtime 18.2.

Новые возможности

  • CREATE OR REPLACE Поддержка временных таблиц: CREATE OR REPLACE TEMP TABLE теперь поддерживается синтаксис, позволяющий создавать или заменять временные таблицы в одном операторе. Это устраняет необходимость явного удаления и повторного создания временных таблиц.

  • agg() Alias for measure() Function: agg() теперь доступен как псевдоним для функции measure() . Это изменение полностью обратно совместимо. Существующие запросы, которые используют measure(), продолжают работать без изменений, и agg() производит идентичные результаты при использовании с теми же аргументами.

  • Обновление драйвера Snowflake JDBC: Драйвер Snowflake JDBC обновляется с 3.22.0 до 3.28.0.

  • pyspark.pipelines.testing Namespace alias: pyspark.pipelines.testing теперь доступен как удобный псевдоним для dlt.testing API. Импортируйте декларативные конвейеры Spark в утилитах тестирования конвейеров Lakeflow через любое из пространств имён.

  • История таблицы Delta включает флаги опции записи: История таблицы Delta (DESCRIBE HISTORY) теперь включает флаги опции записи в столбце operationParameters для WRITE и REPLACE TABLE операций. Если указанные ниже параметры явно включены, они отображаются как логические флаги в журнале (только если true):

    Для операций WRITE и REPLACE TABLE:

    • isDynamicPartitionOverwrite: присутствует при использовании режима динамической перезаписи секции
    • canOverwriteSchema: присутствует при включении перезаписи схемы (overwriteSchema)
    • canMergeSchema: присутствует, когда включено объединение схем (mergeSchema)

    Для операций REPLACE TABLE:

    • predicate: присутствует при replaceWhere использовании
    • isV1WriterSaveAsTableOverwrite: присутствует, когда замена .saveAsTable активируется перезаписью
  • Выборочно заменяйте данные с помощью API replaceOn и replaceUsing DataFrame: Параметры replaceOn и replaceUsing в API Scala и Python DataFrame теперь стали общедоступными. Используйте эти параметры, чтобы заменить часть таблицы результатом DataFrame. replaceOn заменяет строки, соответствующие пользовательскому условию. replaceUsing заменяет строки, где указанные столбцы равны. Эти API дополняют операторы SQL INSERT REPLACE ON и INSERT REPLACE USING. Смотрите выборочную перезапись данных с помощью Delta Lake.

Изменения поведения

  • Сохранение структуры NULL в INSERT, MERGE и потоковых записях с эволюцией схемы: для INSERT, MERGE и потоковых записей, использующих эволюцию схемы, структура NULL в источнике теперь сохраняется как NULL в целевой системе. Ранее это значение было неправильно материализовано в виде структуры, отличной от NULL, при этом каждое поле имеет значение NULL, в то время как те же операции без эволюции схемы правильно сохранили структуры NULL. Если ваш код полагался на получение структуры с ненулевым значением, но все её поля были NULL, обновите код для обработки структуры со значением NULL.

  • Исправление ошибки удаления строк в LEFT OUTER JOIN LATERAL: Ошибка, из-за которой строки ошибочно удалялись из запросов LEFT OUTER JOIN LATERAL, теперь исправлена. Запросы, использующие эту конструкцию, теперь возвращают правильные результаты. Чтобы временно вернуться к предыдущему поведению, задайте значение spark.databricks.sql.optimizer.lateralJoinPreserveOuterSemantictrue.

  • NATURAL JOIN поддерживает сопоставление столбцов без учета регистра: NATURAL JOIN теперь корректно использует сопоставление столбцов без учета регистра, когда spark.sql.caseSensitive установлено в false (по умолчанию). Ранее NATURAL JOIN использовалось сравнение с учетом регистра для определения общих столбцов, из-за чего столбцы, различающиеся только регистром (например, ID и id), не признавались совпадающими. Это привело к неявному получению NATURAL JOIN результатов перекрёстного соединения. Это исправление выравнивает NATURAL JOIN поведение с USING соединениями, которые уже правильно обрабатывают нечувствительность регистра. Запросы, затронутые этой ошибкой, теперь возвращают правильные результаты с правильно присоединенными столбцами.

  • Проверка зависимостей SQL UDF в Unity Catalog: Unity Catalog теперь требует проверки зависимостей для пользовательских функций SQL (UDF), чтобы предотвратить обход контроля доступа. Ранее функции SQL, созданные с помощью REST API, могли ссылаться на зависимости, к которых пользователь не получил доступа. Теперь выполнение пользовательских функций SQL (UDF) с недопустимыми конфигурациями зависимостей блокируется.

  • Зависимости AWS SDK версии 1 зашёнены: зависимости AWS SDK v1, входящие в состав среды выполнения Azure Databricks, теперь зашёнены и больше недоступны напрямую на пути класса. Если код зависит от библиотек ПАКЕТА SDK AWS версии 1, предоставляемых ранее средой выполнения Azure Databricks, добавьте их в качестве явных зависимостей в проекте. Это изменение готовится к миграции в пакет SDK AWS версии 2 после окончания поддержки AWS для пакета SDK версии 1.

  • Исправление неправильного авторитета EPSG для SRID 102100, определённого ESRI: Отображение системы координат (CRS) для SRID 102100 теперь правильно использует ESRI:102100 вместо EPSG:102100неправильного . Это исправление гарантирует, что геопространственные данные хранятся с правильным органом власти для улучшения взаимодействия с другими системами.

Версия 18.1

20 апреля 2026 года

Этот бессерверный выпуск вычислений примерно соответствует Databricks Runtime 18.1.

Новые возможности

  • DATETIMEOFFSET data type support for Microsoft Azure Synapse: Тип DATETIMEOFFSET данных поддерживается для соединений Microsoft Azure Synapse.

  • Комментарии к таблице BigQuery в Google: описания таблиц Google BigQuery разрешаются и отображаются в виде комментариев к таблице.

  • Соединение JDBC: Используйте соединение JDBC для чтения и записи в источник данных с помощью API Spark Data Source API или SQL API Databricks Remote Query.

  • Эволюция схемы с операторами INSERT: используйте предложение WITH SCHEMA EVOLUTION с SQL-операторами INSERT для автоматического изменения схемы целевой таблицы во время операций вставки. Предложение поддерживается для INSERT INTO, INSERT OVERWRITE, и INSERT INTO ... REPLACE форм. См. эволюцию схемы.

  • Сохранение значений NULL в структурах при INSERT операциях: INSERT операции с эволюцией схемы или неявным кастингом сохраняют NULL значения структуры, когда исходная и целевая таблицы имеют разный порядок полей структуры.

  • Поддержка многооператорных транзакций в Delta Sharing: таблицы Delta Sharing, использующие заранее подписанные URL или облачные режимы обмена токенами, поддерживают многооператорные транзакции. При первом доступе в рамках транзакции версия таблицы фиксируется и используется повторно для всех последующих операций чтения в этой транзакции. Перемещение во времени, источник данных изменений и потоковая передача не поддерживаются.

  • parse_timestamp SQL-функция: SQL-функция parse_timestamp анализирует строки временных меток с помощью нескольких шаблонов. Функция выполняется на движке Photon для повышения производительности.

  • max_by и min_by с необязательным лимитом: агрегированные функции max_by и min_by теперь принимают необязательный третий аргумент limit (до 100 000), возвращая массив верхних или нижних K значений без оконных функций или CTE.

  • Векторные агрегатные и скалярные функции: Новые SQL-функции работают с ARRAY<FLOAT> векторами для вложения и рабочих нагрузок на сходство, включая vector_avg, vector_sum, vector_cosine_similarity, vector_inner_product, vector_l2_distance, vector_norm и vector_normalize. См. встроенные функции.

  • Поддержка SQL-курсоров в составных операторах: составные операторы SQL-скриптов теперь поддерживают обработку курсоров. Используйте DECLARE CURSOR для определения курсора, затем OPEN, FETCH и CLOSE для выполнения запроса и обработки строк по одной.

  • Функции приближённого top-K sketch: Новые функции позволяют строить и комбинировать приближённые эскизы top-K для распределенной агрегации топ-K: approx_top_k_accumulate, approx_top_k_combine и approx_top_k_estimate. См. агрегатную функцию approx_top_k.

  • Функции эскиза кортежа: новые агрегатные и скалярные функции для эскиза кортежей поддерживают подсчёт уникальных значений и агрегирование по парам ключ-сводка. См. встроенные функции.

  • Новые геопространственные функции: Теперь доступны следующие геопространственные функции:

    • st_estimatesrid функция: оценивает лучший проецируемый идентификатор пространственной ссылки (SRID) для входной геометрии.
    • st_force2d функция: преобразует географию или геометрию в его 2D-представление.
    • st_nrings функция: подсчитывает общее количество колец в многоугольнике или мульти-многоугольнике, включая внешние и внутренние кольца.
    • st_numpoints функция: подсчитывает количество непустых точек в географическом или геометрическом объекте.
  • Поддержка Photon для геопространственных функций: st_difference функция,st_intersection функция и st_union функция теперь работают на движке Photon для более высокой производительности.

Изменения поведения

  • Ошибки метрики наблюдения больше не завершают запросы: ошибки при сборе метрик наблюдения больше не вызывают сбоев при выполнении запросов. Ранее ошибки в OBSERVE предложениях (например, деление по нулю) могли блокировать или завершить весь запрос. Теперь запрос завершается успешно, и ошибка возникает при вызове observation.get.

  • DESCRIBE FLOW зарезервированное ключевое слово: Команда DESCRIBE FLOW теперь доступна. Если у вас есть таблица с именем flow, используйте DESCRIBE schema.flow, DESCRIBE TABLE flow, или DESCRIBE `flow` с обратными апострофами.

  • Операции булевых множеств пространственного SQL: ST_Difference, ST_Intersection и ST_Union используют новую реализацию с производительностью примерно в 2 раза выше. Допустимые геометрии входных данных всегда создают результат. Результаты нормализуются для согласованных выходных данных и могут отличаться после 15-го десятичного разряда для пересечений сегментов строк из-за различных формул и порядка операций.

  • Типы исключений для SQLSTATE: типы исключений обновляются для поддержки SQLSTATE. Если код анализирует исключения по строковым сопоставлениям или перехватывает определенные типы исключений, обновите логику обработки ошибок.

Версия 18.0

27 февраля 2026 года

Этот бессерверный выпуск вычислений примерно соответствует Databricks Runtime 18.0.

Новые возможности

  • SQL-скрипты стали общедоступными: скрипты SQL стали общедоступными.

  • Драйвер Redshift JDBC обновлён до 2.1.0.28: Драйвер Redshift JDBC был обновлён до версии 2.1.0.28.

  • Среда выполнения общей изоляции для Unity Catalog Python UDF: Unity Catalog Python UDF с тем же владельцем теперь могут по умолчанию использовать изоляционную среду, что повышает производительность и снижает использование памяти. Чтобы убедиться, что UDF всегда выполняется в полностью изолированной среде, добавьте классификатор STRICT ISOLATION. См. раздел изоляции среды.

  • Функции окна SQL в метрических представлениях: теперь вы можете использовать функции окон SQL в метрических представлениях для расчёта текущих итогов, ранжирования и других оконных вычислений.

  • Динамическая корректировка разделов перемешивания в потоковых запросах без состояния: теперь можно изменить количество разделов тасовки в потоковых запросах без состояния, не перезапуская запрос.

  • Адаптивное выполнение запросов и автоматически оптимизированное тасование в потоковых запросах без состояния: Adaptive Query Execution (AQE) и автооптимизированное тасование (AOS) теперь поддерживаются в потоковых запросах без состояния.

  • Слияние литеральных строк повсюду: Возможность слияния последовательных строковых литералов, таких как 'Hello' ' World', распространена на все места, где разрешены 'Hello World'. См. тип STRING.

  • Маркеры параметров везде: теперь вы можете использовать именованные (:param) и безымянные? () параметры, практически везде, где можно использовать буквальное значение соответствующего типа, включая операторы DDL и типы столбцов. См. метки параметров.

  • IDENTIFIER clause everywhere: Клауза IDENTIFIER, которая преобразует строки в имена объектов SQL, была расширена почти везде, где разрешен идентификатор, включая псевдонимы столбцов и определения столбцов. См. IDENTIFIER пункт.

  • Новая BITMAP_AND_AGG функция: теперь доступна новая bitmap_and_agg агрегатная функция.

  • Новые функции эскиза Theta: Теперь доступна новая библиотека функций для приблизительных операций с разным счётом и множествами с использованием Datasketches Theta Sketch, включая theta_sketch_agg, theta_union_agg, theta_intersection_agg и связанные функции.

  • Новая библиотека функций KLL Sketch: теперь доступна новая библиотека функций для построения KLL Sketches для приблизительных квантильных вычислений, включая kll_sketch_agg_bigint, kll_sketch_agg_double и связанные функции.

  • Библиотека Apache Parquet обновлена до версии 1.16.0: Библиотека Apache Parquet обновлена до версии 1.16.0.

  • Новые геопространственные функции: Теперь поддерживаются следующие новые геопространственные функции:

    • st_azimuth функция: Возвращает азимут, основанный на севере, от первой точки до второй в радианах.
    • st_boundary функция: возвращает границу входной геометрии.
    • st_closestpoint функция: Возвращает двумерную проекцию точки на первой геометрии, ближайшей ко второй геометрии.
    • st_geogfromewkt функция: анализирует описание расширенного текста Well-Known (EWKT) для географии.
    • st_geomfromewkt функция: анализирует описание расширенного Well-Known текста (EWKT) геометрии.
  • Улучшенная производительность пространственных соединений: Производительность пространственных соединений теперь улучшается за счёт внедрения поддержки shuffled spatial join.

  • Улучшенная производительность геопространственных функций: теперь доступны реализации Photon для st_isvalid функций, st_makeline функций и st_makepolygon функций.

  • Поддержка ввода EWKT: функции try_to_geography, try_to_geometry, to_geography и to_geometry теперь принимают расширенный Well-Known Text (EWKT) в качестве входных данных.

Изменения поведения

  • FSCK REPAIR TABLE включает восстановление метаданных по умолчанию: теперь команда FSCK REPAIR TABLE включает начальный этап восстановления метаданных перед проверкой отсутствующих файлов данных. Команда может работать с таблицами с поврежденными контрольными точками или недопустимыми значениями секций.

  • Коэффициенты пропорциональности согласованы между операциями чтения и автоматически оптимизированной записью: Коэффициенты пропорциональности для размера разделов теперь последовательно используют дробные значения в операциях чтения и автоматически оптимизированной записи. Это изменение может привести к другому количеству задач для операций чтения.

  • Объединённое выполнение Python UDF в PySpark и Unity Catalog: Unity Catalog Python UDF теперь используют Apache Arrow как стандартный формат обмена, что повышает общую производительность. В рамках этого изменения значения TIMESTAMP, передаваемые в определяемые пользователем функции Python, больше не включают сведения о часовом поясе в атрибут datetime объекта tzinfo. Если UDF использует сведения о часовом поясе, восстановите его с помощью date = date.replace(tzinfo=timezone.utc). См. Поведение часового пояса временной метки для входных данных, обрабатываемых построчно.

  • Улучшенные сообщения об ошибках для проблем с модулем входа коннектора Kafka: При использовании коннектора Kafka с незатенённым классом модуля входа Azure Databricks теперь предоставляет сообщения об ошибке, в которых предлагается использовать правильный shaded-префикс класса (kafkashaded.org.apache.kafka или kafkashaded.software.amazon.msk.auth.iam).

  • Ограничения time travel и поведение хранения VACUUM: Azure Databricks теперь блокирует запросы time travel за пределами порога deletedFileRetentionDuration для всех таблиц. Команда VACUUM игнорирует аргумент длительности хранения, за исключением случаев, когда значение равно 0 часов. Невозможно задать deletedFileRetentionDuration размер больше logRetentionDuration или наоборот.

  • BinaryType по умолчанию сопоставляется с bytes в PySpark: в PySparkBinaryType теперь стабильно сопоставляется с Python bytes. Ранее PySpark сопоставлял BinaryType либо с bytes, либо с bytearray, в зависимости от контекста. Чтобы восстановить старое поведение, установите значение spark.sql.execution.pyspark.binaryAsBytesfalse.

  • Столбцы разделов, материализованные в файлах Parquet: Секционированные таблицы Delta теперь материализуют столбцы разделов в новых файлах данных Parquet. Ранее значения секций хранятся в метаданных журнала транзакций Delta и отражаются в путях к каталогу, но не записываются как столбцы в самих файлах Parquet. Это изменение может повлиять на рабочие нагрузки, которые напрямую считывают файлы Parquet, написанные Delta.

  • DESCRIBE TABLE выход включает столбец метаданных: Выход теперь DESCRIBE TABLE [EXTENDED] включает новый metadata столбец для всех типов таблиц, содержащий семантические метаданные (имя отображения, формат и синонимы), определённые в таблице как строка JSON.

Бессерверная среда версии 5 теперь доступна

25 февраля 2026 года

Теперь вы можете использовать бессерверную среду версии 5 в бессерверных записных книжках и заданиях. Сюда входят версии среды ЦП и GPU. См. Среда версии 5.

Версия 17.3

28 октября 2025 года

Этот бессерверный выпуск вычислений примерно соответствует Databricks Runtime 17.3 LTS.

Новые возможности

  • LIMIT Поддержка ALL для рекурсивных CTE: теперь вы можете использовать LIMIT ALL предложение с рекурсивными выражениями общих таблиц (rCTE), чтобы явно указать, что к результатам запроса не должно применяться ограничение строк. См. общие табличные выражения (CTE).

  • Добавление файлов в томах Unity Catalog возвращает правильную ошибку: попытка добавить файлы к существующим файлам в томах Unity Catalog теперь возвращает более подробное сообщение об ошибке, чтобы помочь понять и решить проблему.

  • st_dump Поддержка функций: теперь вы можете использовать st_dump эту функцию для разложения геометрического объекта на его составляющие части, возвращая набор более простых геометрий. См. st_dump функцию.

  • Теперь поддерживаются функции внутреннего кольца многоугольников: теперь вы можете использовать следующие функции для работы с внутренними кольцами полигонов:

    • st_numinteriorrings: Получите количество внутренних границ (колец) многоугольника. См. st_numinteriorrings функцию.
    • st_interiorringn: Извлекает n-ю внутреннюю границу многоугольника и возвращает её в виде линейного объекта. См. st_interiorringn функцию.
  • EXECUTE IMMEDIATE использование константных выражений: Оператор EXECUTE IMMEDIATE теперь поддерживает использование константных выражений в строке запроса, что позволяет более гибко выполнять динамический SQL. См. EXECUTE IMMEDIATE.

  • Поддержка spark.sql.files.maxPartitionBytes в serverless-вычислениях: теперь вы можете настроить параметр конфигурации Spark spark.sql.files.maxPartitionBytes на serverless-вычислениях, чтобы управлять максимальным числом байтов, упакованных в один раздел при чтении файлов. См. инструкцию по настройке свойств Spark для бессерверных записных книжек и заданий.

Изменения поведения

  • Поддержка информации о обновлении MV/ST в DESCRIBE EXTENDED AS JSON: DESCRIBE EXTENDED AS JSON Теперь команда включает информацию о обновлении материализованных просмотров и таблиц потоков, обеспечивая видимость последнего времени обновления и статуса.

  • Добавить столбец метаданных в DESCRIBE QUERY и DESCRIBE TABLE: Команды DESCRIBE QUERY и DESCRIBE TABLE теперь включают столбец метаданных в свой выход, предоставляя дополнительную информацию о свойствах и характеристиках каждого столбца.

  • Корректная обработка null-структур при удалении столбцов NullType: Azure Databricks теперь корректно обрабатывает значения null struct при удалении столбцов с NullType, предотвращая потенциальное повреждение данных или неожиданное поведение.

  • Улучшенная обработка нулевых структур в Parquet: В этом релизе добавлены улучшения в обработке значений нулевых структур при чтении и записи в файлы Parquet, обеспечивая более последовательное и корректное поведение.

  • Обновление библиотеки aws-msk-iam-auth для Kafka: библиотека, aws-msk-iam-auth используемая для аутентификации Amazon MSK IAM, была обновлена до последней версии, обеспечивая улучшенную безопасность и совместимость.

Версия 17.2

25 сентября 2025 года

Этот бессерверный выпуск вычислений примерно соответствует Databricks Runtime 17.2.

Новые возможности

  • ST_ExteriorRing функция теперь поддерживается: теперь можно использовать функцию ST_ExteriorRing для извлечения внешней границы многоугольника и возврата её в виде линейной строки. См. st_exteriorring функцию.
  • Поддержка ключевого слова TEMPORARY при создании представления метрик: теперь вы можете использовать ключевое слово TEMPORARY при создании представления метрик. Временные представления метрик отображаются только в созданном сеансе и удаляются при завершении сеанса. См. CREATE VIEW.

  • Используйте нативный I/O для LokiFileSystem.getFileStatus в S3: LokiFileSystem.getFileStatus теперь использует нативный стек ввода-вывода для трафика Amazon S3 и возвращает объекты org.apache.hadoop.fs.FileStatus вместо shaded.databricks.org.apache.hadoop.fs.s3a.S3AFileStatus.

  • Auto Loader определяет столбцы разделов в режиме singleVariantColumn: Auto Loader теперь определяет столбцы разделов по путям к файлам при вводе данных в виде полуструктурированного варианта с использованием параметра singleVariantColumn. Ранее столбцы секционирования не были обнаружены автоматически. См. функцию автозагрузчика.

Изменения поведения

  • DESCRIBE CONNECTION показывает настройки среды для соединений JDBC : Azure Databricks теперь включает пользовательские настройки среды в DESCRIBE CONNECTION выходе для JDBC-соединений, поддерживающих пользовательские драйверы и запускающиеся в изоляции. Другие типы подключений остаются неизменными.

  • Опция усечения истории Uniform при миграции управляемых таблиц: теперь можно усекать историю Uniform при миграции таблиц с включённым Uniform/Iceberg с помощью ALTER TABLE...SET MANAGED. Это упрощает миграцию и сокращает время простоя по сравнению с отключением и повторным включением вручную Uniform.

  • Правильные результаты для split с пустым регулярным выражением и положительным пределом: Azure Databricks теперь возвращает корректные результаты при использовании split function с пустым регулярным выражением и положительным пределом. Ранее функция неправильно усека́ла оставшуюся строку вместо включения её в последний элемент.

  • Исправление обработки ошибок url_decode и try_url_decode в Photon: в Photon url_decode() и failOnError = false с try_url_decode() теперь возвращают NULL для некорректных URL-кодированных строк вместо сбоя запроса.

  • Среда совместного выполнения для Unity Catalog Python UDTF: Azure Databricks теперь совместно использует среду выполнения для пользовательских табличных функций (UDTF) на Python одного владельца в рамках одного сеанса Spark. Необязательное STRICT ISOLATION условие доступно для отключения возможности совместного использования для определяемых пользователем таблиц функций (UDTF) с такими побочными эффектами, как, например, изменение переменных среды или выполнение произвольного кода.

Версия 17.1

19 августа 2025 года

Этот бессерверный выпуск вычислений примерно соответствует Databricks Runtime 17.1.

Новые возможности

  • Снижение использования памяти для широких схем в Photon Writer: были внесены улучшения движка Photon, которые значительно сокращают использование памяти для широких схем, устраняя сценарии, ранее приводившие к ошибкам вне памяти.

Изменения поведения

  • Выдается ошибка для некорректных CHECK ограничений: Azure Databricks теперь выдает AnalysisException, если выражение ограничения CHECK не может быть разрешено во время проверки ограничений.

  • Коннектор Pulsar больше не предоставляет Bouncy Castle: библиотека Bouncy Castle теперь затенена в коннекторе Pulsar, чтобы предотвратить конфликты в пути классов. В результате задания Spark больше не могут получать доступ к org.bouncycastle.* классам из соединителя. Если код зависит от Bouncy Castle, установите библиотеку вручную в бессерверной среде.

  • Auto Loader по умолчанию использует события файлов, если доступны: Auto Loader использует события файлов вместо списка каталогов, когда путь загрузки находится во внешнем месте с включёнными файловыми событиями. Значение по умолчанию useManagedFileEvents сейчас if_available (было false). Это может улучшить производительность обработки данных и записать предупреждение, если события файловой системы еще не включены.

  • Connector Teradata исправляет сравнение строк с чувствительностью к регистру: теперь коннектор Teradata по умолчанию TMODE=ANSIвыравнивает поведение сравнения строк с Azure Databricks, делая его чувствительным к регистру. Это изменение настраивается и не влияет на существующих пользователей, если они не будут включено.

Бессерверная среда версии 4

13 августа 2025 года

Среда 4 теперь доступна в бессерверных записных книжках и заданиях. Эта версия среды включает обновления библиотек и обновления API. См. Окружающая среда версии 4.

Версия 17.0

24 июля 2025 года

Этот бессерверный выпуск вычислений примерно соответствует Databricks Runtime 17.0.

Новые возможности

  • Поддержка процедур SQL: Скрипты SQL теперь могут быть оформлены как процедура, хранящаяся как повторно используемый объект в Unity Catalog. Процедуру можно создать с помощью команды CREATE PROCEDURE , а затем вызвать ее с помощью команды CALL .

  • Установка стандартной колляции для SQL Functions: Использование новой DEFAULT COLLATION клаузы в CREATE FUNCTION команде определяет стандартную колляцию для STRING параметров, тип возврата и STRING литералы в теле функции.

  • Поддержка рекурсивных выражений общих таблиц (rCTE): Azure Databricks теперь поддерживает навигацию по иерархическим данным с использованием рекурсивных выражений общих таблиц (rCTE). Используйте самоссылочный CTE с UNION ALL, чтобы следовать рекурсивной связи.

  • PySpark и Spark Connect теперь поддерживают API DataFrames df.mergeInto: PySpark и Spark Connect теперь поддерживают API df.mergeInto.

  • Поддержка ALL CATALOGS в SHOW SCHEMAS: Синтаксис SHOW SCHEMAS обновляется для принятия ALL CATALOGS, что позволяет проходить по всем активным каталогам, поддерживающим пространства имён. Выходные атрибуты теперь включают столбец catalog, указывающий каталог соответствующего пространства имен.

  • Жидкая кластеризация теперь более эффективно сжимает векторы удаления: дельта-таблицы с жидкой кластеризацией теперь эффективнее применяют физические изменения на основе векторов удаления, когда выполняется OPTIMIZE. Дополнительные сведения см. в разделе "Применение изменений к файлам данных Parquet".

  • Разрешить недетерминированные выражения в значениях столбцов UPDATE/INSERT для операций MERGE: Azure Databricks теперь позволяет использовать недетерминированные выражения в обновляемых и вставляемых значениях столбцов для операций MERGE. Например, теперь можно создавать динамические или случайные значения для столбцов с помощью таких rand()выражений.

  • Измените Delta MERGE Python API на возврат DataFrame вместо Unit: API Python MERGE (напримерDeltaMergeBuilder) теперь также возвращают DataFrame, как это делает SQL API, с тем же результатом.

Изменения поведения

  • Изменение поведения для опции инкрементального каталога Auto Loader: Значение устаревшей опции Auto Loader cloudFiles.useIncrementalListing теперь установлено на стандартное falseзначение . В результате это изменение приводит к тому, что автозагрузчик выполняет полный список каталогов при каждом запуске. Databricks не рекомендует использовать этот параметр. Вместо этого используйте режим уведомлений файлов с событиями файлов.

  • CREATE VIEW Клаузы на уровне столбца теперь выдают ошибки, когда клауза применяется только к материализированным представлениям: CREATE VIEW команды, указывающие клаузу на уровне столбца, действительную только для MATERIALIZED VIEW, теперь выдают ошибку. К затронутым предложениям относятся NOT NULL, указанные типы данных, DEFAULT, а также COLUMN MASK.

Целевые показатели производительности без сервера — общедоступная версия

10 июня 2025 г.

Выбор бессерверного параметра производительности для заданий и конвейеров теперь общедоступен.

Если включен параметр оптимизации производительности , рабочая нагрузка оптимизирована для ускорения запуска и выполнения. При отключении бессерверная рабочая нагрузка выполняется в стандартном режиме производительности, оптимизированном для затрат и имеет немного более высокую задержку запуска.

Дополнительные сведения см. в разделе "Выбор режима производительности " и "Выбор режима производительности".

Версия 16.4

28 мая 2025 г.

Этот бессерверный выпуск вычислений примерно соответствует Databricks Runtime 16.4 LTS.

Изменения поведения

  • Исправление для соблюдения опций для планов кэширования источников данных: это обновление гарантирует, что чтение таблиц соответствует параметрам, установленным для всех планов источников данных при кэшировании, а не только для первого кэшированного чтения таблицы. Ранее таблица источника данных считывает кэшированный первый план, но не удалось учесть различные параметры в последующих запросах.

  • Включение флага, требующего материализации источника данных для операций MERGE: Ранее пользователи могли отключить материализацию источника данных в MERGE, установив merge.materializeSource на none. При включении нового флага всегда требуется материализация источника и попытки отключить его приведет к ошибке. Databricks планирует включить этот флаг только для клиентов, которые ранее не изменили эту конфигурацию, поэтому большинство пользователей не должны испытывать никаких изменений в поведении.

Новые возможности

  • Auto Loader теперь может очищать обработанные файлы в исходном каталоге: теперь вы можете инструктировать Auto Loader автоматически перемещать или удалять обработанные файлы. Подключите эту функцию с помощью параметра cloudFiles.cleanSource автозагрузчика. См. раздел "Общие" в разделе cloudFiles.cleanSource.

  • Добавлена поддержка расширения типов для потоковой передачи из таблиц Delta: В этом релизе добавлена поддержка потоковой передачи из таблицы Delta с расширенными по типам данных столбцов, а также совместного использования таблицы Delta с включенным расширением типов с помощью Delta Sharing Databricks-to-Databricks. Функция расширения типов в настоящее время доступна в общедоступной предварительной версии. См. Расширение типов.

  • Поддержка IDENTIFIER теперь доступна в DBSQL для операций с каталогом: теперь вы можете использовать предложение IDENTIFIER при выполнении следующих операций каталога:

    • CREATE CATALOG
    • DROP CATALOG
    • COMMENT ON CATALOG
    • ALTER CATALOG

    Этот новый синтаксис позволяет динамически указывать имена каталогов с помощью параметров, определенных для этих операций, что позволяет использовать более гибкие и многократно используемые рабочие процессы SQL. В качестве примера синтаксиса рассмотрим CREATE CATALOG IDENTIFIER(:param) , где param указан параметр, указывающий имя каталога. См. IDENTIFIER пункт.

  • Сопоставленные выражения теперь предоставляют автосгенерированные временные псевдонимы: автосгенерированные псевдонимы для сопоставленных выражений теперь детерминированно включают информацию COLLATE. Автоматически созданные псевдонимы являются временными (неустойчивыми) и не должны полагаться на них. Вместо этого, как рекомендуется, последовательно и явно использовать expression AS alias .

  • Добавлена поддержка API проталкивания фильтров для источников данных Python: бессерверные вычисления теперь поддерживают проталкивание фильтров при пакетном чтении из источников данных Python через API, аналогично интерфейсу SupportsPushDownFilters. См. заметки о выпуске LTS 16.4.

  • Улучшение трассировки Python UDF: Трассировка Python UDF теперь включает кадры как от драйвера, так и от исполнителя, а также клиентские кадры, что приводит к более качественным сообщениям об ошибках, показывающих более значимые детали (например, содержание строк кадров внутри UDF).

  • UNION/EXCEPT/INTERSECT внутри представления и EXECUTE IMMEDIATE теперь возвращают корректные результаты: запросы к определениям временных и постоянных представлений с конструкциями верхнего уровня UNION//EXCEPTINTERSECT и столбцами без псевдонимов ранее возвращали неправильные результаты, потому что ключевые слова считались псевдонимами. Теперь эти запросы будут правильно выполнять всю операцию набора.

  • Руководство по конфигурации кэшированного плана источника данных и миграции: Чтение из таблицы файлового источника корректно учитывает параметры запроса (например, разделители). Ранее первый план запроса был кэширован, а последующие изменения параметров игнорируются. Чтобы восстановить предыдущее поведение, задайте для spark.sql.legacy.readFileSourceTableCacheIgnoreOptions значение true.

  • Новые функции listagg и string_agg: начиная с этого релиза, вы можете использовать функции listagg или string_agg для агрегирования значений STRING и BINARY внутри группы. См. string_agg.

Теперь режим производительности настраивается для бессерверных заданий

14 апреля 2025 года

Теперь можно выбрать режим производительности бессерверного задания с помощью параметра, оптимизированного для производительности , на странице сведений о задании. Ранее все бессерверные задания были оптимизированы для повышения производительности. Теперь можно отключить оптимизированный для производительности параметр для выполнения рабочей нагрузки в стандартном режиме производительности. Стандартный режим пеформанса предназначен для снижения затрат на рабочие нагрузки, в которых допустима небольшая задержка запуска.

Стандартный режим производительности не поддерживается для конвейеров с непрерывной обработкой, одноразовых запусков, созданных с помощью конечной точки runs/submit, или заданий для хранилища SQL, включая материализованные представления.

Дополнительные сведения о режиме производительности см. в разделе "Выбор режима производительности".

Версия 16.3

9 апреля 2025 г.

Этот бессерверный выпуск вычислений примерно соответствует Databricks Runtime 16.3.

Изменения поведения

  • *Улучшенное сообщение об ошибке при kafka.sasl.client.callback.handler.class назначении недопустимого значения: В этом релизе есть изменение для возврата более описательного сообщения об ошибке при kafka.sasl.client.callback.handler.class назначении недопустимого значения.

Новые возможности

  • Поддержка чтения состояния стала общедоступной: Поддержка чтения информации о состоянии для запросов Structured Streaming теперь общедоступна на бессерверных вычислительных ресурсах. См. Сведения о состоянии структурированной потоковой передачи.

  • Понижение протокола Delta table с защитой контрольных точек стало общедоступным: DROP FEATURE общедоступен для удаления функций таблицы Delta Lake и понижения версии протокола таблицы. По умолчанию DROP FEATURE теперь создает защищенные контрольные точки для более оптимизированного и упрощенного опыта понижения, который не требует времени ожидания или обрезки истории. См. Управление функцией удаления таблицы Delta Lake и понижение протокола таблицы.

  • Пишите процедурные SQL-скрипты на основе ANSI SQL/PSM (публичный просмотр): Теперь вы можете использовать возможности скриптов на базе ANSI SQL/PSM для написания процедурной логики на SQL, включая операторы управления потоком, локальные переменные и обработку исключений. См. скриптов SQL.

  • Стандартные правила сортировки на уровне таблиц и представлений: теперь вы можете указать стандартные правила сортировки для таблиц и представлений. Это упрощает создание таблицы и представлений, где все или большинство столбцов имеют одинаковые параметры сортировки. См. параметры сортировки.

  • Новые функции H3: добавлены три новые функции H3: h3_try_coverash3, h3_try_coverash3string и h3_try_tessellateaswkb.

  • Изменение нескольких столбцов таблицы в одном ALTER TABLE операторе: теперь вы можете изменять несколько столбцов в одном ALTER TABLE операторе. Смотрите ALTER TABLE ... COLUMN пункт.

Версия 16.2

13 марта 2025 г.

Этот выпуск вычислений без серверов примерно соответствует Databricks Runtime 16.2.

Изменения поведения

  • В Delta Sharing история таблиц включена по умолчанию: Shares, созданные с помощью команды ALTER SHARE <share> ADD TABLE <table> SQL, теперь по умолчанию имеют включённую функцию совместного использования истории (WITH HISTORY). См. ALTER SHARE.

  • Операторы SQL учётных данных возвращают ошибку при несовпадении типов учетных данных: если тип учетных данных, указанный в SQL-операторе управления учетными данными, не совпадает с типом аргумента учетных данных, ошибка возвращается, и оператор не запускается.

Новые возможности

  • Используйте & в выражениях генерируемых столбцов. Теперь вы можете использовать функции timestampdiff и timestampadd в выражениях столбцов, генерируемых Delta Lake. См. созданные столбцы Delta Lake .

  • DESCRIBE TABLE теперь возвращает метаданные в виде структурированного JSON: теперь вы можете использовать команду DESCRIBE TABLE AS JSON для возврата метаданных таблицы в виде JSON-документа. Выходные данные JSON более структурированы, чем отчет, доступный для чтения по умолчанию, и можно использовать для программной интерпретации схемы таблицы. Дополнительные сведения см. в разделе DESCRIBE TABLE AS JSON.

  • Правила сортировки, нечувствительные к конечным пробелам: Serverless теперь поддерживает правила сортировки, нечувствительные к конечным пробелам. Например, эти сортировки обрабатывают 'Hello' и 'Hello ' как равные. Чтобы узнать больше, см. раздел сортировки RTRIM.

Исправленные ошибки

  • Улучшенная инкрементальная обработка клонов: в этом релизе есть исправление для крайнего случая, когда инкрементальный CLONE может повторно скопировать файлы, уже скопированные из исходной таблицы, в целевую таблицу. См. раздел Клонирование таблицы в Azure Databricks.

Высокий уровень памяти, доступный для бессерверных записных книжек (общедоступная предварительная версия)

7 февраля 2025 года

Теперь можно настроить больший объём памяти для рабочих нагрузок бессерверных вычислительных нотбуков. Этот параметр можно применить как к интерактивным, так и запланированным рабочим нагрузкам записной книжки.

Бессерверное использование с высокой памятью имеет более высокую скорость выбросов DBU, чем стандартная память.

Дополнительную информацию см. в разделе Использование высокопамятных бессерверных вычислений.

Версия 16.1

5 февраля 2025 года

Этот бессерверный релиз примерно соответствует Databricks Runtime 16.0 и Databricks Runtime 16.1.

Новые возможности

  • Поддержка рекурсивной схемы в Avro: Теперь вы можете использовать recursiveFieldMaxDepth опцию с from_avro функцией и источником avro данных. Этот параметр задает максимальную глубину рекурсии схемы в источнике данных Avro. См. статью "Чтение и запись потоковых данных Avro".
  • Расширенная поддержка Confluent Schema Registry для Avro: Serverless теперь поддерживает ссылки на схемы Avro с Confluent Schema Registry. См. Аутентификация во внешнем реестре схем Confluent.
  • Принудительное перекластерирование таблиц с жидкостной кластеризацией: Теперь можно использовать OPTIMIZE FULL синтаксис, чтобы принудительно перекластерировать все записи в таблице с включённой жидкой кластеризацией. См. статью "Принудительное перекластеривание".
  • API Delta для Python теперь поддерживают столбцы идентификаторов: теперь вы можете использовать API Delta для Python для создания таблиц со столбцами идентификаторов. См. столбцы идентификаторов.
  • Создавайте таблицы с liquid clustering во время потоковой записи: Теперь вы можете использовать clusterBy для включения liquid clustering при создании новых таблиц с помощью записей Structured Streaming. См. раздел "Включить кластеризацию жидкости".
  • Поддержка предложения OPTIMIZE FULL: Бессерверные вычисления теперь поддерживают OPTIMIZE предложение FULL. Это предложение оптимизирует все записи в таблице, использующей кластеризацию жидкости, включая данные, которые ранее были кластеризованы.
  • Поддержка спецификации опций WITH в INSERT и ссылках на таблицы: Serverless Compute теперь поддерживает спецификацию опций для ссылок на таблицы и имен таблиц в операторе INSERT, что может использоваться для управления поведением источников данных.
  • Новые функции SQL: Следующие функции SQL теперь доступны на бессерверных вычислениях:
    • try_url_decode — это ошибочно-устойчивая версия url_decode.
    • zeroifnull возвращает 0, если входное выражение для функции zeroifnull() равно NULL.
    • nullifzero возвращает NULL, если вход равен 0, или его вход, если он не 0.
    • dayname(expr) возвращает трёхбуквенную английскую аббревиатуру дня недели для указанной даты.
    • uniform(expr1, expr2 [,seed]) возвращает случайное значение в заданном диапазоне чисел; такие значения являются независимыми и одинаково распределёнными.
    • randstr(length) возвращает случайную строку буквено-цифровых length символов.
  • Включить автоматическую эволюцию схемы при объединении данных в таблицу Delta: Добавлена поддержка для withSchemaEvolution() участника DeltaMergeBuilder класса. Используйте withSchemaEvolution() для включения автоматической эволюции схемы во время операций MERGE. Например, mergeBuilder.whenMatched(...).withSchemaEvolution().execute()}}.
  • Поддержка колляций в Apache Spark находится в публичном предпросмотре: Теперь вы можете назначать языко-ориентированные, нечувствительные к регистру и нечувствительные к доступу колляции столбцам STRING и выражениям. Эти сортировки используются для сравнения строк, сортировки, операций группировки и многих строковых функций. См. параметры сортировки.
  • Поддержка колляций в Delta Lake находится в Public Preview: Теперь вы можете определять колляции для столбцов при создании или изменении таблицы Delta. См. поддержку сортировки для Delta Lake.
  • LITE режим для вакуума находится в публичном предварительном просмотре: теперь вы можете использовать VACUUM table_name LITE для выполнения более лёгкой вакуумной операции, используя метаданные из журнала транзакций Delta. См. полный режим и VACUUM.
  • Поддержка параметризации предложения USE CATALOG with IDENTIFIER: Теперь для оператора USE CATALOG поддерживается IDENTIFIER предложение. С помощью этой поддержки можно параметризовать текущий каталог на основе строковой переменной или маркера параметров.
  • COMMENT ON COLUMN Поддержка таблиц и представлений: Теперь оператор COMMENT ON поддерживает изменение комментариев для столбцов представлений и таблиц.
  • Именованный вызов параметров для большего числа функций: Следующие функции поддерживают вызов именованных параметров:
  • Параметр SYNC METADATA для команды REPAIR TABLE поддерживается для Hive metastore: теперь вы можете использовать параметр SYNC METADATA с командой REPAIR TABLE для обновления метаданных управляемой таблицы Hive metastore. См. REPAIR TABLE.
  • Улучшенная целостность данных для сжатых пакетов Apache Arrow: Для дополнительной защиты от повреждения данных каждая LZ4 сжатая партия Arrow теперь включает LZ4 контрольные суммы содержимого и блоков. См. описание формата кадров LZ4.
  • Встроенный драйвер Oracle JDBC: В бессерверных вычислениях теперь встроен драйвер Oracle JDBC. Если вы используете JAR-файл драйвера JDBC, отправленный клиентом, через DriverManager, необходимо переписать скрипты для явного использования пользовательского JAR-файла. В противном случае используется встроенный драйвер. Этот драйвер поддерживает только Федерацию Lakehouse. Для других вариантов использования необходимо указать собственный драйвер.
  • Более подробные ошибки для таблиц Delta, к которым обращаются с помощью путей: Теперь доступен новый формат сообщений об ошибках для таблиц Delta, к которым обращаются с помощью путей. Теперь все исключения перенаправляются пользователю. Исключение DELTA_MISSING_DELTA_TABLE теперь зарезервировано для случая, когда базовые файлы не могут быть прочитаны как Delta-таблица.

Изменения поведения

  • Критическое изменение: срок службы Hosted RStudio завершён: С этим релизом RStudio Server, размещённый на Databricks, прекращает срок службы и недоступен ни в одном рабочем пространстве Azure Databricks, работающем на бессерверных вычислениях. Дополнительные сведения и список альтернатив RStudio см. в статье Connect to a Databricks-hosted RStudio Server.
  • Преломное изменение: Удаление поддержки изменения byte, short, int и long типов на более широкие типы: Для обеспечения единообразного поведения между таблицами Delta и Apache Iceberg следующие изменения типов данных больше не могут применяться к таблицам с функцией расширения типов :

    • byte, short, int и long в decimal.
    • byte, short, и int по double.
  • Правильный разбор шаблонов регулярных выражений с отрицанием в вложенной группе символов: В этом выпуске включено изменение для поддержки правильного разбора шаблонов регексов с отрицанием в вложенной группировке символов. Например, [^[abc]] будет проанализирован как "любой символ, который не является одним из "abc".

    Кроме того, поведение Photon было несовместимо с Spark для вложенных классов символов. Шаблоны regex, содержащие вложенные классы символов, больше не будут использовать Photon, а вместо этого будут использовать Spark. Вложенный класс символов — это любой шаблон, содержащий квадратные скобки в квадратных скобках, например [[a-c][1-3]].

  • Улучшено обнаружение повторяющихся совпадений в Delta Lake MERGE:MERGE теперь учитываются условия, указанные в предложении WHEN MATCHED. См. объединение данных в таблице Delta Lake с использованием операции upsert.

  • Функциональность addArtifact() теперь единообразна для всех типов вычислений: Когда вы используете addArtifact(archive = True) для добавления зависимости к бессерверным вычислениям, архив автоматически распаковывается.

Исправленные ошибки

  • Смещения часовых поясов теперь включают секунды при сериализации в CSV, JSON и XML: Временные метки с смещением часового пояса, включающие секунды (что часто встречается с временными метками до 1900 года), при сериализации в CSV, JSON и XML опускали эти секунды. Форматирование метки времени по умолчанию было исправлено, и теперь возвращает правильные значения смещения для этих меток времени.

Другие изменения

  • Переименованные коды ошибок для источника cloudFiles Structured Streaming: Следующие коды ошибок были переименованы:
    • _LEGACY_ERROR_TEMP_DBR_0143 переименован в CF_INCORRECT_STREAM_USAGE.
    • _LEGACY_ERROR_TEMP_DBR_0260 переименован в CF_INCORRECT_BATCH_USAGE .

Версия 15.4

28 октября 2024 года

Этот бессерверный выпуск вычислений примерно соответствует Databricks Runtime 15.4

Новые возможности

  • Функции валидации UTF-8: В этом выпуске представлены следующие функции для проверки строк UTF-8:
    • is_valid_utf8 проверял, является ли строка действительной строкой UTF-8.
    • make_valid_utf8 преобразует потенциально недопустимую строку UTF-8 в действительную строку UTF-8 с помощью символов подстановки.
    • validate_utf8 вызывает ошибку, если вход не является действительной строкой UTF-8.
    • try_validate_utf8 возвращает NULL, если вход не является действительной строкой UTF-8.
  • Включите UniForm Iceberg с помощью ALTER TABLE: Теперь вы можете включить UniForm Iceberg для существующих таблиц без переписывания файлов данных. См. статью "В существующей таблице".
  • try_url_decode функция: В этом релизе введена функция try_url_decode , которая декодирует строку, закодированную по URL. Если строка не имеет правильного формата, функция возвращается NULL вместо того, чтобы вызывать ошибку.
  • Опционально разрешите оптимизатору полагаться на непроверяемые ограничения внешнего ключа: Для повышения производительности запроса теперь можно указывать ключевое слово RELY для ограничений FOREIGN KEY при создании или изменении таблицы.
  • Параллельные запуски заданий для выборочной перезаписи: При использовании replaceWhere теперь запускаются задания, которые параллельно удаляют данные и вставляют новые, улучшая производительность запросов и использование кластера.
  • Улучшенная производительность ленты данных изменений с выборочным перезаписыванием: Выборочные перезаписи с replaceWhere использованием таблиц с лентой данных изменений больше не записывают отдельные файлы данных изменений для вставленных данных. Эти операции используют скрытый столбец _change_type, присутствующий в основных файлах данных Parquet, для записи изменений без увеличения объема записи.
  • Снижена задержка запросов для команды COPY INTO: В этом релизе внесено изменение, которое снижает задержку запросов для команды COPY INTO. Улучшение реализовано за счет асинхронной загрузки состояния в хранилище состояний RocksDB. При этом изменении вы должны заметить улучшение времени запуска запросов с большими состояниями, такими как запросы с большим количеством уже загруженных файлов.
  • Поддержка отказа от функции таблицы проверочных ограничений: Теперь вы можете убрать функцию checkConstraints таблицы из таблицы Delta с помощью ALTER TABLE table_name DROP FEATURE checkConstraints. См. раздел "Удалить ограничения проверки".

Изменения поведения

  • Изменение привязки схемы для представлений: Когда типы данных в базовом запросе представления меняются по сравнению с теми, что использовались при создании представления, Databricks больше не выдает ошибки для ссылок на представление, если невозможна выполнить безопасный кастинг.

    Вместо этого представление компенсирует с помощью обычных правил приведения. Это изменение позволяет Databricks более легко терпеть изменения схемы таблицы.

  • Запретить допуск недокументированного синтаксиса ! для NOT вне булевой логики: Databricks больше не будет допускать использование ! в качестве синонима NOT вне булевой логики. Это изменение уменьшает путаницу, соответствует стандарту SQL и делает SQL более переносимым. Рассмотрим пример.

    CREATE ... IF ! EXISTS, IS ! NULL, ! NULL свойство столбца или поля, ! IN и ! BETWEEN должны быть заменены на:

    CREATE ... IF NOT EXISTS, IS NOT NULL, NOT IN свойство столбца или поля, и NOT BETWEENNOT NULL.

    Логический префиксный оператор (например, или !) не затрагивается этим изменением.

  • Запретить недокументированные и необрабатываемые части синтаксиса определения столбцов в представлениях: Databricks поддерживает CREATE VIEW с именованными столбцами и комментариями к столбцам.

    Спецификация типов столбцов, ограничений NOT NULL или DEFAULT была разрешена в синтаксисе без каких-либо последствий. Databricks уберет поддержку этого синтаксиса. Это снижает путаницу, соответствует стандарту SQL и обеспечивает будущие улучшения.

  • Согласованная обработка ошибок при декодировании Base64 в Spark и Photon: В этом релизе изменяется, как Photon обрабатывает ошибки декодирования Base64, чтобы соответствовать обработке этих ошибок в Spark. Перед этими изменениями путь генерации кода для Photon и Spark иногда не вызывал исключений синтаксического анализа, тогда как интерпретированная обработка в Spark правильно вызывала IllegalArgumentException, но ConversionInvalidInputError не удавалось. Это обновление гарантирует, что Photon постоянно создает те же исключения, что и Spark во время декодирования Base64, обеспечивая более прогнозируемую и надежную обработку ошибок.

  • Добавление ограничения CHECK для недопустимого имени столбца теперь возвращает класс ошибки UNRESOLVED_COLUMN.WITH_SUGGESTION: Для более информативного сообщения об ошибке в Databricks Runtime 15.3 и выше инструкция ALTER TABLE ADD CONSTRAINT, включающая ограничение CHECK, ссылающееся на недопустимое имя столбца, возвращает класс ошибки UNRESOLVED_COLUMN.WITH_SUGGESTION. Ранее возвращался объект INTERNAL_ERROR.

JDK обновляется с JDK 8 до JDK 17

15 августа 2024 года

Бессерверные вычисления для записных книжек и рабочих процессов перенесены из пакета разработки Java (JDK) 8 в JDK 17 на стороне сервера. Это обновление включает следующие изменения поведения:

  • Корректный разбор шаблонов regex с отрицательным отрицанием в вложенной группировке символов: с этим обновлением Azure Databricks теперь поддерживает правильный разбор шаблонов regex с отрицанием в вложенной группе символов. Например, [^[abc]] будет проанализирован как "любой символ, который не является одним из "abc".

    Кроме того, поведение Photon было несовместимо с Spark для вложенных классов символов. Шаблоны regex, содержащие вложенные классы символов, больше не будут использовать Photon, а вместо этого будут использовать Spark. Вложенный класс символов — это любой шаблон, содержащий квадратные скобки в квадратных скобках, например [[a-c][1-3]].

Версия 15.1

23 июля 2024 г.

Этот бессерверный выпуск вычислений примерно соответствует Databricks Runtime 15.1

Новые возможности

Поддержка синтаксиса star (*) в секции WHERE: теперь вы можете использовать синтаксис star (*) в секции WHERE, чтобы ссылаться на все столбцы из списка SELECT.

Например, SELECT * FROM VALUES(1, 2) AS T(a1, a2) WHERE 1 IN(T.*).

Changes

Улучшенное восстановление ошибок при разборе JSON: парсер JSON, используемый для from_json() выражений путей и JSON, теперь быстрее восстанавливается из искажённого синтаксиса, что приводит к меньшей потере данных.

При обнаружении неправильно сформированного синтаксиса JSON в поле структуры, значении массива, ключа карты или значения карты средство синтаксического анализа JSON теперь возвращается NULL только для непрочитаемого поля, ключа или элемента. Последующие поля, ключи или элементы будут правильно проанализированы. До этого изменения парсер JSON прекращал анализ массива, структуры или карты и возвращал NULL для оставшегося содержимого.

Версия 14.3

15 апреля 2024 года

Это исходная версия бессерверных вычислений. Эта версия примерно соответствует Databricks Runtime 14.3 с некоторыми изменениями, которые удаляют поддержку некоторых несерверных и устаревших функций.

Поддерживаемые параметры конфигурации Spark

Чтобы автоматизировать настройку Spark на бессерверных вычислениях, Azure Databricks удалила поддержку ручной настройки большинства конфигураций Spark. Чтобы просмотреть список поддерживаемых параметров конфигурации Spark, см. статью "Настройка свойств Spark для бессерверных записных книжек и заданий".

Запуск задания на бессерверной вычислительной платформе завершится неудачей, если вы установите неподдерживаемую конфигурацию Spark.

input_file функции устарели

Функции input_file_name(), input_file_block_length()и input_file_block_start() устарели. Использование этих функций очень не рекомендуется.

Вместо этого используйте столбец метаданных файла для получения сведений о метаданных файла.

Изменения поведения

Бессерверные вычислительные ресурсы версии 2024.15 включают следующие изменения поведения:

  • unhex(hexStr) — исправление ошибки: При использовании функции unhex(hexStr) hexStr всегда дополняется слева до полного байта. Ранее функция unhex проигнорировала первую половину байта. Например: unhex('ABC') теперь производит x'0ABC' вместо x'BC'.
  • Автоматически сгенерированные псевдонимы столбцов теперь стабильны: Когда результат выражения ссылается без пользовательского псевдонима, этот автоматически сгенерированный псевдоним становится стабильным. Новый алгоритм может привести к изменению ранее созданных автоматически имен, используемых в таких функциях, как материализованные представления.
  • Сканирование таблиц с полями типа CHAR теперь всегда дополняются пробелами: таблицы Delta, некоторые таблицы JDBC и внешние источники данных хранят данные CHAR без дополнения пробелами. При чтении Azure Databricks теперь будет заполнять данные пробелами до заявленной длины, чтобы обеспечить правильную семантику.
  • Касты из BIGINT/DECIMAL в TIMESTAMP создают исключение для переполненных значений: Azure Databricks позволяет кастинг из BIGINT и DECIMAL в TIMESTAMP, рассматривая значение как количество секунд из эпохи Unix. Ранее Azure Databricks возвращал переполненные значения, но теперь создает исключение в случаях переполнения. Используется try_cast для возврата NULL вместо исключения.
  • Выполнение PySpark UDF было улучшено для точного соответствия работе UDF на выделенных вычислениях: Внесены следующие изменения:
    • Определяемые пользователем функции со строковым типом возврата более не преобразовывают нестроковые значения в строки. Ранее определяемые пользователем функции с возвращаемым типом str применяли str(..) оболочку к результату независимо от реального типа данных возвращаемого значения.
    • Определяемые пользователем функции с возвращаемыми типами timestamp больше не применяют неявное преобразование часового пояса к временным меткам.