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


Ограничения режима доступа к вычислительным ресурсам для каталога 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.
  • Для следующих операций 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 со структурированной потоковой передачей.