Ограничения режима доступа к вычислительным ресурсам для Unity Catalog
Databricks рекомендует использовать Catalog Unity и режим совместного доступа для большинства рабочих нагрузок. В этой статье описываются ограничения и требования для каждого режима доступа в Unity Catalog. Дополнительные сведения о режимах доступа см. в разделе "Режимы доступа".
Databricks рекомендует использовать политики вычислений для упрощения параметров конфигурации для большинства пользователей. См. статью "Создание политик вычислений и управление ими".
Примечание.
Общий доступ без изоляции и сквозная передача учетных данных являются устаревшими режимами доступа, которые не поддерживают Unity Catalog.
Внимание
Скрипты и библиотеки init поддерживают разные поддержку в режимах доступа и версиях Среды выполнения Databricks. См. Where можно ли установить скрипты инициализации? и библиотеки с областью действия кластера.
ограничения режима доступа с одним пользователем в Unity Catalog
Режим доступа одного пользователя на Unity Catalog имеет следующие ограничения. Это в дополнение к общим ограничениям для всех режимов доступа Unity Catalog. См. раздел Общие ограничения для Unity Catalog.
Подробные ограничения управления доступом для Unity Catalog в режиме доступа единого пользователя.
В Databricks Runtime 15.3 и ниже точное управление доступом для вычислений одного пользователя не поддерживается. В частности:
- Невозможно получить доступ к table, если установлен фильтр строк или маска column с.
- Вы не можете получить доступ к динамическому views.
- Для чтения из любого представления необходимо иметь
SELECT
для всех tables и views, на которые ссылается представление.
Чтобы выполнить запрос на динамические viewsи views, если у вас нет SELECT
для базовых tables и views, а также если есть tables с фильтрами строк или масками column, используйте один из следующих методов:
Хранилище SQL.
Вычисление с общим режимом доступа.
Вычисление с одним режимом доступа пользователей в Databricks Runtime 15.4 LTS или более поздней версии.
Databricks Runtime 15.4 LTS и более поздних версий поддерживают точное управление доступом для вычислений одного пользователя. Чтобы воспользоваться преимуществами фильтрации данных, предоставляемых в Databricks Runtime 15.4 LTS и более поздних версиях, убедитесь, что рабочая область включена для бессерверных вычислений.
Бессерверные вычисления обрабатывают фильтрацию данных, что позволяет получить доступ к представлениям, не требуя разрешений на базовые tables и views. Так как бессерверные вычислительные ресурсы обрабатывают фильтрацию данных, при использовании однопользовательских вычислительных ресурсов для запроса viewsмогут взиматься затраты на бессерверные вычисления. Дополнительные сведения см. в разделе "Точное управление доступом" для вычислений одного пользователя.
Ограничения потокового table и материализованного представления для режима доступа к Unity Catalog однопользовательскому режиму
В Databricks Runtime 15.3 и ниже нельзя использовать однопользовательские вычисления для запроса tables, созданных с помощью конвейера Delta Live Tables, включая потоковой передачи tables и материализованные views, если эти tablesпринадлежат другим пользователям. Пользователь, создающий table, является владельцем.
Для запроса потоковой передачи tables и материализованных views, созданных Delta Live Tables и принадлежащих другим пользователям, используйте одно из следующих действий:
Хранилище SQL.
Вычисление с общим режимом доступа в Databricks Runtime 13.3 LTS или более поздней версии.
Вычисление с одним режимом доступа пользователей в Databricks Runtime 15.4 LTS или более поздней версии.
Рабочая область также должна быть включена для бессерверных вычислений. Дополнительные сведения см. в разделе "Точное управление доступом" для вычислений одного пользователя.
ограничения потоковой передачи для режима доступа к Unity Catalog одним пользователем
- Асинхронная контрольная точка не поддерживается в Databricks Runtime 11.3 LTS и ниже.
-
StreamingQueryListener
требуется Databricks Runtime версии 15.1 или выше, чтобы использовать credentials или взаимодействовать с объектами, управляемыми Unity Catalog, на вычислительных ресурсах для одного пользователя.
ограничения режима общего доступа в Unity Catalog
Режим общего доступа в Catalog Unity имеет следующие ограничения. Эти ограничения дополняют общие ограничения для всех режимов доступа Unity Catalog. Смотрите раздел "Общие ограничения" для Unity Catalog.
Databricks Runtime ML и библиотека Машинное обучение Spark (MLlib) не поддерживаются.
Операции с использованием spark-submit не поддерживаются. Вместо этого используйте задачу JAR .
В Databricks Runtime 13.3 и более поздних версиях отдельные строки не должны превышать 128 МБ.
Пользовательские функции PySpark не могут получить доступ к папкам Git, файлам рабочей области или volumes для импорта модулей в Databricks Runtime 14.2 и ниже.
Корневой каталог и подключения DBFS не поддерживают FUSE.
Пользовательские контейнеры не поддерживаются.
Поддержка языка для Unity Catalog режим общего доступа
- R не поддерживается.
- Scala поддерживается в Databricks Runtime 13.3 и выше.
- В Databricks Runtime 15.4 LTS и более поздних версиях все библиотеки Java или Scala (JAR-файлы), упакованные с Databricks Runtime, доступны на вычислительных ресурсах в режимах доступа Unity Catalog.
- Для Databricks Runtime 15.3 или ниже для вычислений, использующих режим общего доступа, set конфигурации Spark
spark.databricks.scala.kernel.fullClasspath.enabled
дляtrue
.
ограничения и требования API Spark для режима общего доступа Unity Catalog
- API RDD не поддерживаются.
- DBUtils и другие клиенты, которые непосредственно считывают данные из облачного хранилища, поддерживаются только при использовании внешнего расположения для доступа к расположению хранилища. См. статью "Создание внешнего расположения для подключения облачного хранилища к Azure Databricks".
- Контекст Spark (
sc
),spark.sparkContext
иsqlContext
не поддерживается для Scala в любой среде выполнения Databricks и не поддерживается для Python в Databricks Runtime 14.0 и более поздних версий.- Databricks рекомендует использовать
spark
переменную для взаимодействия с экземпляромSparkSession
. - Следующие
sc
функции также не поддерживаются:emptyRDD
, .range
init_batched_serializer
parallelize
pickleFile
textFile
wholeTextFiles
binaryFiles
binaryRecords
sequenceFile
newAPIHadoopFile
newAPIHadoopRDD
hadoopFile
hadoopRDD
union
runJob
setSystemProperty
uiWebUrl
stop
setJobGroup
setLocalProperty
getConf
- Databricks рекомендует использовать
- Для следующих операций API набора данных Scala требуется Среда выполнения Databricks 15.4 LTS или более поздней версии:
map
, ,mapPartitions
,foreachPartition
flatMap
reduce
и .filter
ограничения и требования UDF для режима общего доступа в Unity Catalog
Определяемые пользователем функции (ОПРЕДЕЛЯЕМЫЕ пользователем функции) имеют следующие ограничения в режиме общего доступа:
Определяемые пользователем функции 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 или более поздней версии.
См. определяемые пользователем функции (UDF) в Unity Catalog.
ограничения потоковой передачи и требования к режиму общего доступа в Unity Catalog
Примечание.
Некоторые из перечисленных вариантов Kafka имеют ограниченную поддержку при использовании для поддерживаемых конфигураций в Azure Databricks. Все перечисленные ограничения Kafka допустимы как для пакетной обработки, так и для потоковой обработки. См. сведения о потоковой обработке с помощью Apache Kafka и Azure Databricks.
- Для Scala
foreach
требуется Databricks Runtime 16.1 или более поздней версии.foreachBatch
и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 Catalog. - Для источников и приемников 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 Catalog.
kafka.ssl.truststore.location
kafka.ssl.keystore.location
- Для Scala
StreamingQueryListener
требуется Databricks Runtime 16.1 или более поздняя версия. - Для Python
StreamingQueryListener
требуется Databricks Runtime 14.3 LTS или более поздней версии, чтобы использовать credentials или взаимодействовать с объектами, управляемыми Unity Catalog на общих вычислительных ресурсах.
Ограничения доступа к сети и файловой системе для режима общего доступа в Unity Catalog
Необходимо выполнить команды на вычислительных узлах в качестве пользователя с низким уровнем привилегий, запрещенного для доступа к конфиденциальным частям файловой системы.
В Databricks Runtime 11.3 LTS и ниже можно создать только сетевые connections для портов 80 и 443.
Невозможно подключиться к службе метаданных экземпляра или Azure WireServer.
Общие ограничения для Unity Catalog
Следующие ограничения применяются ко всем режимам доступа с поддержкой Unity Catalog.
ограничения потоковой передачи для Unity Catalog
- Режим непрерывной обработки Apache Spark не поддерживается. См . инструкцию по непрерывной обработке в руководстве по программированию структурированной потоковой передачи Spark.
См. также ограничения потоковой передачи для Unity в режиме доступа с одним пользователем Catalog и ограничения и требования потоковой передачи для Unity в режиме общего доступа Catalog.
Дополнительные сведения о потоковой передаче с помощью Unity Catalogсм. в разделе Использование Unity Catalog с использованием структурированной потоковой передачи.