Поделиться через


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

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

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

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

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

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

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

Для заметок о версиях бессерверной среды см. раздел "Бессерверные версии среды".

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

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

Версия 17.3

28 октября 2025 г.

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

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

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

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

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

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

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

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

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

  • Поддержка сведений об обновлении MV/ST в ОПИСАНИИ РАСШИРЕННОГО ФОРМАТА JSON: команда DESCRIBE EXTENDED AS JSON теперь включает сведения об обновлении для материализованных представлений и потоковых таблиц, позволяя видеть последнее время обновления и его состояние.

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

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

  • Улучшенная обработка структур NULL в Parquet: в этом выпуске содержатся улучшения в том, как значения структуры NULL обрабатываются при чтении и записи в файлы 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.

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

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

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

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

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

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

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

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

Версия 17.1

19 августа 2025 г.

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

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

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

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

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

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

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

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

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

13 августа 2025 г.

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

Версия 17.0

24 июля 2025 г.

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

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

  • Поддержка процедур SQL. Теперь скрипты SQL можно инкапсулировать в процедуре, хранимой в качестве повторного ресурса в каталоге Unity. Процедуру можно создать с помощью команды CREATE PROCEDURE , а затем вызвать ее с помощью команды CALL .

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

  • Поддержка рекурсивных распространенных выражений таблиц (rCTE): Azure Databricks теперь поддерживает навигацию иерархических данных с помощью рекурсивных общих выражений таблиц (rCTEs). Используйте самоссылочный 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, указывающий каталог соответствующего пространства имен.

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

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

  • Измените API-интерфейсы Delta MERGE Python, чтобы возвращать DataFrame вместо единицы: API-интерфейсы Python MERGE (например DeltaMergeBuilder) теперь также возвращают DataFrame, аналогично API SQL, с теми же результатами.

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

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

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

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

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 TABLEALTER 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 & timestampadd в создаваемых выражениях столбцов Теперь вы можете использовать функции 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 см. в статье Connect to a Databricks-hosted RStudio Server.
  • Критическое изменение: удаление поддержки изменения byteи shortint типов в более широкие типы: чтобы обеспечить согласованное поведение в таблицах 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.*).

Changes

Улучшено восстановление после ошибок при разборе 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 больше не применяют неявное преобразование часового пояса к временным меткам.