Ограничения бессерверных вычислений
В этой статье описываются текущие ограничения бессерверных вычислений для записных книжек и заданий. Он начинается с обзора наиболее важных аспектов, а затем предоставляет полный список ссылок ограничений.
Общие сведения об ограничениях
Прежде чем создавать новые рабочие нагрузки или переносить рабочие нагрузки на бессерверные вычислительные ресурсы, сначала рассмотрите следующие ограничения:
- Python и SQL являются единственными поддерживаемыми языками.
- Поддерживаются только API-интерфейсы подключения Spark. API-интерфейсы Spark RDD не поддерживаются.
- Библиотеки JAR не поддерживаются. Сведения об обходных решениях см. в рекомендациях по бессерверным вычислениям.
- Бессерверные вычисления имеют неограниченный доступ для всех пользователей рабочей области.
- Теги записной книжки не поддерживаются.
- Для потоковой передачи можно использовать только добавочную логику пакетной службы. По умолчанию или интервалы триггеров на основе времени не поддерживаются. См . ограничения потоковой передачи.
Список ссылок на ограничения
В следующих разделах перечислены текущие ограничения бессерверных вычислений.
Бессерверные вычисления основаны на общей архитектуре вычислений. Ниже перечислены наиболее важные ограничения, унаследованные от общих вычислений, а также дополнительные ограничения без сервера. Полный список ограничений общих вычислений см. в разделе Об ограничениях режима доступа к вычислительным ресурсам каталога Unity.
Общие ограничения
Scala и R не поддерживаются.
ANSI SQL — это значение по умолчанию при написании SQL. Чтобы отключить режим ANSI, задав для этого
spark.sql.ansi.enabled
значениеfalse
.API-интерфейсы Spark RDD не поддерживаются.
Контекст Spark (sc)
spark.sparkContext
иsqlContext
не поддерживается.Службы контейнеров Databricks не поддерживаются.
Веб-терминал не поддерживается.
Запрос не может выполняться дольше 48 часов.
Для подключения к внешним источникам данных необходимо использовать каталог Unity. Используйте внешние расположения для доступа к облачному хранилищу.
Поддержка источников данных ограничена AVRO, BINARYFILE, CSV, DELTA, JSON, KAFKA, ORC, PARQUET, ORC, TEXT и XML.
Определяемые пользователем функции (UDFS) не могут получить доступ к Интернету. Из-за этого команда CREATE FUNCTION (External) не поддерживается. Databricks рекомендует использовать CREATE FUNCTION (SQL и Python) для создания определяемых пользователем пользователей.
Отдельные строки не должны превышать максимальный размер 128 МБ.
Пользовательский интерфейс Spark недоступен. Вместо этого используйте профиль запроса для просмотра сведений о запросах Spark. См. раздел Профиль запроса.
Журналы Spark недоступны при использовании бессерверных записных книжек и заданий. Пользователи имеют доступ только к журналам приложений на стороне клиента.
Доступ между рабочими областями разрешен только в том случае, если рабочие области находятся в одном регионе, а целевая рабочая область не настроена IP-адрес ACL или интерфейсная частная связь.
Глобальные временные представления не поддерживаются. Databricks рекомендует использовать временные представления сеанса или создавать таблицы, в которых требуется передача данных между сеансами.
Ограничения потоковой передачи
- По умолчанию или интервалы триггеров на основе времени не поддерживаются. Поддерживается только
Trigger.AvailableNow
. См. раздел "Настройка интервалов триггера структурированной потоковой передачи". - Все ограничения потоковой передачи в режиме общего доступа также применяются. См . ограничения потоковой передачи и требования к режиму общего доступа каталога Unity.
Ограничения машинного обучения
- Среда выполнения Databricks для Машинное обучение и Apache Spark MLlib не поддерживаются.
- Графические процессоры не поддерживаются.
Ограничения записных книжек
- Записные книжки имеют доступ к 8 ГБ памяти, которая не может быть настроена.
- Библиотеки с областью действия записной книжки не кэшируются в сеансах разработки.
- Общий доступ к таблицам и представлениям TEMP при совместном использовании записной книжки среди пользователей не поддерживается.
- Автозавершение и обозреватель переменных для кадров данных в записных книжках не поддерживаются.
Ограничения рабочих процессов
- Размер драйвера для бессерверных вычислений для заданий в настоящее время исправлен и не может быть изменен.
- Журналы задач не изолированы для каждого запуска задачи. Журналы будут содержать выходные данные из нескольких задач.
- Библиотеки задач не поддерживаются для задач записной книжки. Вместо этого используйте библиотеки с областью действия записной книжки. См. статью Библиотеки Python с областью действия записной книжки.
Ограничения для конкретных вычислений
Следующие функции для вычислений не поддерживаются.
- Политики вычислений
- Скрипты инициализации в области вычислений
- Библиотеки с областью вычислений, включая пользовательские источники данных и расширения Spark. Вместо этого используйте библиотеки с областью действия записной книжки .
- Конфигурации доступа к данным на уровне вычислений, включая профили экземпляров. В результате доступ к таблицам и файлам с помощью HMS в облачных путях или при подключении DBFS без внедренных учетных данных не будет работать.
- Пулы экземпляров
- Журналы событий вычислений
- Большинство конфигураций вычислений Apache Spark. Список поддерживаемых конфигураций см. в разделе "Поддерживаемые параметры конфигурации Spark".
- среды. Вместо этого Databricks рекомендует использовать мини-приложения для создания параметров задания и задачи.
Ограничения кэширования
API кэша данных и кэша SQL не поддерживаются в бессерверных вычислениях. Использование любого из этих API или команд SQL приведет к исключению.
- df.cache(), df.persist()
- df.unpersist()
- spark.catalog.cacheTable()
- spark.catalog.uncacheTable()
- spark.catalog.clearCache()
- CACHE TABLE
- UNCACHE TABLE
- REFRESH TABLE
- CLEAR CACHE
Ограничения Hive
Таблицы Hive SerDe не поддерживаются. Кроме того, соответствующая команда LOAD DATA , которая загружает данные в таблицу Hive SerDe, не поддерживается. Использование команды приведет к исключению.
Поддержка источников данных ограничена AVRO, BINARYFILE, CSV, DELTA, JSON, KAFKA, ORC, PARQUET, ORC, TEXT и XML.
Переменные Hive (например
${env:var}
, ,${system:var}
${configName}
и ) илиspark.sql.variable
ссылки на переменные конфигурации, использующие синтаксис,${var}
не поддерживаются. Использование переменных Hive приведет к исключению.Вместо этого используйте параметр DECLARE VARIABLE, SET VARIABLE и переменные сеанса SQL ("?" или ":var") для объявления, изменения и ссылочного состояния сеанса. Предложение IDENTIFIER также можно использовать для параметризации имен объектов во многих случаях.