Ограничения режима доступа к вычислительным ресурсам для каталога Unity
Примечание.
Режимы доступа переименованы. Режим общего доступа теперь стандартный. Режим доступа для одного пользователя теперь Выделенный и может быть назначен одному пользователю или группе. Доступ к группе находится в общедоступной предварительной версии.
Databricks рекомендует использовать стандартный режим доступа (ранее общий режим доступа) для большинства рабочих нагрузок. В этой статье описаны ограничения и требования для каждого режима доступа с каталогом 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 и ниже нельзя использовать вычисления для одного пользователя для запроса таблиц, созданных с помощью конвейера DLT: включая потоковые таблицы и материализованные представления , если таблицы принадлежат другим пользователям. Пользователь, создающий таблицу, является владельцем.
Для запроса таблиц потоковой передачи и материализованных представлений, созданных DLT и принадлежащих другим пользователям, используйте одно из следующих действий:
- Хранилище SQL.
- Вычисляйте в стандартном режиме доступа на Databricks Runtime версии 13.3 LTS или более поздней.
- Используйте выделенный режим доступа на Databricks Runtime 15.4 LTS или более поздней версии.
В вашей рабочей области также должны быть включены функции для бессерверных вычислений. Дополнительные сведения см. в разделе Точное управление доступом для выделенных вычислений (ранее однопользовательских вычислений).
Ограничения стриминга для выделенного режима доступа Unity Catalog
- Асинхронная контрольная точка не поддерживается в Databricks Runtime 11.3 LTS и более ранних версий.
-
StreamingQueryListener
требуется Databricks Runtime 15.1 или более поздней версии, чтобы использовать учетные данные или взаимодействовать с объектами, управляемыми Unity Catalog на вычислительных системах для одного пользователя.
Ограничения стандартного режима доступа в каталоге Unity
Стандартный режим доступа в каталоге Unity имеет следующие ограничения. В дополнение к общим ограничениям, действующим для всех режимов доступа каталога Unity. См. раздел Общие ограничения для каталога Unity.
- Databricks Runtime ML и библиотека Машинное обучение Spark (MLlib) не поддерживаются.
- Задачи, связанные с выполнением spark-submit, не поддерживаются. Вместо этого используйте задачу JAR .
- DBUtils и другие клиенты, которые непосредственно считывают данные из облачного хранилища, поддерживаются только при использовании внешнего местоположения для доступа к местоположению хранилища. См. статью "Создание внешнего расположения для подключения облачного хранилища к Azure Databricks".
- В Databricks Runtime 13.3 и более поздних версиях отдельные строки не должны превышать 128 МБ.
- Корневая директория и точки монтирования DBFS не поддерживают FUSE.
- Пользовательские контейнеры не поддерживаются.
Поддержка языка для стандартного режима доступа каталога 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 не поддерживаются.
- Контекст 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
. - Свойство конфигурации Spark
spark.executor.extraJavaOptions
не поддерживается.
ограничения и требования UDF для стандартного режима доступа каталога Unity
Определяемые пользователем функции (UDFS) имеют следующие ограничения с стандартным режимом доступа:
- Определяемые пользователем функции Hive не поддерживаются.
-
applyInPandas
иmapInPandas
требуют Databricks Runtime 14.3 или более поздней версии. - Пользовательские функции (UDF) PySpark не могут получить доступ к папкам Git, файлам рабочей области или томам для импорта модулей в Databricks Runtime версии 14.2 и более ранних.
- Скалярные UDF на Scala требуют использования Databricks Runtime версии 14.2 или более поздней. Другие определяемые пользователем функции Scala и UDAF не поддерживаются.
- В Databricks Runtime 14.2 и более ранних версиях использование пользовательской версии
grpc
,pyarrow
, илиprotobuf
в PySpark UDF с помощью библиотек с областью действия записной книжки или кластера не поддерживается, так как установленная версия всегда предпочтительна. Сведения о том, как найти версию установленных библиотек, см. в разделе "Системная среда" заметок о выпуске конкретной версии Databricks Runtime.
- Для скалярных UDF на Python и UDF на Pandas требуется Databricks Runtime версии 13.3 LTS или более поздней.
- Нескалярные функции Python и Pandas, включая UDAF, UDTF и Pandas на Spark, требуют Databricks Runtime версии 14.3 LTS или выше.
См. функции, определяемые пользователем (UDF), в каталоге Unity.
ограничения потоковой передачи и требования к стандартному режиму доступа каталога Unity
Примечание.
Некоторые из перечисленных вариантов Kafka имеют ограниченную поддержку при использовании для поддерживаемых конфигураций в Azure Databricks. Все перечисленные ограничения Kafka допустимы как для пакетной обработки, так и для потоковой обработки. См. сведения о потоковой обработке с помощью Apache Kafka и Azure Databricks.
- Нельзя использовать форматы
statestore
иstate-metadata
для запроса сведений о состоянии для запросов потоковой передачи с отслеживанием состояния. -
transformWithState
,transformWithStateInPandas
и связанные API не поддерживаются. - Для Scala
foreach
требуется Databricks Runtime 16.1 или более поздней версии.foreachBatch
иflatMapGroupsWithState
требуются Databricks Runtime 16.2 или более поздняя версия. - Для 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
- Для Scala
StreamingQueryListener
требуется Databricks Runtime 16.1 или более поздняя версия. - Для использования Python
StreamingQueryListener
требуется Databricks Runtime 14.3 LTS или более поздняя версия, чтобы использовать учетные данные или взаимодействовать с объектами, управляемыми Unity Catalog, при вычислениях с обычным режимом доступа.
Ограничения доступа к сетевой и файловой системе для стандартного режима доступа каталога Unity
- Необходимо выполнить команды на вычислительных узлах в качестве пользователя с низким уровнем привилегий, запрещенного для доступа к конфиденциальным частям файловой системы.
- В Databricks Runtime 11.3 LTS и ниже можно создавать сетевые подключения только к портам 80 и 443.
- Невозможно подключиться к службе метаданных экземпляра или Azure WireServer.
Общие ограничения каталога Unity
Следующие ограничения применяются ко всем режимам доступа с поддержкой каталога Unity.
Ограничения на потоковую передачу для Unity Catalog
- Режим непрерывной обработки Apache Spark не поддерживается. Смотрите непрерывную обработку в руководстве по программированию на Spark для структурированной потоковой передачи.
См. также ограничения потоковой передачи для выделенного режима доступа каталога Unity и ограничения потоковой передачи и требования к стандартномурежиму доступа каталога Unity.
Дополнительные сведения о потоковой передаче с помощью каталога Unity см. в разделе Использование каталога Unity со структурированной потоковой передачей.