Compartir a través de


Limitaciones de proceso sin servidor

En este artículo se explican las limitaciones actuales de la computación sin servidor para notebooks y tareas. Comienza con una visión general de las consideraciones más importantes y, a continuación, proporciona una lista de referencia completa de las limitaciones.

Limitaciones generales

Antes de crear nuevas cargas de trabajo o migrar cargas de trabajo a un proceso sin servidor, tenga en cuenta las siguientes limitaciones:

  • No se admite R.
  • Solo se admiten las API de Spark Connect. No se admiten las API de RDD de Spark.
  • Spark Connect, que usa el proceso sin servidor, aplaza el análisis y la resolución de nombres al tiempo de ejecución, lo que puede cambiar el comportamiento del código. Consulte Comparación de Spark Connect con Spark clásico.
  • ANSI SQL es el lenguaje predeterminado al escribir SQL. Para no usar el modo ANSI, establezca spark.sql.ansi.enabled en false.
  • No se admite Databricks Container Services.
  • Debe usar Unity Catalog para conectarse a orígenes de datos externos. Use ubicaciones externas para acceder al almacenamiento en la nube.
  • Las funciones definidas por el usuario (UDF) no pueden acceder a Internet. Debido a esto, no se admite el comando CREATE FUNCTION (externo). Databricks recomienda usar CREATE FUNCTION (SQL y Python) para crear UDF.
  • El código personalizado definido por el usuario, como UDF, mapy mapPartitions, no puede superar los 1 GB de uso de memoria.
  • Al crear un dataframe a partir de datos locales mediante spark.createDataFrame, los tamaños de fila no pueden superar los 128 MB.
  • La interfaz de usuario de Spark no está disponible. En su lugar, use el perfil de consulta para ver información sobre las consultas de Spark. Consulte Perfil de consulta.
  • Los registros de Spark no están disponibles. Los usuarios solo tienen acceso a los registros de aplicaciones del lado cliente.
  • Solo se permite el acceso entre áreas de trabajo si las áreas de trabajo están en la misma región y el área de trabajo de destino no tiene configurada una ACL de IP o PrivateLink de front-end.
  • No se admiten vistas temporales globales. Databricks recomienda usar vistas temporales de sesión o crear tablas en las que se requieran pasos de datos entre sesiones.
  • No se admiten las coordenadas de Maven.
  • El acceso a DBFS está limitado. Utilice volúmenes del Catálogo de Unity o archivos del espacio de trabajo en su lugar.

Limitaciones de streaming

Limitaciones de los cuadernos

  • Scala y R no son compatibles con cuadernos.
  • Las bibliotecas JAR no se admiten en notebooks. Para obtener soluciones alternativas, consulte Procedimientos recomendados para el proceso sin servidor. Se admiten tareas JAR en trabajos. Consulte Tarea JAR para trabajos.
  • Las bibliotecas con ámbito de cuaderno no se almacenan en caché en las sesiones de desarrollo.
  • No se admite el uso compartido de tablas y vistas TEMP cuando se comparte un cuaderno entre usuarios.
  • no se admitenAutocompletar y explorador de variables para tramas de datos en cuadernos.
  • De forma predeterminada, los nuevos cuadernos se guardan en .ipynb formato. Si el cuaderno se guarda en formato de origen, es posible que los metadatos sin servidor no se capturen correctamente y es posible que algunas características no funcionen según lo previsto.
  • No se admiten etiquetas de cuaderno. Use directivas de presupuesto sin servidor para etiquetar el uso sin servidor.

Limitaciones del trabajo

  • Los registros de tareas no están aislados por cada ejecución de una tarea. Los registros contendrán la salida de varias tareas.
  • Las bibliotecas de tareas no se admiten para las tareas de cuaderno. En su lugar, use bibliotecas con ámbito de cuaderno. Consulte Bibliotecas específicas de Python para Notebook.
  • De forma predeterminada, los trabajos sin servidor no tienen tiempo de espera de ejecución de consultas. Puede establecer un tiempo de espera de ejecución para las consultas de trabajo mediante la spark.databricks.execution.timeout propiedad . Para más información, consulte Configuración de las propiedades de Spark para cuadernos y trabajos sin servidor.

Limitaciones específicas de cómputo

No se admiten las siguientes características específicas de la computación.

Limitaciones de almacenamiento en caché

Limitaciones de Hive

  • No se admiten las tablas de Hive SerDe. Además, no se admite el comando LOAD DATA correspondiente que carga datos en una tabla serDe de Hive. El uso del comando producirá una excepción.

    La compatibilidad con orígenes de datos se limita a AVRO, BINARYFILE, CSV, DELTA, JSON, KAFKA, ORC, PARQUET, ORC, TEXT y XML.

  • Variables de Hive (por ejemplo, ${env:var}, ${configName}, ${system:var}, y spark.sql.variable) o referencias de variables de configuración mediante la ${var} sintaxis no se admiten. El uso de variables de Hive producirá una excepción.

    En su lugar, use DECLARE VARIABLElas SET VARIABLE de SQL y los marcadores de parámetros ("?") o ":var" para declarar, modificar y hacer referencia al estado de sesión. También puede usar la cláusula IDENTIFIER para parametrizar nombres de objeto en muchos casos.

Orígenes de datos compatibles

El proceso sin servidor admite los siguientes orígenes de datos para las operaciones DML (escritura, actualización, eliminación):

  • CSV
  • JSON
  • AVRO
  • DELTA
  • KAFKA
  • PARQUET
  • ORC
  • TEXT
  • UNITY_CATALOG
  • BINARYFILE
  • XML
  • SIMPLESCAN
  • ICEBERG

El proceso sin servidor admite los siguientes orígenes de datos para las operaciones de lectura:

  • CSV
  • JSON
  • AVRO
  • DELTA
  • KAFKA
  • PARQUET
  • ORC
  • TEXT
  • UNITY_CATALOG
  • BINARYFILE
  • XML
  • SIMPLESCAN
  • ICEBERG
  • MYSQL
  • POSTGRESQL
  • SQLSERVER
  • REDSHIFT
  • SNOWFLAKE
  • SQLDW (Azure Synapse)
  • DATABRICKS
  • BIGQUERY
  • ORACLE
  • SALESFORCE
  • SALESFORCE_DATA_CLOUD
  • TERADATA
  • WORKDAY_RAAS
  • MONGODB