Заметки о выпуске Databricks SQL 2026

В 2026 году были выпущены следующие функции и улучшения Databricks SQL.

Май 2026 г.

Теперь доступна предварительная версия Databricks SQL 2026.15

26 мая 2026 г.

Версия 2026.15 Databricks SQL теперь доступна в канале Preview. Ознакомьтесь со следующим разделом, чтобы узнать о новых функциях, изменениях поведения и исправлениях ошибок.

XPath больше не извлекает внешние DTD

При вычислении xpath по XML Azure Databricks больше не загружает определения внешних типов документов (DTD), объявленные в документе. Ранее XPath могла завершиться ошибкой, если XML-файл содержал внешнюю ссылку DTD, указывающую на неправильный URL-адрес или недоступную конечную точку. Так как проверка DTD отличается от оценки XPath, запросы, которые уже успешно возвращают те же результаты, что и раньше. Запросы, которые ранее не удавалось выполнить лишь при извлечении внешнего DTD, теперь могут завершиться успешно.

Сохранение структуры NULL в INSERT, MERGE и потоковой записи при изменении схемы

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

Поддержка NullType (VOID) в таблицах Delta

Теперь таблицы Delta Lake поддерживают VOID столбцы. Ранее VOID столбцы пропускались без уведомления при чтении DataFrame по пути и в запросах time travel. Теперь в выходные данные эти запросы включают столбцы VOID. На записи это не влияет. См. VOID тип для ограничений на размещение VOID столбцов в схеме.

Просмотрите все запросы, которые считываются из таблиц Delta Lake с VOID столбцами, чтобы убедиться, что они обрабатывают дополнительные столбцы правильно. Запросы, зависящие от количества столбцов или позиции, например INSERT INTO ... SELECT *, могут начаться сбоем после обновления. В частности, некоторые INSERT запросы с включенной эволюцией схемы могут автоматически перемещать данные в неправильные столбцы.

SHOW CREATE TABLE поддерживает представления метрик

SHOW CREATE TABLE теперь поддерживает представления метрик. Ранее выполнение этой команды в представлении метрик вызвало ошибку. Выходные данные для представлений метрик включают полное трехкомпонентное имя с указанием каталога (например, CREATE VIEW catalog.db.my_metric_view ...), что упрощает повторное создание представления метрик в правильном месте.

Исправление для ЛЕВОГО ВНЕШНЕГО JOIN ЛАТЕРАЛЬНОГО, устраняющее проблему с удалением строк

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

NATURAL JOIN учитывает сопоставление столбцов без учета регистра

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

Проверка зависимостей UDF SQL в каталоге Unity

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

Оптимизированные записи для секционированных таблиц каталога Unity, созданных с помощью CRTAS

Оптимизированная запись теперь правильно применяется к секционированных таблицам каталога Unity, созданным с помощью CREATE OR REPLACE TABLE ... AS SELECT CRTAS. Ранее CRTAS в новых секционированных таблицах каталога Unity не применял оптимизированные записи, что привело к более высокому количеству небольших файлов на секцию. Это исправление может увеличить задержку записи. Чтобы вернуться к предыдущему поведению, установите значение spark.databricks.delta.optimizeWrite.UCTableCRTAS.enabledfalse.

Исправлен неправильный код органа EPSG для установленного ESRI SRID 102100.

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

Поддержка CREATE OR REPLACE для временных таблиц

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

Журнал таблиц Delta включает флаги параметров записи

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

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

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

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

  • predicate: присутствует при replaceWhere использовании
  • isV1WriterSaveAsTableOverwrite: присутствует, когда замена .saveAsTable активируется перезаписью

Новые геопространственные функции

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

  • st_makepoint функция: возвращает точку GEOMETRY с заданными координатами.
  • st_makeenvelope функция: возвращает GEOMETRY значение, представляющее выровненный по оси конверт (ограничивающий прямоугольник), определенный заданными координатами угла.

Улучшенная поддержка пространственных соединений

Предикат ST_DWithin (расстояние в пределах) теперь поддерживается как условие соединения для пространственных соединений. Сочетания предикатов теперь доступны для пространственных соединений, например condition AND st_predicate.

Профилирование собственных данных для таблиц результатов в редакторе SQL

1 мая 2026 г.

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

Апрель 2026 г.

agg Функция SQL в качестве синонима measure

30 апреля 2026 г.

Новая агрегатная функция agg является синонимом measure. Используйте agg(measure_column) в качестве более короткой альтернативы при запросе мер в представлении метрик.

Версия Databricks SQL 2026.10 становится доступной в канале Current.

23 апреля 2026 г.

Версия Databricks SQL 2026.10 выпускается в канале Current. См. функции в версии 2026.10.

Март 2026 г.

Databricks SQL версия 2026.10 теперь доступна в предварительном просмотре.

26 марта 2026 г.

Databricks SQL версия 2026.10 теперь доступна в канале предварительного просмотра. Ознакомьтесь со следующим разделом, чтобы узнать о новых функциях, изменениях поведения и исправлениях ошибок.

Ошибки метрик наблюдения больше не приводят к сбою запросов

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

Оптимизированные операции записи для операций CRTAS каталога Unity

СОЗДАНИЕ ИЛИ ЗАМЕНА TABLE Операции AS SELECT (CRTAS) на секционированных таблицах каталога Unity теперь по умолчанию применяют оптимизацию записей, создавая меньше, но большие файлы. Чтобы отключить, установите значение spark.databricks.delta.optimizeWrite.UCTableCRTAS.enabledfalse.

Значения секций метки времени используют часовой пояс сеанса

Значения секций метки времени теперь используют часовой пояс сеанса хранилища SQL. Если у вас есть разделы временных меток, созданные до версии 2025.40 Databricks SQL, выполните SHOW PARTITIONS для проверки метаданных разделов перед записью новых данных.

Зарезервированное ключевое слово DESCRIBE FLOW

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

Пространственные SQL операции логического типа

ST_Difference, ST_Intersectionи ST_Union используйте новую реализацию со следующими улучшениями:

  • Допустимые входные геометрии всегда создают результат и больше не вызывают ошибок. Недопустимые входные данные не вызывают ошибок, но могут не создавать допустимые результаты.
  • Производительность приблизительно в 2 раза быстрее.
  • Результаты могут отличаться после 15-го десятичного разряда для пересечений сегментов линии из-за различных формул и порядка операций.
  • Результаты нормализуются для согласованных, сопоставимых выходных данных:
    • Точки сортируются по значениям координат.
    • Линии создаются из самых длинных возможных путей.
    • Круги многоугольников поворачиваются, поэтому первая точка имеет наименьшие значения координат.
  • Эта нормализация применяется во всех случаях, за исключением вызовов ST_Difference с двумя неперекрывающимися геометриями, где первая геометрия возвращается неизмененную.

Типы исключений для SQLSTATE

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

Поддержка типа данных DATETIMEOFFSET для Microsoft Azure Synapse

Теперь тип DATETIMEOFFSET данных доступен для подключений Microsoft Azure Synapse.

Комментарии к таблицам Google BigQuery

Описания таблиц Google BigQuery интерпретируются и выводятся как комментарии к таблице.

Эволюция схемы с INSERT инструкциями

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

INSERT WITH SCHEMA EVOLUTION INTO students TABLE visiting_students_with_additional_id;

Схема целевой таблицы Delta Lake обновляется, чтобы учесть дополнительные столбцы или расширенные типы из источника. Дополнительные сведения см. в эволюции схемы и синтаксисе INSERT инструкций.

Сохранённые значения структуры NULL в операциях INSERT

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

функция parse_timestamp SQL

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

max_by и min_by с необязательным лимитом

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

Оконные меры «период к периоду» с offset

Оконные меры в представлениях с метриками поддерживают поле offset, которое сдвигает границы окна назад или вперёд вдоль измерения order на фиксированный интервал. Используйте offset для определения показателей за период к периоду, таких как «год к году» или «месяц к месяцу». См. Как offset сдвигает рамку окна.

Включить или исключить якорную строку в оконных показателях trailing и leading

Значения диапазона trailing и leading для оконных функций допускают необязательный модификатор inclusive или exclusive, который определяет, входит ли строка привязки в скользящее окно. По умолчанию используется exclusive, что соответствует предыдущему поведению. См. раздел "Включить или исключить строку привязки".

Векторные агрегатные и скалярные функции

Новые функции SQL работают с ARRAY<FLOAT> векторами для операций по встраиванию и вычислению схожести:

Агрегатные функции:

  • vector_avg. Возвращает среднее значение векторов элемента в группе.
  • vector_sum: возвращает элементную сумму векторов в группе.

Скалярные функции:

  • vector_cosine_similarity. Возвращает сходство косинуса двух векторов.
  • vector_inner_product: возвращает внутренний (точка) продукт двух векторов.
  • vector_l2_distance. Возвращает расстояние Евклиида (L2) между двумя векторами.
  • vector_norm: возвращает норму Lp вектора (1, 2 или бесконечность).
  • vector_normalize. Возвращает вектор, нормализованный в единицу длины.

См. встроенные функции.

Поддержка курсора SQL в составных инструкциях

Составные операторы сценариев SQL теперь поддерживают обработку курсоров. Используйте DECLARE CURSOR для определения курсора, затем OPEN, FETCH и CLOSE для выполнения запроса и обработки строк по одной. Курсоры могут использовать маркеры параметров и обработчики условий, например NOT FOUND для обработки строк по строкам.

Приблизительные функции эскиза top-k

Новые функции позволяют создавать и объединять приблизительные эскизы top-K для распределенной агрегации top-K:

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

Функции наброска кортежей

Новые статистические и скалярные функции для эскизов кортежей поддерживают различные подсчет и агрегирование по парам сводки ключей.

Агрегатные функции:

Скалярные функции:

См. встроенные функции.

Пользовательские зависимости для определяемых пользователем табличных функций Python в каталоге Unity

Определяемые пользователем функции таблиц (UDTFs) каталога Unity теперь могут использовать пользовательские зависимости для внешних библиотек, чтобы использовать пакеты за пределами доступных в среде хранилища SQL по умолчанию. См. Расширение UDF с использованием настраиваемых зависимостей.

Новые геопространственные функции

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

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

Поддержка фотона для геопространственных функций

Следующие геопространственные функции теперь выполняются в подсистеме Фотона для повышения производительности:

Февраль 2026 г.

Databricks SQL версии 2025.40 развертывается в текущей версии.

23 февраля 2026 г.

Databricks SQL версии 2025.40 выпускается в канал Current. См. функции в 2025.40.

Databricks SQL версии 2025.40 теперь доступна в режиме предварительного просмотра

11 февраля 2026 г.

Databricks SQL версии 2025.40 теперь доступна в канале предварительного просмотра. Ознакомьтесь со следующим разделом, чтобы узнать о новых функциях, изменениях поведения и исправлениях ошибок.

SQL сценарии доступны для общего пользования

Скрипты SQL теперь общедоступны. Написание процедурной логики с помощью SQL, включая условные операторы, циклы, локальные переменные и обработку исключений.

Маркеры параметров теперь поддерживаются в дополнительных контекстах SQL

Теперь маркеры параметров с именем () и без имени (:param?) можно использовать в любом месте, где разрешено литеральное значение соответствующего типа. К ним относятся инструкции DDL, такие как CREATE VIEW v AS SELECT ? AS c1, типы столбцов, такие как DECIMAL(:p, :s), и комментарии, такие как COMMENT ON t IS :comment. Это позволяет параметризировать большое количество инструкций SQL, не открывая код атакам внедрения SQL. См. метки параметров.

IDENTIFIER предложение, развернутое до дополнительных контекстов SQL

Предложение IDENTIFIER, которое преобразует строки в имена объектов SQL, теперь поддерживается практически в любом контексте, где допустим идентификатор. В сочетании с расширенной поддержкой маркеров параметров и коалесценции литеральных строк, можно параметризировать всё: от псевдонимов столбцов (AS IDENTIFIER(:name)) до определений столбцов (IDENTIFIER(:pk) BIGINT NOT NULL). См. IDENTIFIER пункт.

Объединение литеральных строк поддерживается везде

Последовательные строковые литералы, такие как 'Hello' ' World', теперь объединяются в любом контексте, где разрешены строковые литералы, включая 'Hello World'. См. тип STRING.

Новая функция BITMAP_AND_AGG

Новая функция BITMAP_AND_AGG теперь доступна для дополнения существующей библиотеки BITMAP функций.

Новые функции Theta Sketch для приблизительных подсчетов уникальных значений

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

Новые функции эскиза KLL для приблизительных квантилей

Теперь доступна новая библиотека функций для создания KLL скетчей для приблизительного вычисления квантилей:

Можно объединить несколько эскизов KLL в контексте агрегирования с помощью kll_merge_agg_bigint, kll_merge_agg_double и kll_merge_agg_float.

Функции окна SQL в представлениях метрик

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

Новые геопространственные функции

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

  • st_azimuth функция: возвращает азимут на севере от первой точки к второй в радианах [0, 2π).
  • st_boundary функция: возвращает границу входной геометрии.
  • st_closestpoint функция: возвращает 2D-проекцию точки на первой геометрии, ближайшей к второй геометрии.
  • st_geogfromewkt функция: анализирует описание расширенного текста Well-Known (EWKT) для географии.
  • st_geomfromewkt функция: анализирует описание расширенного Well-Known текста (EWKT) геометрии.

Поддержка входных данных EWKT для существующих функций геометрии и географии

Следующие функции теперь принимают Extended Well-Known Text (EWKT) в качестве входных данных:

Улучшенная производительность повторяющихся запросов по таблицам с фильтрами строк и масками столбцов

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

Улучшенная производительность геопространственной функции

Производительность пространственного соединения улучшается с помощью поддержки смешанного пространственного соединения. В следующих функциях ST теперь реализованы реализации Photon:

FSCK REPAIR TABLE включает восстановление метаданных по умолчанию

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

DESCRIBE TABLE Выходные данные включают столбец метаданных

Результаты DESCRIBE TABLE [EXTENDED] теперь включают в себя столбец metadata для всех типов таблиц. Этот столбец содержит семантические метаданные (отображаемое имя, формат и синонимы), определенные в таблице в виде строки JSON.

Структуры NULL, сохраненные в операциях слияния, UPDATE, и потоковой записи

Теперь структуры NULL сохраняются как NULL в Delta Lake, а также в операциях потоковой записи, которые включают приведение типов структур. Ранее структуры NULL развертывались в структуры, в которых все поля были установлены в NULL.

Столбцы секционирования, материализованные в файлах Parquet

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

Значения разделов метки времени учитывают часовой пояс сеанса

Теперь значения секции метки времени правильно корректируются с помощью spark.sql.session.timeZone конфигурации. Ранее они были неправильно преобразованы в UTC с помощью часового пояса JVM.

Обновленные ограничения на поездки во времени

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

SHOW TABLES DROPPED уважает положение LIMIT

SHOW TABLES DROPPED теперь правильно учитывает LIMIT условие.

Январь 2026 г.