Condividi tramite


Note di rilascio per compute senza server

Questo articolo illustra le funzionalità e i comportamenti attualmente disponibili e futuri nell'ambiente di calcolo serverless per notebook e processi.

Per altre informazioni sugli ambienti di calcolo serverless, vedere Connessione a un ambiente di calcolo serverless.

Azure Databricks rilascia periodicamente gli aggiornamenti al calcolo serverless, aggiornando automaticamente il runtime di calcolo serverless per supportare miglioramenti e aggiornamenti alla piattaforma. Tutti gli utenti ottengono gli stessi aggiornamenti, distribuiti in un breve periodo di tempo.

versioni di ambiente serverless

Il calcolo serverless per notebook e lavori utilizza versioni di ambiente, che forniscono un'API client stabile basata su Spark Connect per garantire la compatibilità dell'applicazione. Questo consente a Databricks di aggiornare il server in modo indipendente, migliorando le prestazioni, potenziando la sicurezza e correggendo errori, senza richiedere modifiche al codice dei carichi di lavoro.

Ogni versione dell'ambiente include una versione specifica di Python e un insieme di pacchetti Python con versioni definite. Databricks introduce nuove funzionalità e correzioni nell'ultima versione dell'ambiente, applicando aggiornamenti di sicurezza a tutte le versioni supportate dell'ambiente.

Per le note sulle versioni dell'ambiente serverless, vedere Versioni dell'ambiente serverless.

Note di rilascio

Questa sezione include le note di rilascio per l'elaborazione senza server. Le note di rilascio sono organizzate per anno e settimana dell'anno. Il calcolo serverless viene sempre eseguito usando la versione rilasciata più di recente elencata qui.

Gli obiettivi di prestazioni serverless sono disponibili a livello generale

10 giugno 2025

L'impostazione delle prestazioni in modalità serverless per i processi e le pipeline è ora disponibile a livello generale.

Quando l'impostazione Ottimizzazione prestazioni è abilitata, il carico di lavoro è ottimizzato per tempi di avvio e esecuzione più veloci. Se disabilitato, il carico di lavoro serverless viene eseguito in modalità prestazioni standard, ottimizzata per i costi e con una latenza di avvio leggermente superiore.

Per altre informazioni, vedere Selezionare una modalità prestazioni e Selezionare una modalità prestazioni.

Versione 16.4

28 maggio 2025

Questa versione di calcolo serverless corrisponde approssimativamente a Databricks Runtime 16.4 LTS.

Modifiche del comportamento

  • Correzione per rispettare le opzioni per i piani memorizzati nella cache dell'origine dati: questo aggiornamento garantisce che le letture delle tabelle rispettino le opzioni impostate per tutti i piani dell'origine dati quando vengono memorizzate nella cache, non solo la prima tabella memorizzata nella cache. In precedenza, la tabella dell'origine dati leggeva il primo piano, ma non riusciva a tenere conto delle diverse opzioni nelle query successive.

  • Abilitare il flag per richiedere la materializzazione della sorgente per le operazioni MERGE: in precedenza, gli utenti potevano disattivare la materializzazione della sorgente in MERGE impostando merge.materializeSource su none. Con il nuovo flag abilitato, la materializzazione di origine sarà sempre necessaria e i tentativi di disabilitarlo genereranno un errore. Databricks prevede di abilitare questo flag solo per i clienti che non hanno modificato questa configurazione in precedenza, quindi la maggior parte degli utenti non dovrebbe sperimentare alcuna modifica del comportamento.

Nuove funzionalità

  • Il caricatore automatico può ora pulire i file elaborati nella directory di origine: è ora possibile indicare al caricatore automatico di spostare o eliminare automaticamente i file elaborati. Acconsentire esplicitamente a questa funzionalità usando l'opzione cloudFiles.cleanSource Auto Loader. Vedere Opzioni del caricatore automatico in cloudFiles.cleanSource.

  • Supporto per l'ampliamento dei tipi aggiunto per lo streaming da tabelle Delta: questa versione aggiunge il supporto per lo streaming da una tabella Delta con dati di colonna con tipo esteso e per la condivisione di una tabella Delta con l'estensione del tipo abilitata tramite la condivisione delta di Databricks a Databricks. La funzionalità di ampliamento del tipo è attualmente disponibile in anteprima pubblica. Vedere Estensione del tipo.

  • IDENTIFIER supporto ora disponibile in DBSQL per le operazioni del catalogo: è ora possibile usare la IDENTIFIER clausola quando si eseguono le operazioni di catalogo seguenti:

    • CREATE CATALOG
    • DROP CATALOG
    • COMMENT ON CATALOG
    • ALTER CATALOG

    Questa nuova sintassi consente di specificare in modo dinamico i nomi di catalogo usando i parametri definiti per queste operazioni, abilitando flussi di lavoro SQL più flessibili e riutilizzabili. Come esempio della sintassi, considerare CREATE CATALOG IDENTIFIER(:param) dove param è un parametro fornito per specificare un nome di catalogo. Vedere la clausola IDENTIFIER.

  • Le espressioni collate ora forniscono alias temporanei generati automaticamente: gli alias generati automaticamente per le espressioni collate ora incorporano COLLATE in modo deterministico le informazioni. Gli alias generati automaticamente sono temporanei (instabili) e non bisogna farvi affidamento. In alternativa, come procedura consigliata, usare expression AS alias in modo coerente e esplicito.

  • Aggiungere il supporto API per il pushdown dei filtri alle sorgenti dati Python: Il calcolo serverless ora supporta il pushdown dei filtri nella lettura batch delle sorgenti dati Python come un'API, simile all'interfaccia SupportsPushDownFilters. Vedere le note sulla versione 16.4 LTS.

  • Miglioramento del traceback di Python UDF: Il traceback della funzione definita dall'utente in Python ora include i frame sia del driver sia dell'executor, oltre ai frame del client, migliorando i messaggi di errore e mostrando dettagli più completi e pertinenti, come il contenuto delle righe dei frame all'interno di una UDF.

  • UNION/EXCEPT/INTERSECT all'interno di una visualizzazione e EXECUTE IMMEDIATE ora restituiscono risultati corretti: query per definizioni di visualizzazione temporanea e persistente con livello UNION/EXCEPT/INTERSECTsuperiore e le colonne senza alias hanno restituito in precedenza risultati non corretti perché UNION/EXCEPT/INTERSECT le parole chiave sono state considerate alias. Ora queste query eseguiranno correttamente l'intera operazione di set.

  • Guida alla migrazione e alla configurazione del piano della cache dell'origine dati: la lettura da una tabella di origine file rispetterà correttamente le opzioni di query (ad esempio, i delimitatori). In precedenza, il primo piano di query veniva memorizzato nella cache e le successive modifiche alle opzioni ignorate. Per ripristinare il comportamento precedente, impostare spark.sql.legacy.readFileSourceTableCacheIgnoreOptions su true.

  • Nuove funzioni listagg e string_agg: A partire da questa versione, è possibile utilizzare le funzioni listagg o string_agg per aggregare i valori STRING e BINARY all'interno di un gruppo. Vedere string_agg.

La modalità prestazioni è ora configurabile nei processi serverless

14 aprile 2025

È ora possibile selezionare la modalità prestazioni di un processo serverless usando l'impostazione Prestazioni ottimizzate nella pagina dei dettagli del processo. In precedenza, tutti i processi serverless erano ottimizzati per le prestazioni. A questo punto, è possibile disabilitare l'impostazione Prestazioni ottimizzate per eseguire il carico di lavoro in modalità prestazioni standard. La modalità di prestazione standard è progettata per ridurre i costi nei carichi di lavoro in cui è accettabile una latenza di avvio leggermente superiore.

La modalità di prestazioni standard non è supportata per le pipeline continue, le esecuzioni monouso create usando l'endpoint runs/submit o le attività del processo di SQL Warehouse, incluse le viste materializzate.

Per altre informazioni sulla modalità prestazioni, vedere Selezionare una modalità di prestazioni.

Versione 16.3

9 aprile 2025

Questa versione di calcolo serverless corrisponde approssimativamente a Databricks Runtime 16.3.

Modifiche del comportamento

  • *Messaggio di errore migliorato quando kafka.sasl.client.callback.handler.class viene assegnato un valore non valido: questa versione include una modifica per restituire un messaggio di errore più descrittivo quando kafka.sasl.client.callback.handler.class viene assegnato un valore non valido.

Nuove funzionalità

  • Il supporto del lettore di stato è disponibile a livello generale: il supporto per la lettura delle informazioni sullo stato per le query structured streaming è ora disponibile a livello generale nel calcolo serverless. Vedi Leggi le informazioni sullo stato di Structured Streaming.

  • Il downgrade del protocollo di tabella Delta è disponibile a livello generale con protezione checkpoint: DROP FEATURE è disponibile a livello generale per rimuovere le funzionalità della tabella Delta Lake e effettuare il downgrade del protocollo di tabella. Per impostazione predefinita, DROP FEATURE ora crea checkpoint protetti per un'esperienza di downgrade più ottimizzata e semplificata che non richiede alcun tempo di attesa o troncamento della cronologia. Vedere Eliminare una funzionalità di tabella Delta Lake e effettuare il downgrade del protocollo di tabella.

  • Scrivere script SQL procedurali basati su SQL/PSM ANSI (anteprima pubblica): è ora possibile usare funzionalità di scripting basate su SQL/PSM ANSI per scrivere logica procedurale con SQL, incluse istruzioni del flusso di controllo, variabili locali e gestione delle eccezioni. Consulta Scripting SQL.

  • Regole di confronto predefinite a livello di tabella e vista: è ora possibile specificare regole di confronto predefinite per tabelle e viste. Ciò semplifica la creazione di tabelle e viste in cui tutte o la maggior parte delle colonne condividono le stesse regole di confronto. Vedi regole di confronto.

  • Nuove funzioni H3: sono state aggiunte tre nuove funzioni H3: h3_try_coverash3, h3_try_coverash3string e h3_try_tessellateaswkb.

  • Modificare più colonne di tabella in un'istruzioneALTER TABLE: è ora possibile modificare più colonne in una singola ALTER TABLE istruzione. Vedere ALTER TABLE la clausola ... COLUMN.

Versione 16.2

13 marzo 2025

Questa versione di calcolo serverless corrisponde approssimativamente a Databricks Runtime 16.2.

Modifiche del comportamento

  • In Delta Sharing, la cronologia delle tabelle è abilitata per impostazione predefinita: le condivisioni create con il comando SQL ALTER SHARE <share> ADD TABLE <table> ora hanno la condivisione della cronologia (WITH HISTORY) abilitata per impostazione predefinita. Vedi ALTER SHARE.

  • Le istruzioni SQL delle credenziali restituiscono un errore quando si verifica una mancata corrispondenza del tipo di credenziale: a questo punto, se il tipo di credenziale specificato in un'istruzione SQL di gestione delle credenziali non corrisponde al tipo dell'argomento credenziale, viene restituito un errore e l'istruzione non viene eseguita.

Nuove funzionalità

  • Usare il timestampdiff & timestampadd nelle espressioni di colonna generate È ora possibile usare le funzioni timestampdiff e timestampadd nelle espressioni di colonna generate in Delta Lake. Consulta Colonne generate da Delta Lake.

  • Aggiornamento a DESCRIBE TABLE restituisce metadata come JSON strutturato: è ora possibile usare il comando DESCRIBE TABLE AS JSON per restituire i metadata della tabella come documento JSON. L'output JSON è più strutturato del report leggibile predefinito e può essere usato per interpretare lo schema di una tabella a livello di codice. Per altre informazioni, vedere DESCRIBE TABLE AS JSON.

  • Regole di confronto insensibili agli spazi finali: Serverless supporta ora le regole di confronto insensibili agli spazi finali. Ad esempio, queste regole di confronto considerano 'Hello' e 'Hello ' come uguali. Per altre informazioni, vedere regole di confronto RTRIM.

Correzioni di bug

  • Miglioramento dell'elaborazione incrementale dei cloni: questa versione include una correzione per un caso perimetrale in cui un CLONE incrementale potrebbe copiare nuovamente i file già copiati da una tabella di origine a una tabella di destinazione. Per ulteriori informazioni, vedi Clonare una tabella in Azure Databricks.

Impostazione di memoria elevata disponibile nei notebook serverless (anteprima pubblica)

7 febbraio 2025

È ora possibile configurare una dimensione di memoria superiore per i carichi di lavoro del notebook di calcolo serverless. Questa impostazione può essere applicata ai carichi di lavoro dei notebook interattivi e pianificati.

L'utilizzo serverless con memoria elevata ha una velocità di emissione DBU superiore rispetto alla memoria standard.

Per altre informazioni, vedere Utilizzare calcolo serverless con memoria elevata.

Versione 16.1

5 febbraio 2025

Questa versione di calcolo serverless corrisponde approssimativamente a Databricks Runtime 16.0 e Databricks Runtime 16.1.

Nuove funzionalità

  • Supporto Avro per lo schema ricorsivo: È ora possibile usare l'opzione recursiveFieldMaxDepth con la funzione from_avro e l'origine dati avro. Questa opzione imposta la profondità massima per la ricorsione dello schema nell'origine dati Avro. Vedere Leggere e scrivere dati Avro in streaming.
  • Supporto esteso per il Confluent Schema Registry per Avro: Ora Serverless supporta il riferimento allo schema Avro con il Confluent Schema Registry. Vedere Eseguire l'autenticazione in un registro dello schema confluente esterno.
  • Forzare il clustering su tabelle con clustering liquido: È ora possibile usare la sintassi di OPTIMIZE FULL per forzare il clustering di tutti i record in una tabella con clustering liquido abilitato. Consultare Force reclustering per tutti i record.
  • le API Delta per Python supportano ora le colonne Identity: è ora possibile usare le API Delta per Python per creare tabelle con colonne Identity. Vedi Usa colonne identità in Delta Lake.
  • Creare tabelle cluster liquide durante le scritture in streaming: È ora possibile usare clusterBy per abilitare il clustering liquido durante la creazione di nuove tabelle con le scritture di streaming strutturato. Vedere Abilitare il clustering liquido.
  • Supporto per la clausola FULL OPTIMIZE: il calcolo serverless supporta ora la clausola . Questa clausola ottimizza tutti i record di una tabella che usa clustering liquido, inclusi i dati che potrebbero essere stati raggruppati in precedenza.
  • Supporto per la specifica delle opzioni WITH in INSERT e riferimento a tabelle: il calcolo serverless ora supporta una specifica delle opzioni per i riferimenti e i nomi di tabella di un'istruzione INSERT che può essere usata per controllare il comportamento delle origini dati.
  • Nuove funzioni SQL: Le funzioni SQL seguenti sono ora disponibili nel calcolo serverless:
    • try_url_decode è una versione a tolleranza di errore di url_decode.
    • zeroifnull restituisce 0 se l'espressione di input alla funzione zeroifnull() è NULL.
    • nullifzero restituisce NULL se l'input è 0 oppure l'input stesso se non è 0.
    • dayname(expr) restituisce la sigla inglese di tre lettere per il giorno della settimana per la data specificata.
    • uniform(expr1, expr2 [,seed]) restituisce un valore casuale con valori indipendenti e distribuiti in modo identico all'interno dell'intervallo di numeri specificato.
    • randstr(length) restituisce una stringa casuale di length caratteri alfanumerici.
  • Abilitare l'evoluzione automatica dello schema durante l'unione dei dati in una tabella Delta: è stato aggiunto il supporto per il membro withSchemaEvolution() della classe DeltaMergeBuilder. Usare withSchemaEvolution() per abilitare l'evoluzione automatica dello schema durante le operazioni di MERGE. Ad esempio: mergeBuilder.whenMatched(...).withSchemaEvolution().execute()}}.
  • Il supporto per le regole di confronto in Apache Spark è disponibile in anteprima pubblica: è ora possibile assegnare regole di confronto sensibili al linguaggio, senza distinzione tra maiuscole e minuscole e indipendenti dall'accesso a colonne ed espressioni . Queste collazioni vengono usate nei confronti di stringhe, nell'ordinamento, nelle operazioni di raggruppamento e in molte funzioni sulle stringhe. Vedi regole di confronto.
  • supporto per le regole di confronto in Delta Lake è disponibile in anteprima pubblica: è ora possibile definire regole di confronto per le colonne durante la creazione o la modifica di una tabella Delta. Consultare Supporto delle regole di confronto per Delta Lake.
  • LITE modalità vacuum è disponibile in anteprima pubblica: è ora possibile usare VACUUM table_name LITE per eseguire un'operazione vacuum più leggera che sfrutta i metadati nel registro delle transazioni Delta. Vedi modalità completa vs. leggera e VACUUM.
  • Supporto per la parametrizzazione della clausola USE CATALOG with IDENTIFIER: La clausola IDENTIFIER è ora supportata per l'istruzione USE CATALOG. Con questo supporto, è possibile parametrizzare il catalogo corrente in base a una variabile stringa o a un marcatore di parametro.
  • COMMENT ON COLUMN supporto per tabelle e viste: L'istruzione COMMENT ON supporta ora la modifica dei commenti per le colonne di visualizzazione e tabella.
  • chiamata di parametri denominati per altre funzioni: Le funzioni seguenti supportano chiamata di parametri denominati:
  • Il parametro SYNC METADATA al comando REPAIR TABLE è supportato con il metastore Hive: È ora possibile usare il parametro SYNC METADATA con il comando REPAIR TABLE per aggiornare i metadati di una tabella gestita da metastore Hive. Vedi REPAIR TABLE.
  • Integrità avanzata dei dati per i batch Apache Arrow compressi: Per proteggere ulteriormente dalla corruzione dei dati, ogni batch Arrow compresso LZ4 include ora i checksum del contenuto e di blocco LZ4. Consultare Descrizione formato frame LZ4.
  • Driver JDBC Oracle integrato: Il calcolo serverless ha ora il Driver JDBC Oracle integrato. Se si usa un file JAR del driver JDBC caricato dal cliente tramite DriverManager, è necessario riscrivere gli script per usare in modo esplicito il file JAR personalizzato. In caso contrario, viene usato il driver integrato. Questo driver supporta solo la federazione Lakehouse. Per altri casi d'uso, devi fornire il tuo driver.
  • errori più dettagliati per le tabelle Delta a cui si accede con i percorsi: È ora disponibile una nuova esperienza di messaggio di errore per le tabelle Delta a cui si accede usando i percorsi. Tutte le eccezioni vengono ora inoltrate all'utente. L'eccezione DELTA_MISSING_DELTA_TABLE è ora riservata quando i file sottostanti non possono essere letti come tabella Delta.

Modifiche del comportamento

  • Modifica di rilievo: L'RStudio ospitato è giunto a fine vita: Con questa versione, il server RStudio ospitato da Databricks è giunto a fine vita e non è disponibile in alcuna area di lavoro di Azure Databricks che utilizza il calcolo serverless. Per ulteriori informazioni e per consultare un elenco di alternative a RStudio, vedere l'annullamento della disponibilità del server RStudio ospitato.

  • Modifica che causa un'interruzione: rimozione del supporto per la modifica di tipi byte, short, int e long in tipi più ampi: Per garantire un comportamento coerente tra le tabelle Delta e Apache Iceberg, le seguenti modifiche ai tipi di dati non possono più essere applicate alle tabelle con la funzionalità di ampliamento del tipo abilitata.

    • byte, short, int e long in decimal.
    • byte, short e int in double.
  • Analisi corretta dei modelli regex con negazione nel raggruppamento di caratteri annidati: Questa versione include una modifica per supportare l'analisi corretta dei modelli regex con negazione nel raggruppamento di caratteri annidati. Ad esempio, [^[abc]] verrà analizzato come "qualsiasi carattere che non sia uno di 'abc'".

    Inoltre, il comportamento photon non era coerente con Spark per le classi di caratteri annidate. I modelli regex contenenti classi di caratteri annidati non useranno più Photon e useranno invece Spark. Una classe di caratteri annidata è qualsiasi motivo contenente parentesi quadre tra parentesi quadre, ad esempio [[a-c][1-3]].

  • Migliorare il rilevamento delle corrispondenze duplicate in Delta Lake MERGE:MERGE ora considera le condizioni specificate nella clausola WHEN MATCHED. Consulta Upsert in una tabella Delta Lake utilizzando la funzionalità merge.

  • La funzionalità di addArtifact() è ora coerente tra i tipi di calcolo: Quando si usa addArtifact(archive = True) per aggiungere una dipendenza al calcolo serverless, l'archivio viene decompresso automaticamente.

Correzioni di bug

  • gli offset del fuso orario includono ora secondi quando serializzati in CSV, JSON e XML: Timestamp con offset di fuso orario che includono secondi (comuni per i timestamp precedenti al 1900) omettevano i secondi durante la serializzazione in CSV, JSON e XML. Il formattatore timestamp predefinito è stato corretto e ora restituisce i valori di offset corretti per questi timestamp.

Altre modifiche

  • Codici di errore rinominati per l'origine di streaming strutturato cloudFiles: I seguenti codici di errore sono stati rinominati:
    • _LEGACY_ERROR_TEMP_DBR_0143 viene rinominato in CF_INCORRECT_STREAM_USAGE.
    • _LEGACY_ERROR_TEMP_DBR_0260 viene rinominato in CF_INCORRECT_BATCH_USAGE .

Versione 15.4

28 ottobre 2024

Questa versione di calcolo serverless corrisponde approssimativamente a Databricks Runtime 15.4

Nuove funzionalità

  • Funzioni di convalida UTF-8: questa versione introduce le funzioni seguenti per la convalida delle stringhe UTF-8:
    • is_valid_utf8 verifica se una stringa è una stringa UTF-8 valida.
    • make_valid_utf8 converte una stringa UTF-8 potenzialmente non valida in una stringa UTF-8 valida usando caratteri di sostituzione.
    • validate_utf8 genera un errore se l'input non è una stringa UTF-8 valida.
    • try_validate_utf8 restituisce NULL se l'input non è una stringa UTF-8 valida.
  • Abilita UniForm Iceberg utilizzando ALTER TABLE: Ora puoi abilitare UniForm Iceberg su tabelle esistenti senza riscrivere i file di dati. Vedere Abilitare le letture di Iceberg in una tabella esistente.
  • try_url_decode funzione: questa versione introduce la funzione try_url_decode , che decodifica una stringa con codifica URL. Se la stringa non è nel formato corretto, la funzione restituisce NULL anziché generare un errore.
  • Facoltativamente, consentire all'ottimizzatore di basarsi su vincoli di chiave esterna non forzati: Per migliorare le prestazioni delle query, è ora possibile specificare la parola chiave RELY sui vincoli FOREIGN KEY quando si CREATE o ALTER una tabella.
  • Esecuzioni di job parallelizzati per sovrascritture selettive: Le sovrascritture selettive con replaceWhere ora eseguono job che eliminano i dati e inseriscono nuovi dati in parallelo, migliorando le prestazioni delle query e l'utilizzo del cluster.
  • Miglioramento delle prestazioni per il feed di dati delle modifiche con sovrascrizioni selettive: Le sovrascrizioni selettive che utilizzano replaceWhere nelle tabelle con feed di dati delle modifiche non scrivono più file di dati di modifica separati per i dati inseriti. Queste operazioni usano una colonna _change_type nascosta presente nei file di dati Parquet sottostanti per registrare le modifiche senza amplificazione di scrittura.
  • Miglioramento della latenza delle query per il COPY INTO comando: questa versione include una modifica che migliora la latenza della query per il COPY INTO comando. Questo miglioramento viene implementato rendendo asincrono il caricamento dello stato dall'archivio stati RocksDB. Con questa modifica, si noterà un miglioramento dei tempi di inizio per le query con stati di grandi dimensioni, ad esempio le query con un numero elevato di file già inseriti.
  • Supporto per l'eliminazione della funzionalità dei vincoli check della tabella: È ora possibile eliminare la funzionalità della tabella checkConstraints da una tabella Delta usando ALTER TABLE table_name DROP FEATURE checkConstraints. Vedi Disabilitare i vincoli di controllo.

Modifiche del comportamento

  • Modifica dell'associazione dello schema per le viste: Quando i tipi di dati nella query sottostante di una vista cambiano da quelli usati quando la vista è stata creata per la prima volta, Databricks non genera più errori per i riferimenti alla vista quando non è possibile eseguire alcun cast sicuro.

    Al contrario, la visualizzazione compensa usando regole di conversione standard ove possibile. Questa modifica consente a Databricks di tollerare più facilmente le modifiche dello schema di tabella.

  • Non sarà consentita la tolleranza per la sintassi non documentata ! per NOT al di fuori della logica booleana: Databricks non tollererà più l'uso di ! come sinonimo di NOT al di fuori della logica booleana. Questa modifica riduce la confusione, si allinea allo standard SQL e rende SQL più portabile. Ad esempio:

    CREATE ... IF ! EXISTS, IS ! NULL, ! NULL proprietà colonna o campo, ! IN e ! BETWEEN deve essere sostituito con:

    CREATE ... IF NOT EXISTS, IS NOT NULL, NOT NULL proprietà di colonna o campo, NOT IN e NOT BETWEEN.

    L'operatore di prefisso booleano (ad esempio ! o !is_mgr) non è interessato da questa modifica.

  • Non consentire parti non documentate e non elaborate della sintassi della definizione di colonna nelle visualizzazioni: Databricks supporta CREATE VIEW con colonne con nomi specifici e commenti sulle colonne.

    La specificazione dei tipi di colonna, dei vincoli NOT NULL o DEFAULT è stata tollerata nella sintassi senza avere alcun effetto. Databricks rimuoverà questa tollerazione della sintassi. In questo modo si riduce la confusione, si allinea allo standard SQL e consente miglioramenti futuri.

  • Gestione coerente degli errori per la decodifica Base64 in Spark e Photon: questa versione modifica il modo in cui Photon gestisce gli errori di decodifica Base64 in modo che corrispondano alla gestione spark di questi errori. Prima di queste modifiche, il percorso di generazione del codice Photon e Spark talvolta non riusciva a generare eccezioni di analisi, mentre l'esecuzione interpretata di Spark sollevava correttamente IllegalArgumentException o ConversionInvalidInputError. Questo aggiornamento garantisce che Photon generi in modo coerente le stesse eccezioni di Spark durante gli errori di decodifica Base64, offrendo una gestione degli errori più prevedibile e affidabile.

  • L'aggiunta di un vincolo CHECK su una colonna non valida restituisce ora la classe di errore UNRESOLVED_COLUMN.WITH_SUGGESTION: Per fornire messaggi di errore più utili, in Databricks Runtime 15.3 e nelle versioni successive, un'istruzione ALTER TABLE ADD CONSTRAINT che include un vincolo CHECK riferito a un nome di colonna non valido restituisce la classe di errore UNRESOLVED_COLUMN.WITH_SUGGESTION. Precedentemente, veniva restituito un INTERNAL_ERROR.

JDK viene aggiornato da JDK 8 a JDK 17

15 agosto 2024

Il calcolo serverless per notebook e flussi di lavoro è stato migrato da Java Development Kit (JDK) 8 a JDK 17 sul lato server. Questo aggiornamento include le modifiche comportamentali seguenti:

  • Analisi corretta dei modelli regex con negazione nel raggruppamento di caratteri annidati: con questo aggiornamento, Azure Databricks supporta ora l'analisi corretta dei modelli regex con negazione nel raggruppamento di caratteri annidati. Ad esempio, [^[abc]] verrà analizzato come "qualsiasi carattere che non sia uno di 'abc'".

    Inoltre, il comportamento photon non era coerente con Spark per le classi di caratteri annidate. I modelli regex contenenti classi di caratteri annidati non useranno più Photon e useranno invece Spark. Una classe di caratteri annidata è qualsiasi motivo contenente parentesi quadre tra parentesi quadre, ad esempio [[a-c][1-3]].

Versione 15.1

23 luglio 2024

Questa versione di calcolo serverless corrisponde approssimativamente a Databricks Runtime 15.1

Nuove funzionalità

supporto per la sintassi asterisco (*) nella clausola WHERE: è ora possibile usare la sintassi asterisco (*) nella clausola WHERE per fare riferimento a tutte le colonne dell'elenco SELECT.

Ad esempio: SELECT * FROM VALUES(1, 2) AS T(a1, a2) WHERE 1 IN(T.*).

Modifiche

Migliorato il recupero degli errori durante l'analisi JSON: Il parser JSON utilizzato per e per le espressioni di percorso JSON ora recupera più rapidamente dalla sintassi malformata, riducendo la perdita di dati.

Quando si verifica una sintassi JSON non valida in un campo struct, un valore di matrice, una chiave della mappa o un valore della mappa, il parser JSON restituirà NULL ora solo per il campo, la chiave o l'elemento illeggibili. I campi, le chiavi o gli elementi successivi verranno analizzati correttamente. Prima di questa modifica, il parser JSON ha abbandonato l'analisi della matrice, dello struct o della mappa e ha restituito per il contenuto rimanente NULL .

Versione 14.3

15 aprile 2024

Si tratta della versione di calcolo serverless iniziale. Questa versione corrisponde approssimativamente a Databricks Runtime 14.3 con alcune modifiche che rimuovono il supporto per alcune funzionalità non serverless e legacy.

Parametri di configurazione di Spark supportati

Per automatizzare la configurazione di Spark nel calcolo serverless, Azure Databricks ha rimosso il supporto per l'impostazione manuale della maggior parte delle configurazioni spark. Per visualizzare un elenco dei parametri di configurazione di Spark supportati, vedere Configurare le proprietà di Spark per notebook e processi serverless.

L'esecuzione del processo in un ambiente di calcolo serverless avrà esito negativo se si imposta una configurazione Spark non supportata.

Le funzioni input_file sono obsolescenti.

Le funzioni input_file_name(), input_file_block_length()e input_file_block_start() sono deprecate. L'uso di queste funzioni è altamente sconsigliato.

Usare invece la colonna dei metadati del file per recuperare le informazioni sui metadati dei file.

Modifiche comportamentali

La versione di calcolo serverless 2024.15 include le modifiche comportamentali seguenti:

  • correzione di bug unhex(hexStr): quando si utilizza la unhex(hexStr) funzione, hexStr viene sempre riempito a sinistra fino a un intero byte. In precedenza la funzione unhex ignorava il primo mezzo byte. Ad esempio: unhex('ABC') ora produce x'0ABC' invece di x'BC'.
  • alias di colonna generati automaticamente sono ora stabili: Quando viene fatto riferimento al risultato di un'espressione senza un alias di colonna specificato dall'utente, questo alias generato automaticamente sarà ora stabile. Il nuovo algoritmo può comportare una modifica ai nomi generati automaticamente in precedenza usati in funzionalità come le viste materializzate.
  • Le scansioni di tabella con campi di tipo CHAR sono ora sempre completate con padding: le tabelle Delta, alcune tabelle JDBC e le fonti di dati esterne archiviano i dati CHAR in formato non imbottito. Durante la lettura, Azure Databricks ora riempirà i dati con spazi fino alla lunghezza dichiarata per garantire una semantica corretta.
  • Cast da BIGINT/DECIMAL a TIMESTAMP generano un'eccezione per i valori di overflow: Azure Databricks consente il cast da BIGINT e DECIMAL a TIMESTAMP considerando il valore come numero di secondi dall'epoca Unix. In precedenza, Azure Databricks restituiva valori fuori limite, ma ora genera un'eccezione in caso di overflow. Utilizzare try_cast per restituire NULL anziché un'eccezione.
  • L'esecuzione della UDF (funzione definita dall'utente) PySpark è stata migliorata in modo da corrispondere al comportamento esatto dell'esecuzione della UDF su un ambiente di calcolo dedicato: Sono state apportate le modifiche seguenti:
    • Le funzioni definite dall'utente con un tipo di ritorno stringa non convertono più in modo implicito i valori non stringa in stringhe. In precedenza, una funzione definita dall'utente con un tipo restituito di str applicava un wrapper str(..) al risultato indipendentemente dal tipo di dati effettivo del valore restituito.
    • Le funzioni definite dall'utente con tipi di ritorno timestamp non applicano più in modo implicito una conversione del fuso orario ai marcatori temporali.