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 varias limitaciones para 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

  • No se admiten las vistas dinámicas.

  • Para leer desde una vista, debe tener SELECT en todas las tablas de referencia y vistas.

  • No se puede acceder a una tabla que tenga un filtro de fila o una máscara de columna.

  • No se puede usar un único proceso de usuario para consultar las tablas creadas por una canalización de Delta Live Tables habilitada para Unity Catalog, incluidas las tablas de streaming y las vistas materializadas creadas en Databricks SQL. Para consultar tablas creadas por una canalización de Delta Live Tables, debe usar un proceso compartido mediante Databricks Runtime 13.1 y versiones posteriores.

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.

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.

  • Cuando se usa con el paso directo de credenciales, las características de Unity Catalog 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.

Limitaciones de la API de Spark del modo de acceso compartido para Unity Catalog

  • No se admiten las API de RDD.
  • No se admiten DbUtils ni otros clientes que leen directamente los datos del almacenamiento en la nube.
  • 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.

Limitaciones de UDF del modo de acceso compartido para Unity Catalog

Importante

La compatibilidad con UDF de Scala en procesos habilitados para Unity Catalog con el modo de acceso compartido está en versión preliminar pública.

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

  • No se admiten UDF de Hive.

  • No se admiten applyInPandas ni mapInPandas.

  • En Databricks Runtime 14.2 y versiones posteriores, se admiten UDF escalares de Scala. No se admiten otras UDF y UDAF de Scala.

  • En Databricks Runtime 13.2 y versiones posteriores, se admiten UDF escalares de Python y UDF de Pandas. No se admiten otras UDF de Python, como UDAFs, UDTFs y Pandas en Spark.

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

Limitaciones de streaming del modo de acceso compartido para Unity Catalog

Nota:

Algunas de las opciones de Kafka enumeradas tienen compatibilidad limitada cuando se usan para configuraciones admitidas en Azure Databricks. Consulte Procesamiento de flujos con Apache Kafka y Azure Databricks.

  • Para Scala, foreach y foreachBatch no se admiten.
  • Para Scala, from_avro requiere Databricks Runtime 14.2 o superior.
  • No se admite applyInPandasWithState.
  • 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.
  • Para fuentes y receptores Kafka, las siguientes opciones no son compatibles:
    • 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 se admiten en Databricks Runtime 13.0 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

Limitaciones de acceso del sistema de archivos y de red para el modo de acceso compartido de Unity Catalog

  • Debe ejecutar sus comandos en nodos de ejecución como usuario con pocos privilegios que no tenga permitido 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.
  • StreamingQueryListener no puede utilizar credenciales ni interactuar con objetos administrados por Unity Catalog.

Consulte también limitaciones de streaming para el modo de acceso de usuario único de Unity Catalog y las limitaciones 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.