Ограничения режима доступа к вычислительным ресурсам для каталога Unity
Databricks рекомендует использовать каталог Unity и режим общего доступа для большинства рабочих нагрузок. В этой статье описаны ограничения и требования для каждого режима доступа с каталогом Unity. Дополнительные сведения о режимах доступа см. в разделе "Режимы доступа".
Databricks рекомендует использовать политики вычислений для упрощения параметров конфигурации для большинства пользователей. См. статью "Создание политик вычислений и управление ими".
Примечание.
Общий доступ без изоляции — это устаревший режим доступа, который не поддерживает каталог Unity.
Внимание
Скрипты и библиотеки init поддерживают разные поддержку в режимах доступа и версиях Среды выполнения Databricks. См. статью " Где можно установить скрипты инициализации" и библиотеки с областью действия кластера.
Ограничения режима доступа для одного пользователя в каталоге Unity
Режим доступа к одному пользователю в каталоге Unity имеет следующие ограничения. Помимо общих ограничений для всех режимов доступа к каталогу Unity. Общие ограничения для каталога Unity.
Подробные ограничения управления доступом для единого пользовательского режима доступа каталога Unity
В Databricks Runtime 15.3 и ниже точное управление доступом для вычислений одного пользователя не поддерживается. В частности:
- Невозможно получить доступ к таблице с фильтром строк или маской столбцов.
- Невозможно получить доступ к динамическим представлениям.
- Для чтения из любого представления необходимо иметь
SELECT
все таблицы и представления, на которые ссылается представление.
Чтобы запрашивать динамические представления, представления, в которых нет SELECT
базовых таблиц и представлений, а также таблицы с фильтрами строк или масками столбцов, используйте одно из следующих действий:
Хранилище SQL.
Вычисление с общим режимом доступа.
Вычисление с одним режимом доступа пользователей в Databricks Runtime 15.4 LTS или более поздней версии.
Databricks Runtime 15.4 LTS и более поздних версий поддерживают точное управление доступом для вычислений одного пользователя. Чтобы воспользоваться преимуществами фильтрации данных, предоставляемых в Databricks Runtime 15.4 LTS и более поздних версиях, убедитесь, что рабочая область включена для бессерверных вычислений.
Бессерверные вычислительные ресурсы обрабатывают фильтрацию данных, которая позволяет получить доступ к представлению, не требуя разрешений для базовых таблиц и представлений. Так как бессерверные вычислительные ресурсы обрабатывают фильтрацию данных, при использовании отдельных пользователей вычислений для запросов к представлениям могут взиматься бессерверные вычисления. Дополнительные сведения см. в разделе "Точное управление доступом" для вычислений одного пользователя.
Ограничения потоковой передачи таблицы и материализованного представления для режима доступа к каталогу Unity
В Databricks Runtime 15.3 и ниже нельзя использовать однопользовательские вычисления для запроса таблиц, созданных с помощью конвейера Delta Live Tables, включая потоковые таблицы и материализованные представления, если эти таблицы принадлежат другим пользователям. Пользователь, создающий таблицу, является владельцем.
Чтобы запрашивать таблицы потоковой передачи и материализованные представления, созданные разностными динамическими таблицами и принадлежащими другим пользователям, используйте одно из следующих действий:
Хранилище SQL.
Вычисление с общим режимом доступа в Databricks Runtime 13.3 LTS или более поздней версии.
Вычисление с одним режимом доступа пользователей в Databricks Runtime 15.4 LTS или более поздней версии.
Рабочая область также должна быть включена для бессерверных вычислений. Дополнительные сведения см. в разделе "Точное управление доступом" для вычислений одного пользователя.
Ограничения потоковой передачи для режима доступа к каталогу Unity с одним пользователем
- Асинхронная контрольная точка не поддерживается в Databricks Runtime 11.3 LTS и ниже.
StreamingQueryListener
Требуется, чтобы Databricks Runtime 15.1 или более поздней версии использовал учетные данные или взаимодействовал с объектами, управляемыми каталогом Unity в вычислительных ресурсах одного пользователя.
Ограничения режима общего доступа в каталоге Unity
Режим общего доступа в каталоге Unity имеет следующие ограничения. Помимо общих ограничений для всех режимов доступа к каталогу Unity. Общие ограничения для каталога Unity.
Databricks Runtime ML и библиотека Машинное обучение Spark (MLlib) не поддерживаются.
Задания spark-submit не поддерживаются.
В Databricks Runtime 13.3 и более поздних версиях отдельные строки не должны превышать 128 МБ.
Пользовательские функции PySpark не могут получить доступ к папкам Git, файлам рабочей области или томам для импорта модулей в Databricks Runtime 14.2 и ниже.
Корневой каталог и подключения DBFS не поддерживают FUSE.
При использовании режима общего доступа с сквозным руководством учетных данных функции каталога Unity отключены.
Пользовательские контейнеры не поддерживаются.
Поддержка языков для общего доступа к каталогу Unity
- R не поддерживается.
- Scala поддерживается в Databricks Runtime 13.3 и выше.
- В Databricks Runtime 15.4 LTS и более поздних версиях все библиотеки Java или Scala (JAR-файлы), упакованные с Databricks Runtime, доступны на вычислительных ресурсах в режимах доступа к каталогу Unity.
- Для Databricks Runtime 15.3 или ниже для вычислений, использующих режим общего доступа, задайте для конфигурации Spark значение
spark.databricks.scala.kernel.fullClasspath.enabled
true
.
Ограничения и требования API Spark для режима общего доступа к каталогу Unity
- API RDD не поддерживаются.
- DBUtils и другие клиенты, которые непосредственно считывают данные из облачного хранилища, поддерживаются только при использовании внешнего расположения для доступа к расположению хранилища. См. статью "Создание внешнего расположения для подключения облачного хранилища к Azure Databricks".
- Контекст Spark (
sc
),spark.sparkContext
иsqlContext
не поддерживается для Scala в любой среде выполнения Databricks и не поддерживается для Python в Databricks Runtime 14.0 и более поздних версий.- Databricks рекомендует использовать
spark
переменную для взаимодействия с экземпляромSparkSession
. - Следующие
sc
функции также не поддерживаются:emptyRDD
, .range
getConf
init_batched_serializer
parallelize
pickleFile
textFile
wholeTextFiles
binaryFiles
binaryRecords
sequenceFile
newAPIHadoopFile
newAPIHadoopRDD
hadoopFile
hadoopRDD
union
runJob
setSystemProperty
uiWebUrl
stop
setJobGroup
setLocalProperty
- Databricks рекомендует использовать
- Для следующих операций API набора данных Scala требуется Среда выполнения Databricks 15.4 LTS или более поздней версии:
map
, ,mapPartitions
,reduce
foreachPartition
flatMap
и .filter
Ограничения и требования UDF для общего доступа к каталогу Unity
Определяемые пользователем функции (ОПРЕДЕЛЯЕМЫЕ пользователем функции) имеют следующие ограничения в режиме общего доступа:
Определяемые пользователем функции Hive не поддерживаются.
applyInPandas
иmapInPandas
требуется Databricks Runtime 14.3 или более поздней версии.Скалярные определяемые пользователем функции Scala требуют Databricks Runtime 14.2 или более поздней версии. Другие определяемые пользователем функции Scala и UDAFs не поддерживаются.
В Databricks Runtime 14.2 и ниже, используя пользовательскую версию
grpc
,pyarrow
илиprotobuf
в UDF PySpark с помощью библиотек с областью действия записной книжки или кластерной области не поддерживается, так как установленная версия всегда предпочтительна. Сведения о том, как найти версию установленных библиотек, см. в разделе "Системная среда" заметок о выпуске конкретной версии Databricks Runtime.Для скалярных определяемых пользователей Python и пользовательских функций Pandas требуется Среда выполнения Databricks 13.3 LTS или более поздней версии.
Не скалярные определяемые пользователем Python и Pandas, включая UDAFs, определяемые пользователем функции UDT и Pandas в Spark, требуют databricks Runtime 14.3 LTS или более поздней версии.
См . определяемые пользователем функции в каталоге Unity.
Ограничения потоковой передачи и требования к режиму общего доступа к каталогу Unity
Примечание.
Некоторые из перечисленных вариантов Kafka имеют ограниченную поддержку при использовании для поддерживаемых конфигураций в Azure Databricks. Все перечисленные ограничения Kafka допустимы как для пакетной обработки, так и для потоковой обработки. См. сведения о потоковой обработке с помощью Apache Kafka и Azure Databricks.
- Для Scala,
foreach
,foreachBatch
иStreamingListeners
FlatMapGroupWithState
не поддерживаются. - Для Python
foreachBatch
в Databricks Runtime 14.0 и более поздних версиях изменяется следующее поведение:print()
команды записывают выходные данные в журналы драйверов.- Невозможно получить доступ к подмодулу
dbutils.widgets
внутри функции. - Все файлы, модули или объекты, на которые ссылается функция, должны быть сериализуемыми и доступными в Spark.
- Для Scala
from_avro
требуется Databricks Runtime 14.2 или более поздней версии. applyInPandasWithState
требуется Databricks Runtime 14.3 LTS или более поздней версии.- Работа с источниками сокетов не поддерживается.
- Он
sourceArchiveDir
должен находиться в том же внешнем расположении, что и источник при использованииoption("cleanSource", "archive")
с источником данных, управляемым каталогом Unity. - Для источников и приемников Kafka следующие параметры не поддерживаются.
kafka.sasl.client.callback.handler.class
kafka.sasl.login.callback.handler.class
kafka.sasl.login.class
kafka.partition.assignment.strategy
- Следующие параметры Kafka не поддерживаются в Databricks Runtime 13.3 LTS и выше, но не поддерживаются в Databricks Runtime 12.2 LTS. Для этих параметров можно указать только внешние расположения, управляемые каталогом Unity:
kafka.ssl.truststore.location
kafka.ssl.keystore.location
StreamingQueryListener
требуется, чтобы Databricks Runtime 14.3 LTS или более поздней версии использовал учетные данные или взаимодействовал с объектами, управляемыми каталогом Unity для общих вычислений.
Ограничения доступа к сетевой и файловой системе для режима общего доступа каталога Unity
Необходимо выполнить команды на вычислительных узлах в качестве пользователя с низким уровнем привилегий, запрещенного для доступа к конфиденциальным частям файловой системы.
В Databricks Runtime 11.3 LTS и ниже можно создавать сетевые подключения только к портам 80 и 443.
Невозможно подключиться к службе метаданных экземпляра или Azure WireServer.
Общие ограничения для каталога Unity
Следующие ограничения применяются ко всем режимам доступа с поддержкой каталога Unity.
Ограничения потоковой передачи для каталога Unity
- Режим непрерывной обработки Apache Spark не поддерживается. См . инструкцию по непрерывной обработке в руководстве по программированию структурированной потоковой передачи Spark.
См. также ограничения потоковой передачи для режима доступа к каталогу Unity с одним пользователем и ограничениями потоковой передачи для режима общего доступа каталога Unity.
Дополнительные сведения о потоковой передаче с помощью каталога Unity см. в разделе "Использование каталога Unity с структурированной потоковой передачей".