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 esta página se incluye una lista de requisitos y limitaciones para el proceso estándar. Si usa el proceso clásico, Databricks recomienda usar el modo de acceso estándar a menos que la carga de trabajo dependa de una de las limitaciones que se enumeran a continuación.
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 proceso.
Limitaciones de proceso estándar actuales
En las secciones siguientes se enumeran las limitaciones del proceso estándar en función de la versión más reciente de Databricks Runtime. Para conocer las limitaciones que se aplican a las versiones anteriores de Databricks Runtime, consulte Limitaciones dependientes del entorno de ejecución.
Si estas características son necesarias para la carga de trabajo, use el proceso dedicado en su lugar.
Limitaciones generales de proceso estándar
- Databricks Runtime para ML no se admite. En su lugar, instale cualquier biblioteca de ML que no esté incluida con Databricks Runtime como una biblioteca con ámbito de proceso.
- No se admite el proceso habilitado para GPU.
- No se admiten tareas de trabajo de envío de Spark. En su lugar, use una tarea JAR.
- DBUtils y otros clientes solo pueden leer desde el almacenamiento en la nube mediante una ubicación externa.
- Los contenedores personalizados no se admiten.
- La raíz y los montajes de DBFS no admiten FUSE.
Limitaciones de idioma
- No se admite R.
Limitaciones de la API de Spark
- El contexto de Spark (
sc),spark.sparkContextysqlContextno se admiten para Scala:- Azure Databricks recomienda usar la
sparkvariable para interactuar con laSparkSessioninstancia. - 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.
- Azure Databricks recomienda usar la
- La configuración de Spark no admite la propiedad
spark.executor.extraJavaOptions. - Al crear un dataframe a partir de datos locales mediante
spark.createDataFrame, los tamaños de fila no pueden superar los 128 MB. - No se admiten las API de RDD.
- Spark Connect, que se usa en versiones más recientes de Databricks Runtime, 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.
Limitaciones de UDF
- No se admiten las UDF de Hive. En su lugar, use UDF en el catálogo de Unity.
Limitaciones de streaming
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.
- No puede usar los formatos
statestoreystate-metadatapara consultar la información de estado en las consultas de streaming con estado. - No se admite el uso de fuentes de socket.
- El
sourceArchiveDirdebe estar en la misma ubicación externa que la fuente cuando se utilizaoption("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.classkafka.sasl.login.callback.handler.classkafka.sasl.login.classkafka.partition.assignment.strategy
Limitaciones del sistema de archivos y de red
- El proceso estándar ejecuta comandos como un usuario con pocos privilegios prohibido acceder a partes confidenciales del sistema de archivos.
- No se admiten rutas de acceso de estilo POSIX (
/) para DBFS. - Solo los administradores de áreas de trabajo y los usuarios con permisos ANY FILE pueden interactuar directamente con archivos mediante DBFS.
- No se puede conectar al servicio de metadatos de instancia ni a Azure WireServer.
Limitaciones del kernel de Scala
Se aplican las siguientes limitaciones al usar el kernel de scala en el proceso estándar:
- Algunas clases no se pueden usar en el código si entran en conflicto con la biblioteca interna del kernel de almendras, en particular
Input. Para obtener una lista de las importaciones definidas de almendras, consulte importaciones de almendras. - No se admite el registro directamente en log4j.
- En la interfaz de usuario, no se admite la lista desplegable de esquema de DataFrame.
- Si el controlador alcanza OOM, REPL de Scala no finalizará.
-
//connector/sql-aws-connectors:sql-aws-connectorsno está en el destino de bazel de REPL de Scala, utilice los resultados enClassNotFoundException. - El kernel de Scala no es compatible con SQLImplicits.
Limitaciones dependientes del entorno de ejecución
Las siguientes limitaciones se han resuelto a través de actualizaciones en tiempo de ejecución, pero es posible que todavía se apliquen a la carga de trabajo si usa un entorno de ejecución anterior.
Compatibilidad con idiomas
| Característica | Versión necesaria de Databricks Runtime |
|---|---|
| Scala | 13.3 o superior |
| Todas las bibliotecas de Java y Scala agrupadas en tiempo de ejecución disponibles de forma predeterminada | 15.4 LTS o superior (para 15.3 o inferior, establezca spark.databricks.scala.kernel.fullClasspath.enabled=true) |
Compatibilidad con la API de Spark
| Característica | Versión necesaria de Databricks Runtime |
|---|---|
| Spark ML | 17.0 o superior |
Python: SparkContext (sc), , spark.sparkContextsqlContext |
14.0 o superior |
Scala Dataset ops: map, mapPartitions, foreachPartition, flatMap, , , reducefilter |
15.4 LTS o superior |
Compatibilidad con UDF
| Característica | Versión necesaria de Databricks Runtime |
|---|---|
applyInPandas, mapInPandas |
14.3 LTS o superior |
| UDF escalares de Scala y UDF de Scala | 14.3 LTS o superior |
| Importación de módulos desde carpetas de Git, archivos de área de trabajo o volúmenes en UDF de PySpark | 14.3 LTS o superior |
Uso de versiones personalizadas de grpc, pyarrowo protobuf en UDF de PySpark a través de bibliotecas con ámbito de proceso o cuadernos |
14.3 LTS o superior |
| UDF de Python y Pandas no escalares, incluidos UDAFs, UDTFs y Pandas en Spark | 14.3 LTS o superior |
| UDF escalares de Python y UDF de Pandas | 13.3 LTS o superior |
Compatibilidad con streaming
| Característica | Versión necesaria de Databricks Runtime |
|---|---|
transformWithStateInPandas |
16.3 o superior |
applyInPandasWithState |
14.3 LTS o superior |
Scala foreach |
16.1 o superior |
Scala foreachBatch y flatMapGroupsWithState |
16.2 o superior |
Scala from_avro |
14.2 o superior |
Opciones kafka.ssl.truststore.location de Kafka y kafka.ssl.keystore.location (la ubicación especificada debe ser una ubicación externa administrada por el catálogo de Unity) |
13.3 LTS o superior |
Scala StreamingQueryListener |
16.1 o superior |
Interacción de Python StreamingQueryListener con objetos administrados por el catálogo de Unity |
14.3 LTS o superior |
Además, para Python, foreachBatch tiene los siguientes cambios de comportamiento en Databricks Runtime 14.0 y versiones posteriores:
- Los comandos
print()escriben la salida en los registros del controlador. - No se puede acceder al submódulo
dbutils.widgetsdentro de la función. - Cualquier archivo, módulo u objeto referenciado en la función debe ser serializable y estar disponible en Spark.
Compatibilidad con el sistema de archivos y de red
| Característica | Versión necesaria de Databricks Runtime |
|---|---|
| Conexiones a puertos distintos de 80 y 443 | 12.2 LTS o superior |