Поделиться через


Ограничения режима доступа к вычислительным ресурсам для 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, . rangeinit_batched_serializerparallelizepickleFiletextFilewholeTextFilesbinaryFilesbinaryRecordssequenceFilenewAPIHadoopFilenewAPIHadoopRDDhadoopFilehadoopRDDunionrunJobsetSystemPropertyuiWebUrlstopsetJobGroupsetLocalPropertygetConf
  • Для следующих операций API набора данных Scala требуется Среда выполнения Databricks 15.4 LTS или более поздней версии: map, , mapPartitions, foreachPartitionflatMapreduceи .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

См. также ограничения потоковой передачи для Unity в режиме доступа с одним пользователем Catalog и ограничения и требования потоковой передачи для Unity в режиме общего доступа Catalog.

Дополнительные сведения о потоковой передаче с помощью Unity Catalogсм. в разделе Использование Unity Catalog с использованием структурированной потоковой передачи.