Compartir a través de


Notas de la versión de proceso sin servidor

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 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 ALL clá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_dump compatibilidad con funciones: ahora puede usar la st_dump función para descomponer un objeto geométrico en sus componentes elementales y obtener un conjunto de geometrías más sencillas. Consulte la st_dump funció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 la st_numinteriorrings función.
    • st_interiorringn: extraiga el límite interno n-ésimo de un polígono y lo devuelva como una cadena de líneas. Consulte la st_interiorringn función.
  • EXECUTE IMMEDIATE uso de expresiones constantes: la EXECUTE IMMEDIATE instrucció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.maxPartitionBytes en la computación sin servidor: ahora puede configurar el spark.sql.files.maxPartitionBytes pará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 JSON comando 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 QUERY comandos y DESCRIBE TABLE ahora 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-auth biblioteca 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_ExteriorRing ahora se admite la función: ahora puede usar la ST_ExteriorRing función para extraer el límite exterior de un polígono y devolverlo como una cadena de líneas. Consulte la st_exteriorring función.

  • Palabra clave de soporte TEMPORARY para la creación de vistas de métricas: ahora puede usar la TEMPORARY palabra 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.getFileStatus en S3: LokiFileSystem.getFileStatus ahora utiliza la pila de E/S nativa para el tráfico de Amazon S3 y devuelve objetos org.apache.hadoop.fs.FileStatus en lugar de shaded.databricks.org.apache.hadoop.fs.s3a.S3AFileStatus.

  • El Cargador Automático deduce las columnas de partición en singleVariantColumn modo: 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ón singleVariantColumn. Anteriormente, las columnas de partición no se detectaron automáticamente. Consulte Opciones del cargador automático.

Cambios de comportamiento

  • DESCRIBE CONNECTION muestra la configuración del entorno para las conexiones JDBC: Azure Databricks ahora incluye la configuración de entorno definida por el usuario en la DESCRIBE CONNECTION salida 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 split con regex vacío y límite positivo: Azure Databricks ahora devuelve resultados correctos cuando se usa split function con 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_decode y try_url_decode en Photon: En Photon, try_url_decode() y url_decode() ahora devuelven failOnError = false para 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 ISOLATION para 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álidasCHECK: Azure Databricks ahora produce una AnalysisException excepción si no se puede resolver una expresión de restricción durante la CHECK validació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 org.bouncycastle.* las clases desde el conector. 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 useManagedFileEvents ahora if_available es (era false). 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 que distingue mayúsculas de minúsculas: el conector de Teradata ahora tiene como valor predeterminado , alineando el comportamiento de comparación de cadenas con Azure Databricks, lo que hace que distingue mayúsculas TMODE=ANSIde 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 COLLATION cláusula en el CREATE FUNCTION comando define la intercalación predeterminada que se utiliza para STRING los parámetros, el tipo de valor devuelto y STRING los 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 ALL para seguir la relación recursiva.

  • PySpark y Spark Connect ahora admiten dataframes df.mergeInto API: PySpark y Spark Connect ahora admiten la df.mergeInto API.

  • Compatibilidad ALL CATALOGS con SHOW SCHEMAS: la SHOW SCHEMAS sintaxis se actualiza para aceptar ALL 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 una catalog columna 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 OPTIMIZE se ejecuta. Para obtener más información, consulte Aplicar cambios a archivos de datos Parquet.

  • Permitir expresiones no deterministas en UPDATE/INSERT valores de columna para MERGE operaciones: Azure Databricks ahora permite el uso de expresiones no deterministas en valores de columna actualizados e insertados de MERGE operaciones. Por ejemplo, ahora puede generar valores dinámicos o aleatorios para columnas mediante expresiones como rand().

  • Cambio de las API de Python delta MERGE para devolver DataFrame en lugar de Unit: las API de Python MERGE (como DeltaMergeBuilder) 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.useIncrementalListing automático en desuso ahora está establecido en un valor predeterminado de false. 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 VIEW Las cláusulas de nivel de columna ahora producen errores cuando la cláusula solo se aplicaría a vistas materializadas: CREATE VIEW los comandos que especifican una cláusula de nivel de columna que solo es válida para MATERIALIZED VIEWs producen un error. Las cláusulas afectadas incluyen NOT NULL, tipos de datos especificados, DEFAULTy COLUMN 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.materializeSource a none. 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.cleanSource Auto Loader. Consulte Opciones del cargador automático, en cloudFiles.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 IDENTIFIER cláusula al realizar las siguientes operaciones de catálogo:

    • CREATE CATALOG
    • DROP CATALOG
    • COMMENT ON CATALOG
    • ALTER 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)param se 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 COLLATE información deterministamente. Los alias generados automáticamente son transitorios (inestables) y no deben basarse en . En su lugar, como procedimiento recomendado, use expression AS alias de 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 SupportsPushDownFilters interfaz. 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 porque UNION/EXCEPT/INTERSECT las 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.readFileSourceTableCacheIgnoreOptions en true.

  • Nuevas listagg y string_agg funciones: A partir de esta actualización, puede usar las funciones listagg o string_agg para agregar valores STRING y BINARY dentro 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.class se asigna un valor no válido: esta versión incluye un cambio para devolver un mensaje de error más descriptivo cuando kafka.sasl.client.callback.handler.class se 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 FEATURE está 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 FEATURE ahora 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 TABLE instrucció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 timestampdiff y timestampadd en 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 TABLE devuelve metadatos como JSON estructurados: ahora puede usar el comando DESCRIBE TABLE AS JSON para 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 CLONE podrí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 recursiveFieldMaxDepth con la función from_avro y el origen de datos avro. 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 FULL para 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 clusterBy para 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 INSERT que 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() es NULL.
    • nullifzero devuelve NULL si 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 length caracteres 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 clase DeltaMergeBuilder. Use withSchemaEvolution() para habilitar la evolución automática del esquema durante las operaciones de MERGE. 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 STRING columnas 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.
  • LITE modo de vacío está en versión preliminar pública: Ahora puede usar VACUUM table_name LITE para 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 METADATA para el comando REPAIR TABLE se admite con el metastore de Hive: ahora puede usar el parámetro SYNC METADATA con el comando REPAIR TABLE para 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 LZ4 ahora incluye el contenido de LZ4 y 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_TABLE ahora 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, int y long a 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, int y long a decimal.
    • byte, shorty int a double.
  • 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:MERGE ahora considera las condiciones especificadas en la cláusula WHEN 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 usa addArtifact(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 cloudFiles Structured Streaming: Los siguientes códigos de error han sido renombrados:
    • _LEGACY_ERROR_TEMP_DBR_0143 se renombra a CF_INCORRECT_STREAM_USAGE.
    • _LEGACY_ERROR_TEMP_DBR_0260 se renombra a CF_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 NULL si 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 NULL en 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 RELY palabra clave en FOREIGN KEY restricciones al crear o MODIFICAR una tabla.
  • Ejecuciones de trabajos en paralelo para sobrescrituras selectivas: Las sobrescrituras selectivas que utilizan replaceWhere ahora 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 replaceWhere en 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_type presente en los archivos de datos Parquet subyacentes para registrar cambios sin amplificación de escritura.
  • Latencia de consulta mejorada para el COPY INTO comando: esta versión incluye un cambio que mejora la latencia de consulta para el COPY INTO comando. 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 checkConstraints función de tabla de una tabla Delta mediante ALTER 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 booleana NOT: Databricks ya no aceptará el uso de ! como sinónimo de NOT fuera 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, ! NULL propiedad de columna o campo, ! IN y ! BETWEEN debe reemplazarse por:

    CREATE ... IF NOT EXISTS, IS NOT NULL, NOT NULL propiedad de columna o campo, NOT IN y NOT 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 NULL o DEFAULT se 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 IllegalArgumentException o ConversionInvalidInputError. 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 genera x'0ABC' en lugar de x'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 CHAR ahora 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_cast para 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 str aplicarían un contenedor str(..) al resultado independientemente del tipo de datos real del valor devuelto.
    • Las UDF con tipos timestamp devueltos ya no aplican implícitamente una conversión de zona horaria a las marcas de tiempo.