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


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

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

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