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 características y comportamientos que están disponibles actualmente y los que se introducirán próximamente en la computación sin servidor para cuadernos y tareas.
Para obtener más información sobre el proceso sin servidor, consulte Conectar al proceso sin servidor.
Azure Databricks publica periódicamente actualizaciones de proceso sin servidor, actualizando automáticamente el entorno de ejecución de proceso sin servidor para admitir mejoras y actualizaciones en la plataforma. Todos los usuarios obtienen las mismas actualizaciones, que se han implementado durante un breve período de tiempo.
Versiones de entorno sin servidor
El proceso sin servidor para cuadernos y trabajos usa versiones de entorno, que proporcionan una API de cliente estable basada en Spark Connect para garantizar la compatibilidad de las aplicaciones. Esto permite a Databricks actualizar el servidor de forma independiente, ofrecer mejoras de rendimiento, mejoras de seguridad y correcciones de errores sin necesidad de cambios de código en las cargas de trabajo.
Cada versión del entorno incluye una versión específica de Python y un conjunto de paquetes de Python con versiones definidas. Databricks presenta nuevas características y correcciones en la versión más reciente del entorno al aplicar actualizaciones de seguridad a todas las versiones de entorno compatibles.
Para obtener las notas de la versión del entorno sin servidor, consulte Versiones de entorno sin servidor.
Notas de lanzamiento
En esta sección se incluyen notas de la versión para el proceso sin servidor. Las notas de la versión se organizan por año y semana del año. El proceso sin servidor siempre se ejecuta con la versión publicada más recientemente que se muestra aquí.
- Versión 18.0 sin servidor
- Versión 18.0
- La versión 5 del entorno sin servidor ya está disponible
- Versión 17.3
- Versión 17.2
- Versión 17.1
- Versión 4 del entorno sin servidor
- Versión 17.0
- Los objetivos de rendimiento sin servidor están disponibles en disponibilidad general
- Versión 16.4
- El modo de rendimiento ahora se puede configurar en trabajos sin servidor
- Versión 16.3
- Versión 16.2
- Configuración de alta memoria disponible en cuadernos sin servidor (versión preliminar pública)
- Versión 16.1
- Versión 15.4
- El JDK se actualiza de JDK 8 a JDK 17
- Versión 15.1
- Versión 14.3
Versión 18.0 sin servidor
27 de febrero de 2026
Versión 18.0
27 de febrero de 2026
Esta versión de proceso sin servidor se corresponde aproximadamente con Databricks Runtime 18.0.
Nuevas características
El scripting de SQL está ahora disponible de forma general: el scripting de SQL está ya disponible de forma general.
Controlador JDBC de Redshift actualizado a la versión 2.1.0.28: El controlador JDBC de Redshift se ha actualizado a la versión 2.1.0.28.
Entorno de ejecución de aislamiento compartido para UDF de Python del catálogo de Unity: las UDF de Python del catálogo de Unity con el mismo propietario ahora pueden compartir un entorno de aislamiento de forma predeterminada, lo que mejora el rendimiento y reduce el uso de memoria. Para asegurarse de que una UDF siempre se ejecuta en un entorno totalmente aislado, agregue la
STRICT ISOLATIONcláusula de característica. Consulte Aislamiento del entorno.Funciones de ventana SQL en vistas de métricas: ahora puede usar funciones de ventana SQL en vistas de métricas para calcular los totales acumulados, clasificaciones y otros cálculos basados en ventanas.
Ajuste dinámico de particiones aleatorias en consultas de streaming sin estado: ahora puede cambiar el número de particiones aleatorias en consultas de streaming sin estado sin reiniciar la consulta.
Ejecución de consultas adaptables y orden aleatorio optimizado automáticamente en consultas de streaming sin estado: la ejecución de consultas adaptables (AQE) y el orden aleatorio optimizado automáticamente (AOS) ahora se admiten en consultas de streaming sin estado.
Concatenación de cadenas literales en todas partes: Se ha expandido la capacidad de fusionar literales de cadena secuenciales, como
'Hello' ' World'en'Hello World', a cualquier posición donde se permitan literales de cadena. Vea el tipoSTRING.Marcadores de parámetros en todas partes: ahora puede usar marcadores de parámetros con nombre (
:param) y sin nombre (?) prácticamente en cualquier lugar donde se pueda usar un valor literal del tipo adecuado, incluidas las instrucciones DDL y los tipos de columna. Consulte Marcadores de parámetros.IDENTIFIERcláusula en todas partes: laIDENTIFIERcláusula , que convierte cadenas en nombres de objeto de SQL, se ha expandido a casi todas partes donde se permite un identificador, incluidos los alias de columna y las definiciones de columna. Consulte la cláusula IDENTIFIER.Nueva
BITMAP_AND_AGGfunción: ahora hay disponible una nuevabitmap_and_aggfunción de agregado.Nuevas funciones de croquis de Theta: ya está disponible una nueva biblioteca de funciones para operaciones aproximadas de recuentos y conjuntos mediante Datasketches Theta Sketch, incluidas las funciones theta_sketch_agg, theta_union_agg, theta_intersection_agg y relacionadas.
Nueva biblioteca de funciones KLL Sketch: ya está disponible una nueva biblioteca de funciones para compilar bocetos KLL para el cálculo cuantil aproximado, incluidas kll_sketch_agg_bigint, kll_sketch_agg_double y funciones relacionadas.
Biblioteca de Apache Parquet actualizada a la versión 1.16.0: la biblioteca de Apache Parquet se ha actualizado a la versión 1.16.0.
Nuevas funciones geoespaciales: ahora se admiten las siguientes nuevas funciones geoespaciales:
-
st_azimuthfunción: Devuelve el azimut basado en el norte desde el primer punto hasta el segundo en radianes. -
st_boundaryfunction: devuelve el límite de la geometría de entrada. -
st_closestpointfunción: devuelve la proyección 2D de un punto en la primera geometría más cercana a la segunda geometría. -
st_geogfromewktfunción: analiza una descripción de Texto Bien Conocido Extendido (EWKT) de una geografía. -
st_geomfromewktfunción: interpreta una descripción de Texto Bien Conocido Extendido (EWKT) de geometría.
-
Rendimiento mejorado de la combinación espacial: el rendimiento de la combinación espacial ahora se ha mejorado mediante la introducción de compatibilidad con combinaciones espaciales aleatorias.
Rendimiento mejorado para funciones geoespaciales: las implementaciones de Photon ahora están disponibles para
st_isvalidfunciones,st_makelinefunciones yst_makepolygonfunciones.Compatibilidad con entradas de EWKT: las funciones de try_to_geography, try_to_geometry, to_geography y to_geometry ahora aceptan las funciones extended Well-Known Text (EWKT) como entrada.
Cambios de comportamiento
FSCK REPAIR TABLEincluye la reparación de metadatos de forma predeterminada: elFSCK REPAIR TABLEcomando ahora incluye un paso de reparación de metadatos inicial antes de comprobar si faltan archivos de datos. El comando puede trabajar en tablas con puntos de control dañados o valores de partición no válidos.Factores de proración alineados entre lecturas y escrituras optimizadas automáticamente: los factores de proración para el ajuste de tamaño de partición ahora usan valores fraccionarios de forma coherente entre operaciones de lectura y escrituras optimizadas automáticamente. Este cambio puede dar lugar a un número diferente de tareas para las operaciones de lectura.
Ejecución de UDF de Python unificada entre PySpark y el catálogo de Unity: las UDF de Python del catálogo de Unity ahora usan Apache Arrow como formato de intercambio predeterminado, lo que mejora el rendimiento general. Como parte de este cambio,
TIMESTAMPlos valores pasados a UDF de Python ya no incluyen información de zona horaria en eldatetimeatributo deltzinfoobjeto. Si su UDF se basa en información de zona horaria, restáurela condate = date.replace(tzinfo=timezone.utc). Consulte el comportamiento de la zona horaria de las marcas de tiempo para las entradas.Mensajes de error mejorados para los problemas del módulo de inicio de sesión del conector de Kafka: al usar el conector de Kafka con una clase de módulo de inicio de sesión no sombreada, Azure Databricks ahora proporciona mensajes de error que sugieren el uso del prefijo de clase correcto (
kafkashaded.org.apache.kafkaokafkashaded.software.amazon.msk.auth.iam).Restricciones de viaje en el tiempo y
VACUUMcomportamiento de conservación: Azure Databricks ahora bloquea las consultas de viaje en el tiempo más allá del umbral establecido para todas las tablas. ElVACUUMcomando omite el argumento de duración de retención, excepto cuando el valor es 0 horas. No se puede establecerdeletedFileRetentionDurationmás grande quelogRetentionDurationo viceversa.BinaryTypese asigna abytesde forma predeterminada en PySpark: en PySpark,BinaryTypeahora se asigna de forma coherente a Pythonbytes. Anteriormente, PySpark asignabaBinaryTypeabytesobytearraysegún el contexto. Para restaurar el comportamiento anterior, establezcaspark.sql.execution.pyspark.binaryAsBytesenfalse.Structs NULL conservados en Delta MERGE, UPDATEy operaciones de escritura en streaming: las estructuras NULL ahora se conservan como NULL en Delta MERGE, UPDATEy en operaciones de escritura en streaming que incluyan casts de tipo struct. Anteriormente, las estructuras NULL se expandían a structs con campos NULL.
Columnas de partición materializadas en archivos Parquet: las tablas Delta particionadas ahora materializan columnas de partición en archivos de datos Parquet recién escritos. Anteriormente, los valores de partición se almacenaban en los metadatos del registro de transacciones Delta y se reflejaban en rutas de acceso de directorio, pero no se escribían como columnas en los propios archivos Parquet. Este cambio podría afectar a las cargas de trabajo que leen directamente los archivos Parquet generados por Delta.
DESCRIBE TABLEoutput incluye la columna de metadatos: la salida deDESCRIBE TABLE [EXTENDED]ahora incluye una nuevametadatacolumna para todos los tipos de tabla, que contiene metadatos semánticos (nombre para mostrar, formato y sinónimos) definidos en la tabla como una cadena JSON.
La versión 5 del entorno sin servidor ya está disponible
25 de febrero de 2026
Ahora puede usar la versión 5 del entorno sin servidor en los cuadernos y trabajos sin servidor. Esto incluye las versiones del entorno de CPU y GPU. Consulte Serverless environment version 5 (Entorno sin servidor versión 5).
Versión 17.3
28 de octubre de 2025
Esta versión de proceso sin servidor se corresponde aproximadamente con Databricks Runtime 17.3 LTS.
Nuevas características
LIMIT Compatibilidad con todas las CTE recursivas: ahora puede usar la
LIMIT ALLcláusula con expresiones de tabla comunes recursivas (rCTEs) para especificar explícitamente que no se debe aplicar ningún límite de filas a los resultados de la consulta. Consulte Expresión de tabla común (CTE).Anexar a archivos de volúmenes del catálogo de Unity devuelve un mensaje de error correcto: al intentar anexar a archivos existentes en volúmenes del catálogo de Unity, ahora se devuelve un mensaje de error más descriptivo para ayudarle a comprender y resolver el problema.
st_dumpcompatibilidad con funciones: ahora puede usar last_dumpfunción para descomponer un objeto geométrico en sus componentes elementales y obtener un conjunto de geometrías más sencillas. Consulte last_dumpfunción.Ahora se admiten funciones de anillo interior de polígono: ahora puede usar las siguientes funciones para trabajar con anillos interiores de polígono:
-
st_numinteriorrings: obtiene el número de límites internos (anillos) de un polígono. Consulte last_numinteriorringsfunción. -
st_interiorringn: extraiga el límite interno n-ésimo de un polígono y lo devuelva como una cadena de líneas. Consulte last_interiorringnfunción.
-
EXECUTE IMMEDIATE uso de expresiones constantes: la
EXECUTE IMMEDIATEinstrucción ahora admite el uso de expresiones constantes en la cadena de consulta, lo que permite una ejecución SQL dinámica más flexible. Consulte EXECUTE IMMEDIATE.Permitir
spark.sql.files.maxPartitionBytesen la computación sin servidor: ahora puede configurar elspark.sql.files.maxPartitionBytesparámetro de configuración de Spark en computación sin servidor para controlar el número máximo de bytes que se van a incluir en una sola partición al leer archivos. Consulte Configuración de las propiedades de Spark para cuadernos y trabajos sin servidor.
Cambios de comportamiento
Soporte para la información de actualización de MV/ST en DESCRIBE EXTENDED AS JSON: El
DESCRIBE EXTENDED AS JSONcomando ahora incluye información de actualización para vistas materializadas y tablas de streaming, proporcionando visibilidad acerca de la hora y el estado de la última actualización.Agregue la columna de metadatos a DESCRIBE QUERY y DESCRIBE TABLE: los
DESCRIBE QUERYcomandos yDESCRIBE TABLEahora incluyen una columna de metadatos en su salida, lo que proporciona información adicional sobre las propiedades y características de cada columna.Control correcto de estructuras nulas al quitar columnas NullType: Azure Databricks ahora controla correctamente los valores de estructura NULL al quitar columnas con
NullType, lo que impide posibles daños en los datos o un comportamiento inesperado.Control mejorado de estructuras nulas en Parquet: esta versión incluye mejoras en cómo se controlan los valores de estructura NULL al leer y escribir en archivos Parquet, lo que garantiza un comportamiento más coherente y correcto.
Actualización de la biblioteca aws-msk-iam-auth para Kafka: la
aws-msk-iam-authbiblioteca que se usa para la autenticación de IAM de Amazon MSK se ha actualizado a la versión más reciente, lo que proporciona una seguridad y compatibilidad mejoradas.
Versión 17.2
25 de septiembre de 2025
Esta versión de proceso sin servidor se corresponde aproximadamente con Databricks Runtime 17.2.
Nuevas características
-
ST_ExteriorRingahora se admite la función: ahora puede usar laST_ExteriorRingfunción para extraer el límite exterior de un polígono y devolverlo como una cadena de líneas. Consulte last_exteriorringfunción.
Palabra clave de soporte
TEMPORARYpara la creación de vistas de métricas: ahora puede usar laTEMPORARYpalabra clave al crear una vista de métricas. Las vistas de métricas temporales solo son visibles en la sesión que las creó y se quitan cuando finaliza la sesión. Consulte CREATE VIEW.Uso de E/S nativa para
LokiFileSystem.getFileStatusen S3:LokiFileSystem.getFileStatusahora utiliza la pila de E/S nativa para el tráfico de Amazon S3 y devuelve objetosorg.apache.hadoop.fs.FileStatusen lugar deshaded.databricks.org.apache.hadoop.fs.s3a.S3AFileStatus.El Cargador Automático deduce las columnas de partición en
singleVariantColumnmodo: El Cargador Automático ahora infiere las columnas de partición de las rutas de archivos al ingerir datos como un tipo de variante semiestructurada mediante la opciónsingleVariantColumn. Anteriormente, las columnas de partición no se detectaron automáticamente. Consulte Opciones del cargador automático.
Cambios de comportamiento
DESCRIBE CONNECTIONmuestra la configuración del entorno para las conexiones JDBC: Azure Databricks ahora incluye la configuración de entorno definida por el usuario en laDESCRIBE CONNECTIONsalida de las conexiones JDBC que admiten controladores personalizados y se ejecutan de forma aislada. Otros tipos de conexión permanecen sin cambios.Opción para truncar el historial uniforme durante la migración de tablas administradas: ahora puede truncar el historial uniforme al migrar tablas con Uniform/Iceberg habilitado mediante
ALTER TABLE...SET MANAGED. Esto simplifica las migraciones y reduce el tiempo de inactividad en comparación con deshabilitar y volver a habilitar Uniforme manualmente.Resultados correctos para
splitcon regex vacío y límite positivo: Azure Databricks ahora devuelve resultados correctos cuando se usasplit functioncon una expresión regular vacía y un límite positivo. Anteriormente, la función truncaba incorrectamente la cadena restante en lugar de incluirla en el último elemento.Corrección del manejo de errores de
url_decodeytry_url_decodeen Photon: En Photon,try_url_decode()yurl_decode()ahora devuelvenfailOnError = falsepara cadenas codificadas por URL no válidas en lugar de que falle la consulta.Entorno de ejecución compartido para UDF de Python del catálogo de Unity: Azure Databricks ahora comparte el entorno de ejecución para las funciones de tabla definidas por el usuario (UDF) de Python desde el mismo propietario y sesión de Spark. Hay disponible una cláusula opcional
STRICT ISOLATIONpara deshabilitar el uso compartido de UDF con efectos secundarios, como modificar variables de entorno o ejecutar código arbitrario.
Versión 17.1
19 de agosto de 2025
Esta versión de proceso sin servidor se corresponde aproximadamente con Databricks Runtime 17.1.
Nuevas características
- Reducción del uso de memoria para esquemas amplios en Photon Writer: se realizaron mejoras en el motor Photon que reduce significativamente el uso de memoria para esquemas anchos, abordando escenarios que anteriormente generaron errores de memoria insuficiente.
Cambios de comportamiento
Error producido para restricciones no válidas
CHECK: Azure Databricks ahora produce unaAnalysisExceptionexcepción si no se puede resolver una expresión de restricción durante laCHECKvalidación de restricciones.El conector pulsar ya no expone Bouncy Castle: la biblioteca Bouncy Castle ahora está sombreada en el conector pulsar para evitar conflictos de ruta de clase. Como resultado, los trabajos de Spark ya no pueden acceder a las clases desde el conector
org.bouncycastle.*. Si el código depende de Bouncy Castle, instale la biblioteca manualmente en el entorno sin servidor.Auto Loader usa eventos de archivo de forma predeterminada si está disponible: Auto Loader usa eventos de archivo en lugar de enumerar directorios cuando la ruta de acceso de carga es una ubicación externa con eventos de archivo habilitados. El valor predeterminado para
useManagedFileEventsahoraif_availablees (erafalse). Esto puede mejorar el rendimiento de la ingesta y registra una advertencia si los eventos de archivo aún no están habilitados.El conector de Teradata corrige la comparación de cadenas sensibles a mayúsculas y minúsculas: el conector de Teradata ahora se predetermina, alineando el comportamiento de comparación de cadenas con Azure Databricks
TMODE=ANSI, haciendo que sea sensible a mayúsculas y minúsculas. Este cambio es configurable y no afecta a los usuarios existentes a menos que opten por participar.
Versión 4 del entorno sin servidor
13 de agosto de 2025
La versión 4 del entorno ahora está disponible en los cuadernos y trabajos sin servidor. Esta versión del entorno incluye actualizaciones de biblioteca y actualizaciones de API. Consulte Serverless environment version 4 (Entorno sin servidor versión 4).
Versión 17.0
24 de julio de 2025
Esta versión de proceso sin servidor se corresponde aproximadamente con Databricks Runtime 17.0.
Nuevas características
Compatibilidad con procedimientos SQL: los scripts SQL ahora se pueden encapsular en un procedimiento almacenado como un recurso reutilizable en el catálogo de Unity. Puede crear un procedimiento mediante el comando CREATE PROCEDURE y, a continuación, llamarlo mediante el comando CALL .
Establecer una intercalación predeterminada para las Funciones SQL: Usar la nueva
DEFAULT COLLATIONcláusula en el CREATE FUNCTION comando define la intercalación predeterminada que se utiliza paraSTRINGlos parámetros, el tipo de valor devuelto ySTRINGlos literales en el cuerpo de la función.Compatibilidad con expresiones de tabla comunes recursivas (rCTE): Azure Databricks ahora admite la navegación de datos jerárquicos mediante expresiones de tabla comunes recursivas (rCTEs). Use un CTE de referencia automática con
UNION ALLpara seguir la relación recursiva.PySpark y Spark Connect ahora admiten dataframes
df.mergeIntoAPI: PySpark y Spark Connect ahora admiten ladf.mergeIntoAPI.Compatibilidad
ALL CATALOGSconSHOWSCHEMAS: laSHOW SCHEMASsintaxis se actualiza para aceptarALL CATALOGS, lo que le permite recorrer en iteración todos los catálogos activos que admiten espacios de nombres. Los atributos de salida ahora incluyen unacatalogcolumna que indica el catálogo del espacio de nombres correspondiente.La agrupación en clústeres líquidos ahora compacta los vectores de eliminación de forma más eficaz: las tablas delta con agrupación en clústeres líquidos ahora aplican cambios físicos de vectores de eliminación de forma más eficaz cuando
OPTIMIZEse ejecuta. Para obtener más información, consulte Aplicar cambios a archivos de datos Parquet.Permitir expresiones no deterministas en
UPDATE/INSERTvalores de columna paraMERGEoperaciones: Azure Databricks ahora permite el uso de expresiones no deterministas en valores de columna actualizados e insertados deMERGEoperaciones. Por ejemplo, ahora puede generar valores dinámicos o aleatorios para columnas mediante expresiones comorand().Cambio de las API de Python delta MERGE para devolver DataFrame en lugar de Unit: las API de Python
MERGE(comoDeltaMergeBuilder) ahora también devuelven un DataFrame como la API de SQL, con los mismos resultados.
Cambios de comportamiento
Cambio de comportamiento para la opción de lista de directorios incrementales del cargador automático: el valor de la opción Cargador
cloudFiles.useIncrementalListingautomático en desuso ahora está establecido en un valor predeterminado defalse. Como resultado, este cambio hace que el cargador automático realice una lista de directorios completa cada vez que se ejecute. Databricks recomienda no usar esta opción. En su lugar, use el modo de notificación de archivo con eventos de archivo.CREATE VIEWLas cláusulas de nivel de columna ahora producen errores cuando la cláusula solo se aplicaría a vistas materializadas:CREATE VIEWlos comandos que especifican una cláusula de nivel de columna que solo es válida paraMATERIALIZED VIEWs producen un error. Las cláusulas afectadas incluyenNOT NULL, tipos de datos especificados,DEFAULTyCOLUMN MASK.
Los objetivos de rendimiento sin servidor tienen disponibilidad general.
10 de junio de 2025
La selección de la configuración de rendimiento sin servidor para trabajos y canalizaciones ahora está disponible con carácter general.
Cuando la configuración optimizada para rendimiento está habilitada, la carga de trabajo está optimizada para un tiempo de inicio y ejecución más rápidos. Cuando está deshabilitada, la carga de trabajo sin servidor se ejecuta en modo de rendimiento estándar, que está optimizada para el costo y tiene una latencia de inicio ligeramente mayor.
Para obtener más información, vea Seleccionar un modo de rendimiento y Seleccionar un modo de rendimiento.
Versión 16.4
28 de mayo de 2025
Esta versión de proceso sin servidor se corresponde aproximadamente con Databricks Runtime 16.4 LTS.
Cambios de comportamiento
Corrección para respetar las opciones de los planes almacenados en caché del origen de datos: esta actualización garantiza que las lecturas de la tabla respeten las opciones establecidas para todos los planes de origen de datos cuando se almacenan en caché, no solo en la primera lectura de tabla almacenada en caché. Anteriormente, la tabla de orígenes de datos lee en caché el primer plan, pero no pudo tener en cuenta las distintas opciones de las consultas posteriores.
Active la marca para solicitar la materialización de origen para las operaciones MERGE: anteriormente los usuarios podían desactivar la materialización de origen en MERGE poniendo
merge.materializeSourceanone. Con la nueva bandera habilitada, la materialización de la fuente siempre será necesaria y los intentos de deshabilitarla producirán un error. Databricks planea habilitar esta marca solo para los clientes que no han cambiado previamente esta configuración, por lo que la mayoría de los usuarios no deben experimentar ningún cambio en el comportamiento.
Nuevas características
El cargador automático ahora puede limpiar los archivos procesados en el directorio de origen: ahora puede indicar al cargador automático que mueva o elimine automáticamente los archivos que se han procesado. Active esta funcionalidad mediante la opción
cloudFiles.cleanSourceAuto Loader. Consulte Opciones del cargador automático, encloudFiles.cleanSource.Compatibilidad con la ampliación de tipos agregada para el streaming desde tablas Delta: Esta versión agrega compatibilidad para hacer streaming desde una tabla Delta que tiene datos de columnas con tipos ampliados y para compartir una tabla Delta con la ampliación de tipos habilitada mediante Databricks-to-Databricks Delta Sharing. La característica de ampliación de tipos se encuentra actualmente en versión preliminar pública. Consulte Ampliación de tipos.
IDENTIFIER Compatibilidad ahora disponible en DBSQL para las operaciones de catálogo: ahora puede usar la
IDENTIFIERcláusula al realizar las siguientes operaciones de catálogo:CREATE CATALOGDROP CATALOGCOMMENT ON CATALOGALTER CATALOG
Esta nueva sintaxis permite especificar dinámicamente nombres de catálogo mediante parámetros definidos para estas operaciones, lo que permite flujos de trabajo sql más flexibles y reutilizables. Como ejemplo de la sintaxis, considere dónde
CREATE CATALOG IDENTIFIER(:param)paramse proporciona un parámetro para especificar un nombre de catálogo. Consulte la cláusula IDENTIFIER.Las expresiones intercaladas ahora proporcionan alias transitorios generados automáticamente: los alias generados automáticamente para las expresiones intercaladas ahora incorporan
COLLATEinformación deterministamente. Los alias generados automáticamente son transitorios (inestables) y no deben basarse en . En su lugar, como procedimiento recomendado, useexpression AS aliasde forma coherente y explícita.Agregar soporte de la API de aplicación de filtros a las fuentes de datos de Python: La computación sin servidor ahora admite la aplicación de filtros a la lectura por lotes de la fuente de datos de Python como una API, similar a la
SupportsPushDownFiltersinterfaz. Consulte las notas de lanzamiento de la versión 16.4 LTS.Mejora de la traza de UDF de Python: La mejora de la traza en los UDF de Python ahora incluye marcos tanto del controlador como del ejecutor, junto con los marcos del cliente, lo que da lugar a mejores mensajes de error que muestran detalles más amplios y relevantes (como el contenido de línea de los marcos dentro de un UDF).
UNION/EXCEPT/INTERSECT dentro de una vista y EXECUTE IMMEDIATE ahora devuelven resultados correctos: Consultas para definiciones de vistas temporales y persistentes con nivel
UNION/EXCEPT/INTERSECTsuperior y las columnas sin alias devolvieron previamente resultados incorrectos porqueUNION/EXCEPT/INTERSECTlas palabras clave se consideraron alias. Ahora esas consultas realizarán correctamente toda la operación de configuración.Guía de migración y configuración del plan de caché del origen de datos: leer desde una tabla de archivos fuente respetará apropiadamente las opciones de consulta (por ejemplo, delimitadores). Anteriormente, el primer plan de consulta se almacenaba en caché y se omiteban los cambios de opción posteriores. Para restaurar el comportamiento anterior, establezca
spark.sql.legacy.readFileSourceTableCacheIgnoreOptionsentrue.Nuevas
listaggystring_aggfunciones: A partir de esta actualización, puede usar las funcioneslistaggostring_aggpara agregar valoresSTRINGyBINARYdentro de un grupo. Consulte string_agg.
El modo de rendimiento ahora se puede configurar en trabajos sin servidor
14 de abril de 2025
Ahora puede seleccionar el modo de rendimiento de un trabajo sin servidor mediante la configuración optimizada para rendimiento en la página de detalles del trabajo. Anteriormente, todos los trabajos sin servidor estaban optimizados para el rendimiento. Ahora, puede deshabilitar la configuración optimizada para rendimiento para ejecutar la carga de trabajo en el modo de rendimiento estándar. El modo de rendimiento estándar está diseñado para reducir los costos en tareas donde es aceptable una latencia de inicio ligeramente mayor.
El modo de rendimiento estándar no se admite para canalizaciones continuas, ejecuciones únicas creadas mediante el runs/submit punto de conexión o tareas de trabajo de SQL Warehouse, incluidas las vistas materializadas.
Para obtener más información sobre el modo de rendimiento, consulte Seleccionar un modo de rendimiento.
Versión 16.3
9 de abril de 2025
Esta versión de proceso sin servidor se corresponde aproximadamente con Databricks Runtime 16.3.
Cambios de comportamiento
-
*Se ha mejorado el mensaje de error cuando
kafka.sasl.client.callback.handler.classse asigna un valor no válido: esta versión incluye un cambio para devolver un mensaje de error más descriptivo cuandokafka.sasl.client.callback.handler.classse asigna un valor no válido.
Nuevas características
La compatibilidad con lectores de estado tiene disponibilidad general: la compatibilidad con la lectura de información de estado para las consultas de Structured Streaming ahora está disponible con carácter general en el proceso sin servidor. Consulte Leer información de estado de Structured Streaming.
La degradación del protocolo de tabla delta está disponible con protección de puntos de comprobación:
DROP FEATUREestá disponible con carácter general para quitar las características de la tabla de Delta Lake y cambiar el protocolo de tabla. De manera predeterminada,DROP FEATUREahora crea puntos de control protegidos para una experiencia de degradación más optimizada y simplificada que no requiere ningún tiempo de espera o truncamiento del historial. Consulte Eliminar una característica de tabla de Delta Lake y degradar el protocolo de tabla.Escritura de scripts SQL de procedimientos basados en ANSI SQL/PSM (versión preliminar pública): ahora puede usar funcionalidades de scripting basadas en ANSI SQL/PSM para escribir lógica de procedimientos con SQL, incluidas instrucciones de flujo de control, variables locales y control de excepciones. Consulte Scripting de SQL.
Intercalación predeterminada de nivel de tabla y vista: ahora puede especificar una intercalación predeterminada para tablas y vistas. Esto simplifica la creación de tablas y vistas en las que todas o la mayoría de las columnas comparten la misma intercalación. Consulte Intercalación.
Nuevas funciones H3: se han agregado tres nuevas funciones H3: h3_try_coverash3, h3_try_coverash3string y h3_try_tessellateaswkb.
Modificar varias columnas de tabla en una ALTER TABLE instrucción: ahora puede modificar varias columnas en una sola
ALTER TABLEinstrucción. Ver ALTER TABLE ... COLUMN cláusula.
Versión 16.2
13 de marzo de 2025
Esta versión de proceso sin servidor se corresponde aproximadamente con Databricks Runtime 16.2.
Cambios de comportamiento
En Delta Sharing, el historial de tablas está habilitado de forma predeterminada: los recursos compartidos creados con el comando
ALTER SHARE <share> ADD TABLE <table>SQL ahora tienen habilitado el uso compartido de historial (WITH HISTORY) de forma predeterminada. Consulte ALTER SHARE.Las instrucciones SQL de credenciales devuelven un error cuando hay un error de coincidencia de tipo de credencial: ahora, si el tipo de credencial especificado en una instrucción SQL de administración de credenciales no coincide con el tipo del argumento de credencial, se devuelve un error y la instrucción no se ejecuta.
Nuevas características
Use las funciones
timestampdiffytimestampadden expresiones de columna generadas Ahora puede usar las funciones timestampdiff y timestampadd en expresiones de columna generadas de Delta Lake. Consulte Columnas generadas por Delta Lake.Actualizar a
DESCRIBE TABLEdevuelve metadatos como JSON estructurados: ahora puede usar el comandoDESCRIBE TABLE AS JSONpara devolver metadatos de tabla como un documento JSON. La salida JSON está más estructurada que el informe legible predeterminado y se puede usar para interpretar el esquema de una tabla mediante programación. Para más información, consulte DESCRIBE TABLE AS JSON.Intercalaciones que no distinguen espacios en blanco finales: ahora sin servidor admite intercalaciones que no distinguen espacios en blanco finales. Por ejemplo, estas clasificaciones tratan
'Hello'y'Hello 'como iguales. Para obtener más información, consulte Intercalación RTRIM.
Corrección de errores
-
Procesamiento incremental mejorado de clonación: esta versión incluye una corrección para un caso perimetral en el que un incremental
CLONEpodría volver a copiar archivos ya copiados de una tabla de origen a una tabla de destino. Consulte Clonación de una tabla en Azure Databricks.
Configuración de alta memoria disponible en cuadernos sin servidor (versión preliminar pública)
7 de febrero de 2025
Ahora puede configurar un tamaño de memoria mayor para las cargas de trabajo de cuadernos de proceso sin servidor. Esta configuración se puede aplicar a cargas de trabajo de cuadernos interactivas y programadas.
El uso sin servidor con memoria alta tiene una tasa de emisión de DBU mayor que la memoria estándar.
Para obtener más información, consulte Uso de un proceso sin servidor de memoria elevada.
Versión 16.1
5 de febrero de 2025
Esta versión de proceso sin servidor se corresponde aproximadamente con Databricks Runtime 16.0 y Databricks Runtime 16.1.
Nuevas características
-
Compatibilidad de Avro con el esquema recursivo: ahora puede usar la opción
recursiveFieldMaxDepthcon la funciónfrom_avroy el origen de datosavro. Esta opción establece la profundidad máxima para la recursividad del esquema en el origen de datos Avro. Consulte Lectura y escritura de datos de Avro en streaming. - Compatibilidad expandida para el Registro de Esquemas Confluent para Avro: Serverless ahora admite la referencia de esquema Avro con el Registro de Esquemas Confluent. Consulte Autenticación en un registro de esquema de Confluent externo.
-
Forzar la reagrupación en tablas con agrupación líquida en clústeres: Ahora puede usar la sintaxis de
OPTIMIZE FULLpara forzar la reagrupación de todos los registros de una tabla con habilitada la agrupación líquida en clústeres. Vea Reagrupación en clústeres forzada para todos los registros. - Las API de Delta para Python ahora admiten columnas de identidad: ahora puede usar las API de Delta para Python para crear tablas con columnas de identidad. Consulte Uso de columnas de identidad en Delta Lake.
-
Crear tablas en clúster líquido durante las escrituras de streaming: Ahora puede usar
clusterBypara habilitar la agrupación en clústeres líquidos al crear nuevas tablas con escrituras de Structured Streaming. Consulte Habilitación de clústeres líquidos. - Compatibilidad con la cláusula FULL de OPTIMIZE: Proceso sin servidor ahora admite la cláusula OPTIMIZEFULL. Esta cláusula optimiza todos los registros de una tabla que usa la agrupación en clústeres líquidos, incluidos los datos que podrían haberse agrupado previamente.
-
Compatibilidad con la especificación de opciones WITH en INSERT y referencia de tabla: el proceso sin servidor ahora admite una especificación de opciones para las referencias de tabla y los nombres de tabla de una instrucción
INSERTque se puede usar para controlar el comportamiento de los orígenes de datos. -
Nuevas funciones SQL: Las siguientes funciones SQL ahora están disponibles en proceso sin servidor:
- try_url_decode es una versión tolerante a errores de url_decode.
-
zeroifnull devuelve 0 si la expresión de entrada de la función
zeroifnull()esNULL. -
nullifzero devuelve
NULLsi la entrada es 0 o su entrada si no es 0. - dayname(expr) devuelve el acrónimo inglés de tres letras del día de la semana para la fecha especificada.
- uniform(expr1, expr2 [,seed]) devuelve un valor aleatorio con valores independientes y distribuidos de forma idéntica dentro del intervalo de números especificado.
-
randstr(length) devuelve una cadena aleatoria de
lengthcaracteres alfanuméricos.
-
Habilitar la evolución automática del esquema al combinar datos en una tabla Delta: Se ha añadido soporte para el miembro
withSchemaEvolution()de la claseDeltaMergeBuilder. UsewithSchemaEvolution()para habilitar la evolución automática del esquema durante las operaciones deMERGE. Por ejemplo,mergeBuilder.whenMatched(...).withSchemaEvolution().execute()}}. -
Compatibilidad con intercalaciones en Apache Spark está en versión preliminar pública: ahora puede asignar intercalaciones que no distinguen mayúsculas de minúsculas y de idioma a
STRINGcolumnas y expresiones. Estas intercalaciones se usan en comparaciones de cadenas, ordenación, operaciones de agrupación y muchas funciones de cadena. Consulte Intercalación. - Compatibilidad con intercalaciones en Delta Lake está en versión preliminar pública: ahora puede definir intercalaciones para columnas al crear o modificar una tabla Delta. Consulte Compatibilidad de las intercalaciones con Delta Lake.
-
LITEmodo de vacío está en versión preliminar pública: Ahora puede usarVACUUM table_name LITEpara realizar una operación de vacío de peso más ligero que aprovecha los metadatos en el registro de transacciones delta. Consulte Modo completo frente a modo ligero y VACUUM. -
Compatibilidad para parametrizar la cláusula
USE CATALOG with IDENTIFIER: ahora se admite la cláusula IDENTIFIER para la instrucción USE CATALOG. Con esta soporte, puede parametrizar el catálogo actual en función de una variable de cadena o un marcador de parámetro. - Compatibilidad de COMMENT ONCOLUMN con tablas y vistas: la instrucción COMMENT ON ahora admite la modificación de comentarios para las columnas de vista y tabla.
- Invocación de parámetros con nombre para más funciones: Las funciones siguientes admiten la invocación de parámetros con nombre:
-
El parámetro
SYNC METADATApara el comando REPAIR TABLE se admite con el metastore de Hive: ahora puede usar el parámetroSYNC METADATAcon el comandoREPAIR TABLEpara actualizar los metadatos de una tabla administrada del Metastore de Hive. Consulte REPAIR TABLE. -
Integridad de datos mejorada para lotes comprimidos de Apache Arrow: Para proteger aún más frente a los daños en los datos, cada lote de flecha comprimida
LZ4ahora incluye el contenido deLZ4y las sumas de comprobación de bloqueo. Consulte la descripción del formato de bloque LZ4 .
-
Controlador JDBC integrado de Oracle: Computación sin servidor ahora tiene el controlador JDBC de Oracle integrado. Si usa un JAR del controlador JDBC cargado por el usuario a través de
DriverManager, debe reescribir scripts para usar explícitamente el JAR personalizado. De lo contrario, se usa el controlador integrado. Este controlador solo es compatible con la Federación Lakehouse. Para otros casos de uso, debe proporcionar su propio controlador. -
Errores más detallados para las tablas Delta a las que se accede con rutas de acceso: ya está disponible una nueva experiencia de mensaje de error para las tablas Delta a las que se accede mediante rutas de acceso. Todas las excepciones se reenvían ahora al usuario. La excepción
DELTA_MISSING_DELTA_TABLEahora está reservada para cuando los archivos subyacentes no se pueden leer como una tabla Delta.
Cambios de comportamiento
- Cambio importante: RStudio hospedado ha llegado al fin de vida útil: Con esta versión, RStudio Server hospedado por Databricks ha llegado al fin de vida útil y no está disponible en ninguna área de trabajo de Azure Databricks que se ejecute en cómputo sin servidor. Para obtener más información y ver una lista de alternativas a RStudio, consulte Conexión a un servidor de RStudio hospedado en Databricks.
Cambio importante: eliminación de la compatibilidad con el cambio de tipo
byte,short,intylonga tipos más amplios: Para garantizar un comportamiento coherente en las tablas Delta y Apache Iceberg, los siguientes cambios de tipo de datos ya no se pueden aplicar a las tablas con la característica de ampliación de tipos habilitada.-
byte,short,intylongadecimal. -
byte,shortyintadouble.
-
Análisis correcto de patrones regex con negación en la agrupación de caracteres anidados: esta versión incluye un cambio para admitir el análisis correcto de patrones regex con negación en la agrupación de caracteres anidados. Por ejemplo,
[^[abc]]se analizará como "cualquier carácter que no sea uno de 'abc'".Además, el comportamiento de Photon no era coherente con Spark para las clases de caracteres anidadas. Los patrones regex que contienen clases de caracteres anidados ya no usarán Photon y, en su lugar, usarán Spark. Una clase de caracteres anidada es cualquier patrón que contenga corchetes cuadrados dentro de corchetes cuadrados, como
[[a-c][1-3]].Mejorar la detección de coincidencias duplicadas en Delta Lake
MERGE:MERGEahora considera las condiciones especificadas en la cláusulaWHEN MATCHED. Consulte Upsert en una tabla de Delta Lake mediante combinación.La funcionalidad de
addArtifact()ahora es coherente entre los tipos de proceso: cuando se usaaddArtifact(archive = True)para agregar una dependencia al proceso sin servidor, el archivo se desempaqueta automáticamente.
Corrección de errores
- Los desplazamientos de zona horaria ahora incluyen segundos cuando se serializan en CSV, JSON y XML: Las marcas de tiempo con desplazamientos de zona horaria que incluían segundos (comunes para las marcas de tiempo anteriores a 1900) omitían los segundos cuando se serializaban a CSV, JSON y XML. El formateador de marca de tiempo predeterminado se ha corregido y ahora devuelve los valores de desplazamiento correctos para estas marcas de tiempo.
Otros cambios
-
Se han renombrado los códigos de error para el origen de
cloudFilesStructured Streaming: Los siguientes códigos de error han sido renombrados:-
_LEGACY_ERROR_TEMP_DBR_0143se renombra aCF_INCORRECT_STREAM_USAGE. -
_LEGACY_ERROR_TEMP_DBR_0260se renombra aCF_INCORRECT_BATCH_USAGE.
-
Versión 15.4
28 de octubre de 2024
Esta versión de proceso sin servidor se corresponde aproximadamente con Databricks Runtime 15.4
Nuevas características
-
Funciones de validación UTF-8: esta versión presenta las siguientes funciones para validar cadenas UTF-8:
- is_valid_utf8 comprobó si una cadena es una cadena UTF-8 válida.
- make_valid_utf8 convierte una cadena UTF-8 potencialmente no válida en una cadena UTF-8 válida mediante caracteres de sustitución.
- validate_utf8 genera un error si la entrada no es una cadena UTF-8 válida.
-
try_validate_utf8 devuelve
NULLsi la entrada no es una cadena UTF-8 válida.
- Habilitar UniForm Iceberg con ALTER TABLE: Ahora puede habilitar UniForm Iceberg en tablas existentes sin volver a escribir archivos de datos. Consulte Habilitación de lecturas de Iceberg en una tabla existente.
-
try_url_decode función: esta versión presenta la función try_url_decode , que descodifica una cadena con codificación URL. Si la cadena no tiene el formato correcto, la función devuelve
NULLen lugar de generar un error. -
Opcionalmente, permita que el optimizador dependa de restricciones de clave externa no aplicadas: para mejorar el rendimiento de las consultas, ahora puede especificar la
RELYpalabra clave enFOREIGN KEYrestricciones al crear o MODIFICAR una tabla. -
Ejecuciones de trabajos en paralelo para sobrescrituras selectivas: Las sobrescrituras selectivas que utilizan
replaceWhereahora ejecutan trabajos que eliminan datos e insertan nuevos datos en paralelo, mejorando el rendimiento de las consultas y el aprovechamiento del clúster. -
Rendimiento mejorado para el feed de datos de cambios con sobrescrituras selectivas: las sobrescrituras selectivas que utilizan
replaceWhereen tablas con feed de datos de cambios ya no escriben archivos de datos de cambios separados para los datos insertados. Estas operaciones usan una columna oculta_change_typepresente en los archivos de datos Parquet subyacentes para registrar cambios sin amplificación de escritura. -
Latencia de consulta mejorada para el
COPY INTOcomando: esta versión incluye un cambio que mejora la latencia de consulta para elCOPY INTOcomando. Esta mejora se implementa haciendo asincrónica la carga de estado por parte del almacén de estados de RocksDB. Con este cambio, debería notar una mejora en los tiempos de inicio de las consultas con estados grandes, como las consultas con un gran número de archivos ya ingeridos. -
Compatibilidad con la eliminación de la función de restricciones de comprobación en tablas: ahora puede quitar la
checkConstraintsfunción de tabla de una tabla Delta medianteALTER TABLE table_name DROP FEATURE checkConstraints. Consulte Deshabilitación de las restricciones de comprobación.
Cambios de comportamiento
Cambio de asociación de esquema para vistas: Cuando los tipos de datos de la consulta subyacente de una vista cambian respecto a los usados cuando se creó la vista por primera vez, Databricks ya no genera errores en las referencias a la vista cuando no es posible realizar una conversión segura.
En su lugar, la vista compensa mediante reglas de conversión normales siempre que sea posible. Este cambio permite a Databricks tolerar cambios de esquema de tabla más fácilmente.
No permitir la aceptación de sintaxis no documentada
!fuera de la lógica booleanaNOT: Databricks ya no aceptará el uso de!como sinónimo deNOTfuera de la lógica booleana. Este cambio reduce la confusión, se alinea con el Estándar SQL y hace que SQL sea más portátil. Por ejemplo:CREATE ... IF ! EXISTS, IS ! NULL,! NULLpropiedad de columna o campo,! INy ! BETWEEN debe reemplazarse por:CREATE ... IF NOT EXISTS,IS NOT NULL,NOT NULLpropiedad de columna o campo,NOT INyNOT BETWEEN.El operador de prefijo booleano
!(por ejemplo!is_mgr, o!(true AND false)) no se ve afectado por este cambio.Rechazar partes no documentadas y no procesadas de la sintaxis de definición de columnas en vistas: Databricks admite CREATE VIEW con columnas con nombre y comentarios de columna.
La especificación de tipos de columnas, restricciones
NOT NULLoDEFAULTse ha tolerado en la sintaxis sin tener ningún efecto. Databricks quitará esta tolerancia de sintaxis. Si lo hace, se reduce la confusión, se alinea con el Estándar SQL y permite mejoras futuras.Control coherente de errores para la descodificación de Base64 en Spark y Photon: esta versión cambia cómo Photon controla los errores de descodificación de Base64 para que coincidan con el control de Spark de estos errores. Antes de estos cambios, la ruta de generación de código de Photon y Spark a veces no generaba excepciones de análisis sintáctico, mientras que la ejecución interpretada por Spark las levantaba correctamente
IllegalArgumentExceptionoConversionInvalidInputError. Esta actualización garantiza que Photon genere de forma coherente las mismas excepciones que Spark durante los errores de descodificación de Base64, lo que proporciona un control de errores más predecible y confiable.La acción de agregar una restricción en una columna no válida ahora devuelve la clase de error UNRESOLVED_COLUMN.WITH_SUGGESTION: Para proporcionar mensajes de error más útiles, en Databricks Runtime 15.3 y versiones posteriores, una instrucción que incluye una restricción que hace referencia a un nombre de columna no válido devuelve la clase de error UNRESOLVED_COLUMN.WITH_SUGGESTION. Anteriormente, se devolvía un
INTERNAL_ERROR.
El JDK se actualiza de JDK 8 a JDK 17
15 de agosto de 2024
El cálculo sin servidor para cuadernos y flujos de trabajo se ha migrado del Kit de desarrollo de Java (JDK) 8 a JDK 17 en el lado del servidor. Esta actualización incluye los siguientes cambios de comportamiento:
Análisis correcto de patrones regex con negación en la agrupación de caracteres anidados: con esta actualización, Azure Databricks ahora admite el análisis correcto de patrones regex con negación en la agrupación de caracteres anidados. Por ejemplo,
[^[abc]]se analizará como "cualquier carácter que no sea uno de 'abc'".Además, el comportamiento de Photon no era coherente con Spark para las clases de caracteres anidadas. Los patrones regex que contienen clases de caracteres anidados ya no usarán Photon y, en su lugar, usarán Spark. Una clase de caracteres anidada es cualquier patrón que contenga corchetes cuadrados dentro de corchetes cuadrados, como
[[a-c][1-3]].
Versión 15.1
23 de julio de 2024
Esta versión de proceso sin servidor se corresponde aproximadamente con Databricks Runtime 15.1
Nuevas características
Compatibilidad con la cláusula star (*) en la sintaxis WHERE: ahora puede usar la cláusula star (*) en la sintaxis WHERE para hacer referencia a todas las columnas de la lista de SELECT.
Por ejemplo, SELECT * FROM VALUES(1, 2) AS T(a1, a2) WHERE 1 IN(T.*).
Changes
Recuperación de errores mejorada para el análisis de JSON: el analizador de JSON usado para from_json() y las expresiones de ruta de acceso de JSON ahora se recuperan más rápido de una sintaxis con formato incorrecto, lo cual da lugar a una pérdida de datos inferior.
Al encontrar una sintaxis JSON con formato incorrecto en un campo de estructura, un valor de matriz, una clave de mapa o un valor de mapa, el analizador de JSON ahora devolverá NULL solo para el campo, la clave o el elemento no legibles. Los campos, claves o elementos posteriores se analizarán correctamente. Antes de este cambio, el analizador de JSON abandonaba el análisis de la matriz, la estructura o el mapa y devolvía NULL para el contenido restante.
Versión 14.3
15 de abril de 2024
Esta es la versión inicial de proceso sin servidor. Esta versión se corresponde aproximadamente con Databricks Runtime 14.3 con algunas modificaciones que quitan la compatibilidad con algunas características no sin servidor y heredadas.
Parámetros de configuración de Spark admitidos
Para automatizar la configuración de Spark en un proceso sin servidor, Azure Databricks ha quitado la compatibilidad para establecer manualmente la mayoría de las configuraciones de Spark. Para ver una lista de los parámetros de configuración de Spark admitidos, consulte Configuración de propiedades de Spark para cuadernos y trabajos sin servidor.
Las ejecuciones de tareas en computación serverless fallarán si establece una configuración de Spark no compatible.
Las funciones input_file están obsoletas.
Las funciones input_file_name(), input_file_block_length(), y input_file_block_start() han quedado en desuso. No se recomienda usar estas funciones.
En su lugar, use la columna de metadatos de archivo para recuperar información de metadatos de archivo.
Cambios de comportamiento
La versión de proceso sin servidor 2024.15 incluye los siguientes cambios de comportamiento:
-
Corrección de errores de unhex(hexStr): Cuando se usa la función
unhex(hexStr), hexStr siempre se rellena a un byte completo. Anteriormente, la función unhex omitió el primer byte medio. Por ejemplo:unhex('ABC')ahora generax'0ABC'en lugar dex'BC'. - Los alias de columna generados automáticamente ahora son estables: Cuando se hace referencia al resultado de una expresión sin un alias de columna especificado por el usuario, este alias generado automáticamente ahora será estable. El nuevo algoritmo puede dar lugar a un cambio en los nombres generados automáticamente previamente usados en características como las vistas materializadas.
-
Los recorridos de tablas con campos de tipo
CHARahora se rellenan siempre: tablas Delta, determinadas tablas JDBC y orígenes de datos externos almacenan datos CHAR en un formulario no rellenado. Al leer, Azure Databricks ahora rellenará los datos con espacios a la longitud declarada para garantizar la semántica correcta. -
Las conversiones de BIGINT/DECIMAL a TIMESTAMP producen una excepción para los valores desbordados: Azure Databricks permite la conversión de BIGINT y DECIMAL a TIMESTAMP mediante el tratamiento del valor como el número de segundos de la época de Unix. Anteriormente, Azure Databricks devolvería valores desbordados, pero ahora produce una excepción en casos de desbordamiento. Use
try_castpara devolver NULL en lugar de una excepción. -
Se ha mejorado la ejecución de UDF de PySpark para que coincida con el comportamiento exacto de la ejecución de UDF en el proceso dedicado: Se han realizado los siguientes cambios:
- Las UDF con un tipo de valor devuelto de cadena ya no convierten implícitamente valores que no son de cadena en cadenas. Anteriormente, las UDF con un tipo devuelto
straplicarían un contenedorstr(..)al resultado independientemente del tipo de datos real del valor devuelto. - Las UDF con tipos
timestampdevueltos ya no aplican implícitamente una conversión de zona horaria a las marcas de tiempo.
- Las UDF con un tipo de valor devuelto de cadena ya no convierten implícitamente valores que no son de cadena en cadenas. Anteriormente, las UDF con un tipo devuelto