Ограничения режима доступа к вычислительным ресурсам для каталога Unity
Databricks рекомендует использовать каталог Unity и режим общего доступа для большинства рабочих нагрузок. В этой статье описаны ограничения и требования для каждого режима доступа с каталогом Unity. Дополнительные сведения о режимах доступа см. в разделе "Режимы доступа".
Databricks рекомендует использовать политики вычислений для упрощения параметров конфигурации для большинства пользователей. См. статью "Создание политик вычислений и управление ими".
Примечание.
Режимы общей передачи и передачи учетных данных без изоляции — это устаревшие методы доступа, которые не поддерживаются в Unity Catalog.
Внимание
Скрипты и библиотеки init поддерживают разные поддержку в режимах доступа и версиях Среды выполнения Databricks. См. Где можно установить скрипты инициализации? и кластерные библиотеки.
ограничения режима доступа для одного пользователя в каталоге Unity
Режим единоличного доступа в Unity Catalog имеет следующие ограничения. Помимо общих ограничений для всех режимов доступа к каталогу 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, в том числе потоковых таблиц и материализованных представлений, если эти таблицы принадлежат другим пользователям. Пользователь, создающий таблицу, является владельцем.
Чтобы запрашивать потоковые таблицы и материализованные представления, созданные с помощью 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 Catalog на вычислительных системах для одного пользователя.
Ограничения режима совместного доступа в каталоге Unity
Режим общего доступа в каталоге Unity имеет следующие ограничения. В дополнение к общим ограничениям, действующим для всех режимов доступа каталога Unity. См. раздел Общие ограничения для каталога Unity.
Databricks Runtime ML и библиотека Машинное обучение Spark (MLlib) не поддерживаются.
Операции с использованием spark-submit не поддерживаются. Вместо этого используйте задачу JAR .
DBUtils и другие клиенты, которые непосредственно считывают данные из облачного хранилища, поддерживаются только при использовании внешнего расположения для доступа к расположению хранилища. См. статью "Создание внешнего расположения для подключения облачного хранилища к Azure Databricks".
В Databricks Runtime 13.3 и более поздних версиях отдельные строки не должны превышать 128 МБ.
Корневой каталог и подключения DBFS не поддерживают FUSE.
Пользовательские контейнеры не поддерживаются.
Языковая поддержка в режиме совместного доступа для Unity Catalog
- 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
Определяемые пользователем функции (ОПРЕДЕЛЯЕМЫЕ пользователем функции) имеют следующие ограничения в режиме общего доступа:
Определяемые пользователем функции Hive не поддерживаются.
applyInPandas
иmapInPandas
требуется Databricks Runtime 14.3 или более поздней версии.Пользовательские функции PySpark не могут получить доступ к папкам Git, файлам рабочей области или томам для импорта модулей в Databricks Runtime 14.2 и ниже.
Скалярные определяемые пользователем функции 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 или более поздней версии.
См. функции, определяемые пользователем (UDFs), в каталоге Unity.
ограничения потоковой передачи и требования к режиму общего доступа к каталогу Unity
Примечание.
Некоторые из перечисленных вариантов 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. - Для источников и приемников 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 со структурированной потоковой передачей.