Примечание
Для доступа к этой странице требуется авторизация. Вы можете попробовать войти или изменить каталоги.
Для доступа к этой странице требуется авторизация. Вы можете попробовать изменить каталоги.
В этой статье описываются доступные и будущие возможности и функциональность бессерверных вычислительных ресурсов для блокнотов и заданий.
Дополнительные сведения о бессерверных вычислениях см. в разделе "Подключение к бессерверным вычислениям".
Azure Databricks периодически выпускает обновления бессерверных вычислений, автоматически обновляя бессерверную среду выполнения вычислений для поддержки улучшений и обновлений платформы. Все пользователи получают одинаковые обновления, которые развертываются в течение короткого периода времени.
версии бессерверной среды
Бессерверные вычисления для записных книжек и заданий используют версии среды, предоставляющие стабильный клиентский API на основе Spark Connect, чтобы обеспечить совместимость приложений. Это позволяет Databricks независимо обновлять сервер, обеспечивая улучшения производительности, улучшения безопасности и исправления ошибок без каких-либо изменений кода в рабочих нагрузках.
Каждая версия среды включает определенную версию Python и набор пакетов Python с определенными версиями. Databricks представляет новые функции и исправления в последней версии среды при применении обновлений системы безопасности ко всем поддерживаемым версиям среды.
Для заметок о версиях бессерверной среды см. раздел "Бессерверные версии среды".
Заметки о выпуске
В этом разделе содержатся примечания к выпуску вычислений без сервера. Заметки о выпуске систематизированы по годам и неделям в каждом году. Бессерверные вычисления всегда выполняются с помощью последней выпущенной версии, указанной здесь.
- Целевые показатели производительности для serverless-архитектуры стали общедоступными
- Версия 16.4
- Теперь режим производительности настраивается для бессерверных заданий
- Версия 16.3
- версия 16.2
- параметр высокой памяти, доступный для бессерверных записных книжек (общедоступная предварительная версия)
- версия 16.1
- Версия 15.4
- JDK обновляется с JDK 8 до JDK 17
- Версия 15.1
- Версия 14.3
Целевые показатели производительности без сервера — общедоступная версия
10 июня 2025 г.
Выбор бессерверного параметра производительности для заданий и конвейеров теперь общедоступен.
Если включен параметр оптимизации производительности , рабочая нагрузка оптимизирована для ускорения запуска и выполнения. При отключении бессерверная рабочая нагрузка выполняется в стандартном режиме производительности, оптимизированном для затрат и имеет немного более высокую задержку запуска.
Дополнительные сведения см. в разделе "Выбор режима производительности " и "Выбор режима производительности".
Версия 16.4
28 мая 2025 г.
Этот бессерверный выпуск вычислений примерно соответствует Databricks Runtime 16.4 LTS.
Изменения в поведении
Исправление для соблюдения параметров кэшированных планов источника данных. Это обновление гарантирует, что чтение таблицы будет уважать параметры, установленные для всех планов источников данных при кэшировании, а не только для первого кэшированного чтения таблицы. Ранее таблица источника данных считывает кэшированный первый план, но не удалось учесть различные параметры в последующих запросах.
Включить флаг, чтобы требовать материализацию источника для операций MERGE: Ранее пользователи могли отключить материализацию источника в MERGE, установив
merge.materializeSource
вnone
. При включении нового флага всегда требуется материализация источника и попытки отключить его приведет к ошибке. Databricks планирует включить этот флаг только для клиентов, которые ранее не изменили эту конфигурацию, поэтому большинство пользователей не должны испытывать никаких изменений в поведении.
Новые возможности
Автозагрузчик теперь может очистить обработанные файлы в исходном каталоге: теперь можно указать автозагрузчику автоматически перемещать или удалять файлы, которые были обработаны. Подключите эту функцию с помощью параметра
cloudFiles.cleanSource
автозагрузчика. См. раздел "Параметры автозагрузчика" в разделеcloudFiles.cleanSource
.Поддержка расширения типов, добавленная для потоковой передачи из таблиц Delta: этот выпуск добавляет поддержку потоковой передачи из таблицы Delta, которая содержит расширенные типы данных в столбцах, а также для совместного использования таблицы Delta с включенным расширением типов с помощью Databricks-to-Databricks Delta Sharing. Функция расширения типов в настоящее время доступна в общедоступной предварительной версии. См. Расширение типов.
Поддержка IDENTIFIER теперь доступна в DBSQL для операций с каталогом: теперь вы можете использовать предложение
IDENTIFIER
при выполнении следующих операций с каталогом:CREATE CATALOG
DROP CATALOG
COMMENT ON CATALOG
ALTER CATALOG
Этот новый синтаксис позволяет динамически указывать имена каталогов с помощью параметров, определенных для этих операций, что позволяет использовать более гибкие и многократно используемые рабочие процессы SQL. В качестве примера синтаксиса рассмотрим
CREATE CATALOG IDENTIFIER(:param)
, гдеparam
указан параметр, указывающий имя каталога. См. IDENTIFIER пункт.Автоматически созданные псевдонимы являются временными (неустойчивыми) и не должны полагаться на них. Вместо этого, как рекомендуется, последовательно и явно использовать
expression AS alias
.Добавить поддержку API для фильтрации pushdown в источники данных на Python: бессерверные вычисления теперь поддерживают pushdown-фильтрацию в Python-источниках данных в виде API, аналогично интерфейсу
SupportsPushDownFilters
. См. заметки о выпуске LTS 16.4.Улучшение обратной трассировки UDF Python: функция трассировки UDF Python теперь включает кадры из драйвера и исполнителя вместе с клиентскими кадрами, что приводит к улучшению сообщений об ошибках, которые отображают больше и более важные сведения (например, содержимое строк кадров внутри UDF).
UNION/EXCEPT/INTERSECT внутри представления и EXECUTE IMMEDIATE теперь возвращают правильные результаты: запросы для временных и постоянных определений представлений с верхним уровнем
UNION
/EXCEPT
/INTERSECT
и столбцы без псевдонима ранее возвращали неверные результаты, так какUNION
/EXCEPT
/INTERSECT
ключевые слова считались псевдонимами. Теперь эти запросы будут правильно выполнять всю операцию набора.Руководство по работе с кэшированным планом источника данных и руководство по миграции: чтение из исходной таблицы файлов будет правильно учитывать параметры запроса (например, разделители). Ранее первый план запроса был кэширован, а последующие изменения параметров игнорируются. Чтобы восстановить предыдущее поведение, задайте для
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
назначении недопустимого значения.
Новые возможности
Поддержка чтения состояния теперь общедоступна: поддержка чтения состояния для запросов на структурированную потоковую обработку теперь общедоступна для бессерверных вычислений. См. Сведения о состоянии структурированной потоковой передачи.
Деградация протокола таблиц Delta — общедоступная версия с защитой контрольных точек:
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 история таблиц включена по умолчанию: Доли, созданные с помощью команды SQL
ALTER SHARE <share> ADD TABLE <table>
, теперь имеют включенную историю обмена (WITH HISTORY
) по умолчанию. См. ALTER SHARE.Инструкции CREDENTIAL SQL возвращают ошибку при несоответствии типа учетных данных. Теперь, если тип учетных данных, указанный в инструкции SQL управления учетными данными, не соответствует типу аргумента учетных данных, возвращается ошибка, и инструкция не выполняется.
Новые возможности
Использование
timestampdiff
×tampadd
в создаваемых выражениях столбцов Теперь вы можете использовать функции timestampdiff и timestampadd в выражениях столбцов Delta Lake. См. созданные столбцы Delta Lake .Обновление
DESCRIBE TABLE
возвращает метаданные как структурированный JSON: теперь можно использовать командуDESCRIBE TABLE AS JSON
для возврата метаданных таблицы в виде документа JSON. Выходные данные JSON более структурированы, чем отчет, доступный для чтения по умолчанию, и можно использовать для программной интерпретации схемы таблицы. Дополнительные сведения см. в разделе DESCRIBE TABLE AS JSON.нечувствительные к завершающим пробелам параметры сортировки: Сервисы без сервера теперь поддерживают нечувствительные к завершающим пробелам параметры сортировки. Например, эти сортировки обрабатывают
'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 для Avro: в среде Serverless теперь поддерживается ссылка на схему Avro с использованием реестра схем Confluent. См. Аутентификация во внешнем реестре схем Confluent.
-
Принудительное рекластеризация в таблицах с жидкой кластеризацией: теперь можно использовать синтаксис
OPTIMIZE FULL
для принудительной рекластеризации всех записей в таблице с включенной жидкой кластеризацией. См. раздел Принудительная перекластеризация для всех записей. - API Delta для Python теперь поддерживают столбцы удостоверений: теперь можно использовать API Delta для Python для создания таблиц с столбцами удостоверений. См. Использование идентификационных столбцов в Delta Lake.
-
Создание жидких кластеризованных таблиц при потоковой записи: теперь можно использовать
clusterBy
для включения жидкой кластеризации при создании новых таблиц с помощью структурированных потоковых записей. См. раздел "Включить кластеризацию жидкости". - Поддержка предложения OPTIMIZE FULL: бессерверные вычисления теперь поддерживают предложение OPTIMIZE FULL. Это предложение оптимизирует все записи в таблице, использующей кластеризацию жидкости, включая данные, которые ранее были кластеризованы.
-
Поддержка спецификации параметров WITH в INSERT и ссылках на таблицы: Бессерверные вычисления теперь поддерживают спецификацию параметров для ссылок на таблицы и имен таблиц в инструкции
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 доступна в общедоступной предварительной версии: теперь можно определить параметры сортировки для столбцов при создании или изменении таблицы Delta. См. поддержку сортировки для Delta Lake.
-
Режим
LITE
для вакуума доступен в общедоступной предварительной версии: теперь можно использоватьVACUUM table_name LITE
для выполнения более легковесной операции вакуума, которая использует метаданные в журнале транзакций Delta. См. полный и легкий режим и VACUUM. -
Поддержка параметризации предложения
USE CATALOG with IDENTIFIER
: предложение IDENTIFIER теперь поддерживается для инструкции USE CATALOG. С помощью этой поддержки можно параметризовать текущий каталог на основе строковой переменной или маркера параметров. - COMMENT ON COLUMN поддержка таблиц и представлений: оператор COMMENT ON теперь поддерживает изменения комментариев для столбцов в представлениях и таблицах.
- вызов именованного параметра для дополнительных функций: следующие функции поддерживают вызов именованных параметров:
-
Параметр
SYNC METADATA
команды REPAIR TABLE поддерживается в хранилище метаданных Hive: теперь можно использовать параметрSYNC METADATA
с командойREPAIR TABLE
для обновления метаданных управляемой таблицы хранилища метаданных Hive. См. REPAIR TABLE. -
Усиленная целостность данных для сжатых пакетов Apache Arrow: для дальнейшей защиты от повреждения данных
LZ4
каждый сжатый пакет Apache Arrow теперь включаетLZ4
контрольные суммы содержимого и блоков. См. описание формата кадров LZ4.
-
Встроенный драйвер Oracle JDBC: В драйвере Oracle JDBC теперь встроены функции бессерверных вычислений. Если вы используете JAR-файл драйвера JDBC, отправленный клиентом, через
DriverManager
, необходимо переписать скрипты для явного использования пользовательского JAR-файла. В противном случае используется встроенный драйвер. Этот драйвер поддерживает только Федерацию Lakehouse. Для других вариантов использования необходимо указать собственный драйвер. -
Более подробные ошибки для таблиц Delta, доступ к которым осуществляется с помощью путей: теперь доступен новый интерфейс сообщения об ошибке для таблиц Delta, доступ к которым осуществляется с помощью путей. Теперь все исключения перенаправляются пользователю. Исключение
DELTA_MISSING_DELTA_TABLE
теперь зарезервировано для случая, когда базовые файлы не могут быть прочитаны как Delta-таблица.
Изменения в поведении
Критическое изменение: размещенное RStudio достигло конца своего жизненного цикла.В этом выпуске сервер RStudio, размещенный в Databricks, достиг конца своего жизненного цикла и недоступен в любой рабочей области Azure Databricks, работающей на бессерверных вычислениях. Чтобы узнать больше и ознакомиться со списком альтернатив RStudio, перейдите в раздел о выводе из эксплуатации размещённого RStudio Server .
Критическое изменение: удаление поддержки изменения
byte
иshort
int
типов в более широкие типы: чтобы обеспечить согласованное поведение в таблицах Delta иlong
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
: были переименованы следующие коды ошибок:-
_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 в существующих таблицах без перезаписи файлов данных. См. Включение чтения Iceberg на существующей таблице.
-
функция try_url_decode: в этом выпуске представлена функция try_url_decode , которая декодирует строку, закодированную URL-адресом. Если строка не имеет правильного формата, функция возвращается
NULL
вместо того, чтобы вызывать ошибку. -
Оптимизатор может при необходимости полагаться на необеспеченные ограничения внешнего ключа: Для повышения производительности запросов теперь можно указать ключевое слово
RELY
для ограниченийFOREIGN KEY
при создании таблицы с помощью CREATE или её изменении с помощью ALTER . -
Параллельное выполнение заданий для выборочных перезаписей: Выборочные перезаписи с использованием
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
, НЕ NULL,! NULL
столбца или свойства поля,! IN
и НЕ МЕЖДУ необходимо заменить следующими значениями.CREATE ... IF NOT EXISTS
,IS NOT NULL
,NOT NULL
столбца или свойства поля,NOT IN
иNOT BETWEEN
.Логический префиксный оператор (например, или
!
) не затрагивается этим изменением.Запретить использование незадокументированных и необработанных частей синтаксиса определения столбцов в представлениях: Databricks поддерживает CREATE VIEW с именованными столбцами и комментариями к столбцам.
Спецификация типов столбцов, ограничений
NOT NULL
илиDEFAULT
была разрешена в синтаксисе без каких-либо последствий. Databricks уберет поддержку этого синтаксиса. Это снижает путаницу, соответствует стандарту SQL и обеспечивает будущие улучшения.Согласованная обработка ошибок для декодирования Base64 в Spark и 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
Новые возможности
Поддержка синтаксиса звездочки (*
) в предложении WHERE
: теперь вы можете использовать синтаксис звездочки (*
) в предложении WHERE
, чтобы ссылаться на все столбцы из списка SELECT
.
Например, SELECT * FROM VALUES(1, 2) AS T(a1, a2) WHERE 1 IN(T.*)
.
Изменения
Улучшено восстановление после ошибок при разборе JSON: 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
теперь всегда с заполнением: разностные таблицы, определенные таблицы JDBC и внешние источники данных хранят данные CHAR в незаполненной форме. При чтении Azure Databricks теперь будет заполнять данные пробелами до заявленной длины, чтобы обеспечить правильную семантику. -
Приведение из BIGINT/DECIMAL в TIMESTAMP вызывает исключение для переполненных значений: Azure Databricks позволяет приведение из BIGINT и DECIMAL в TIMESTAMP, рассматривая значение как количество секунд с начала эпохи Unix. Ранее Azure Databricks возвращал переполненные значения, но теперь создает исключение в случаях переполнения. Используется
try_cast
для возврата NULL вместо исключения. -
выполнение UDF PySpark было улучшено для соответствия точному поведению выполнения UDF на выделенных вычислительных ресурсах: были внесены следующие изменения:
- Определяемые пользователем функции со строковым типом возврата более не преобразовывают нестроковые значения в строки. Ранее определяемые пользователем функции с возвращаемым типом
str
применялиstr(..)
оболочку к результату независимо от реального типа данных возвращаемого значения. - Определяемые пользователем функции с возвращаемыми типами
timestamp
больше не применяют неявное преобразование часового пояса к временным меткам.
- Определяемые пользователем функции со строковым типом возврата более не преобразовывают нестроковые значения в строки. Ранее определяемые пользователем функции с возвращаемым типом