Compartir vía


Limitaciones del modo de acceso de proceso para Unity Catalog

Databricks recomienda usar Unity Catalog y el modo de acceso compartido para la mayoría de las cargas de trabajo. En este artículo se describen las limitaciones y los requisitos de cada modo de acceso con Unity Catalog. Para obtener más información sobre los modos de acceso, consulte Modos de acceso.

Databricks recomienda usar directivas de proceso para simplificar las opciones de configuración de la mayoría de los usuarios. Consulte Crear y administrar directivas de proceso.

Nota:

El modo compartido sin aislamiento es un modo de acceso heredado que no admite el catálogo de Unity.

Importante

Los scripts y bibliotecas de inicialización tienen una compatibilidad diferente en los modos de acceso y las versiones de Databricks Runtime. Consulte ¿Dónde se pueden instalar los scripts de inicialización? y Bibliotecas con ámbito de clúster.

Limitaciones del modo de acceso de usuario único en el catálogo de Unity

El modo de acceso de usuario único en Unity Catalog tiene las siguientes limitaciones. Estas son además de las limitaciones generales para todos los modos de acceso a Unity Catalog. Consulte Limitaciones generales para Unity Catalog.

Limitaciones específicas del control de acceso para el modo de acceso de usuario único de Unity Catalog

En Databricks Runtime 15.3 y versiones posteriores, no se admite el control de acceso específico en el proceso de un solo usuario. Específicamente:

Para consultar vistas dinámicas, las vistas en las que no tiene SELECT en las tablas y vistas subyacentes, y las tablas con filtros de fila o máscaras de columna, use una de las siguientes opciones:

  • Un almacén de SQL.

  • Proceso con modo de acceso compartido.

  • Proceso con modo de acceso de usuario único en Databricks Runtime 15.4 LTS o superior.

    Databricks Runtime 15.4 LTS y versiones posteriores admiten un control de acceso específico en un solo proceso de usuario. Para aprovechar el filtrado de datos proporcionado en Databricks Runtime 15.4 LTS y versiones posteriores, compruebe que el área de trabajo está habilitada para el proceso sin servidor.

    El proceso sin servidor controla el filtrado de datos, lo que permite el acceso a una vista sin necesidad de permisos en sus tablas y vistas subyacentes. Dado que el proceso sin servidor controla el filtrado de datos, puede incurrir en cargos de proceso sin servidor cuando se usa un proceso de usuario único para consultar las vistas. Para obtener más información, consulte Control de acceso específico sobre el proceso de un solo usuario.

Limitaciones de la tabla de streaming y la vista materializada para el modo de acceso de usuario único de Unity Catalog

En Databricks Runtime 15.3 y versiones posteriores, no puede usar un proceso de usuario único para consultar las tablas creadas mediante una canalización de Delta Live Tables, incluidas las tablas de streaming y las vistas materializadas, si esas tablas son propiedad de otros usuarios. El usuario que crea una tabla es el propietario.

Para consultar tablas de streaming y vistas materializadas creadas por Delta Live Tables y propiedad de otros usuarios, use una de las siguientes opciones:

  • Un almacén de SQL.

  • Proceso con modo de acceso compartido en Databricks Runtime 13.3 LTS o superior.

  • Proceso con modo de acceso de usuario único en Databricks Runtime 15.4 LTS o superior.

    El área de trabajo también debe estar habilitada para el proceso sin servidor. Para obtener más información, consulte Control de acceso específico sobre el proceso de un solo usuario.

Limitaciones de streaming para el modo de acceso de usuario único de Unity Catalog

  • El punto de control asíncrono no es compatible con Databricks Runtime 11.3 LTS y versiones inferiores.
  • StreamingQueryListener requiere Databricks Runtime 15.1 o posterior para usar credenciales o interactuar con objetos administrados por Unity Catalog en un proceso de usuario único.

Limitaciones del modo de acceso compartido en el catálogo de Unity

El modo de acceso compartido en Unity Catalog tiene las siguientes limitaciones. Estas son además de las limitaciones generales para todos los modos de acceso a Unity Catalog. Consulte Limitaciones generales para Unity Catalog.

  • Databricks Runtime ML y la Biblioteca de aprendizaje automático de Spark (MLlib) no se admiten.

  • No se admiten trabajos de envío de Spark.

  • En Databricks Runtime 13.3 y versiones posteriores, las filas individuales no deben superar los 128MB.

  • Las UDF de PySpark no pueden acceder a carpetas de Git, archivos de área de trabajo ni volúmenes para importar módulos en Databricks Runtime 14.2 y versiones posteriores.

  • Los montajes y raíz de DBFS no admiten FUSE.

  • Cuando se usa el modo de acceso compartido con el acceso directo a credenciales, las características del catálogo de Unity están deshabilitadas.

  • Los contenedores personalizados no se admiten.

Compatibilidad con idiomas para el modo de acceso compartido de Unity Catalog

  • R no se admite.
  • Scala se admite en Databricks Runtime 13.3 y versiones posteriores.
    • En Databricks Runtime 15.4 LTS y versiones posteriores, todas las bibliotecas java o Scala (archivos JAR) agrupadas con Databricks Runtime están disponibles en el proceso en los modos de acceso a Unity Catalog.
    • Para Databricks Runtime 15.3 o inferior en el proceso que usa el modo de acceso compartido, establezca la configuración de Spark spark.databricks.scala.kernel.fullClasspath.enabled en true.

Limitaciones y requisitos de la API de Spark para el modo de acceso compartido de Unity Catalog

  • No se admiten las API de RDD.
  • DBUtils y otros clientes que leen directamente los datos del almacenamiento en la nube solo se admiten cuando se usa una ubicación externa para acceder a la ubicación de almacenamiento. Consulte Creación de una ubicación externa para conectar el almacenamiento en la nube a Azure Databricks.
  • Spark Context (sc),spark.sparkContext y sqlContext no se admiten para Scala en Databricks Runtime y no se admiten para Python en Databricks Runtime 14.0 y versiones posteriores.
    • Databricks recomienda usar la variable spark para interactuar con la instancia SparkSession.
    • Tampoco se admiten las siguientes funciones 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.
  • Las siguientes operaciones de API de conjunto de datos de Scala requieren Databricks Runtime 15.4 LTS o superior: map, mapPartitions, foreachPartition, flatMap, reduce y filter.

limitaciones y requisitos de UDF para el modo de acceso compartido de Unity Catalog

Las funciones definidas por el usuario (UDF) tienen las siguientes limitaciones con el modo de acceso compartido:

  • No se admiten UDF de Hive.

  • applyInPandas y mapInPandas requieren Databricks Runtime 14.3 o superior.

  • Las UDF escalares de Scala requieren Databricks Runtime 14.2 o superior. No se admiten otras UDF y UDAF de Scala.

  • En Databricks Runtime 14.2 y versiones posteriores, no se admite el uso de una versión personalizada de grpc, pyarrow o protobuf en una UDF de PySpark a través de bibliotecas con ámbito de cuaderno o de clúster porque siempre se prefiere la versión instalada. Para buscar la versión de las bibliotecas instaladas, consulte la sección Entorno del sistema de las notas de la versión específica de Databricks Runtime.

  • Las UDF escalares de Python y las UDF de Pandas requieren Databricks Runtime 13.3 LTS o superior.

  • Las UDF de Python y Pandas no escalares, incluidas las UDF, udTFs y Pandas en Spark, requieren Databricks Runtime 14.3 LTS o superior.

Consulte Funciones definidas por el usuario (UDF) en Unity Catalog.

requisitos y limitaciones de streaming para el modo de acceso compartido de Unity Catalog

Nota:

Algunas de las opciones de Kafka enumeradas tienen compatibilidad limitada cuando se usan para configuraciones admitidas en Azure Databricks. Todas las limitaciones de Kafka enumeradas son válidas tanto para el procesamiento por lotes como para el procesamiento de flujos. Consulte Procesamiento de flujos con Apache Kafka y Azure Databricks.

  • En el caso de Scala, no se admiten foreach, foreachBatch, StreamingListeners y FlatMapGroupWithState.
  • Para Python, foreachBatch tiene los siguientes cambios de comportamiento en Databricks Runtime 14.0 y versiones posteriores:
    • print() los comandos escriben la salida en los registros del controlador.
    • No se puede acceder al submódulo dbutils.widgets dentro de la función.
    • Cualquier archivo, módulo u objeto referenciado en la función debe ser serializable y estar disponible en Spark.
  • Para Scala, from_avro requiere Databricks Runtime 14.2 o superior.
  • applyInPandasWithState requiere Databricks Runtime 14.3 LTS o superior.
  • No se puede trabajar con fuentes de socket.
  • El sourceArchiveDir debe estar en la misma ubicación externa que la fuente cuando se utiliza option("cleanSource", "archive") con una fuente de datos administrada por Unity Catalog.
  • En el caso de los orígenes y receptores de Kafka, no se admiten las siguientes opciones:
    • kafka.sasl.client.callback.handler.class
    • kafka.sasl.login.callback.handler.class
    • kafka.sasl.login.class
    • kafka.partition.assignment.strategy
  • Las siguientes opciones de Kafka no se admiten en Databricks Runtime 13.3 LTS ni versiones posteriores, pero no se admiten en Databricks Runtime 12.2 LTS. Solo puede especificar ubicaciones externas administradas por Unity Catalog para estas opciones:
    • kafka.ssl.truststore.location
    • kafka.ssl.keystore.location
  • StreamingQueryListener requiere Databricks Runtime 14.3 LTS o superior para usar credenciales o interactuar con objetos administrados por Unity Catalog en proceso compartido.

Limitaciones y requisitos de acceso al sistema de archivos y redes para el modo de acceso compartido de Unity Catalog

  • Debe ejecutar comandos en nodos de proceso como un usuario con pocos privilegios prohibido acceder a partes confidenciales del sistema de archivos.

  • En Databricks Runtime 11.3 LTS y versiones posteriores, solo puede crear conexiones de red a los puertos 80 y 443.

  • No se puede conectar al servicio de metadatos de instancia ni a Azure WireServer.

Limitaciones generales para Unity Catalog

Las siguientes limitaciones se aplican a todos los modos de acceso habilitados para Unity Catalog.

Limitaciones de streaming para Unity Catalog

  • No se admite el modo de procesamiento continuo de Apache Spark. Consulte Procesamiento continuo en la Guía de programación de Streaming estructurado de Spark.

Consulte también Limitaciones de streaming para el modo de acceso de usuario único de Unity Catalog y Limitaciones y requisitos de streaming para el modo de acceso compartido de Unity Catalog.

Para obtener más información sobre Unity Catalog, consulte Uso de Unity Catalog con Structured Streaming.