Nota:
El acceso a esta página requiere autorización. Puede intentar iniciar sesión o cambiar directorios.
El acceso a esta página requiere autorización. Puede intentar cambiar los directorios.
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.enabledenfalse. - 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,
mapymapPartitions, 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
- No hay compatibilidad con intervalos de desencadenador predeterminados o basados en tiempo. Solo se admite
Trigger.AvailableNow. Vea Configurar intervalos del desencadenador de Structured Streaming. - También se aplican todas las limitaciones de streaming en modo de acceso estándar. Consulte 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
.ipynbformato. 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.timeoutpropiedad . 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.
- Políticas de computación
- Scripts de inicialización con ámbito de proceso
- Bibliotecas con ámbito de proceso, incluidos orígenes de datos personalizados y extensiones de Spark. Use bibliotecas con ámbito de cuaderno en su lugar.
- Grupos de instancias
- Registros de eventos de proceso
- La mayoría de las configuraciones de cálculo de Apache Spark. Para obtener una lista de configuraciones admitidas, consulte Configuración de propiedades de Spark para cuadernos y trabajos sin servidor.
- Variables de entorno. En su lugar, Databricks recomienda usar widgets para crear parámetros de trabajo y tarea.
Limitaciones de almacenamiento en caché
Los metadatos se almacenan en caché en sesiones de proceso sin servidor. Debido a esto, es posible que el contexto de sesión no se restablezca completamente al cambiar de catálogo. Para borrar el contexto de sesión, restablezca el recurso de proceso sin servidor o inicie una nueva sesión.
Las APIs de dataframe y caché de SQL no se admiten en la computación sin servidor. El uso de cualquiera de estas API o comandos SQL produce una excepción.
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}, yspark.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):
CSVJSONAVRODELTAKAFKAPARQUETORCTEXTUNITY_CATALOGBINARYFILEXMLSIMPLESCANICEBERG
El proceso sin servidor admite los siguientes orígenes de datos para las operaciones de lectura:
CSVJSONAVRODELTAKAFKAPARQUETORCTEXTUNITY_CATALOGBINARYFILEXMLSIMPLESCANICEBERGMYSQLPOSTGRESQLSQLSERVERREDSHIFTSNOWFLAKE-
SQLDW(Azure Synapse) DATABRICKSBIGQUERYORACLESALESFORCESALESFORCE_DATA_CLOUDTERADATAWORKDAY_RAASMONGODB