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

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

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