Condividi tramite


Limitazioni di calcolo serverless

Questo articolo illustra le attuali limitazioni del calcolo serverless per notebook e lavori. Inizia con una panoramica delle considerazioni più importanti e quindi fornisce un elenco completo di riferimenti delle limitazioni.

Informazioni generali sulle limitazioni

Prima di creare nuovi carichi di lavoro o eseguire la migrazione di carichi di lavoro a un ambiente di calcolo serverless, considerare prima di tutto le limitazioni seguenti:

  • Python e SQL sono gli unici linguaggi supportati.
  • Sono supportate solo le API di connessione Spark. Le API RDD Spark non sono supportate.
  • Le librerie JAR non sono supportate. Per le soluzioni alternative, vedere Procedure consigliateper il calcolo serverless.
  • L'ambiente di calcolo serverless è disponibile per tutti gli utenti dell'area di lavoro.
  • I tag del Notebook non sono supportati. Usare criteri di budget per contrassegnare l'utilizzo senza server.
  • Per lo streaming, è possibile usare solo la logica batch incrementale. Non è disponibile alcun supporto per gli intervalli di trigger predefiniti o basati sull’orario. Vedere Limitazioni dello streaming.

Elenco di riferimenti alle limitazioni

Nelle sezioni seguenti sono elencate le limitazioni correnti dell'ambiente di calcolo serverless.

L'architettura di calcolo senza server si basa sulla modalità di accesso standard di Databricks (in precedenza denominata modalità di accesso condiviso). Le limitazioni più rilevanti ereditate dalla modalità di accesso standard sono elencate di seguito, insieme a limitazioni aggiuntive specifiche del serverless. Per un elenco completo delle limitazioni della modalità di accesso standard, vedere Limitazioni della modalità di accesso alle risorse di calcolo per Unity Catalog.

Limitazioni generali

  • Scala ed R non sono supportati.
  • ANSI SQL è l'impostazione predefinita per la scrittura di SQL. Rifiutare esplicitamente la modalità ANSI impostando spark.sql.ansi.enabled su false.
  • Le API RDD Spark non sono supportate.
  • Il contesto Spark (sc), spark.sparkContext e sqlContext non sono supportati.
  • Il terminaleWeb non è supportato.
  • Nessuna interrogazione può essere eseguita per più di 48 ore.
  • È necessario usare Unity Catalog per connettersi a origini dati esterne. È possibile utilizzare posizioni esterne per accedere all'archiviazione cloud.
  • Il supporto per le origini dati è limitato ad AVRO, BINARYFILE, CSV, DELTA, JSON, KAFKA, ORC, PARQUET, ORC, TEXT e XML.
  • Le funzioni definite dall'utente (UDF) non possono accedere a Internet. Per questo motivo, il comando CREATE FUNCTION (Esterno) non è supportato. Databricks consiglia di usare CREATE FUNCTION (SQL e Python) per creare funzioni definite dall'utente (UDF).
  • Le singole righe non devono superare le dimensioni massime di 128 MB.
  • L’interfaccia utente Spark non è disponibile. Invece, usa il profilo di query per visualizzare le informazioni sulle query Spark. Vedere Profilo query.
  • I log di Spark non sono disponibili quando si usano notebook e attività serverless. Gli utenti hanno accesso soltanto ai log delle applicazioni lato client.
  • L'accesso tra aree di lavoro è consentito solo se le aree di lavoro si trovano nella stessa area e l'area di lavoro di destinazione non ha un ACL IP o privateLink front-end configurato.
  • Le visualizzazioni temporanee globali non sono supportate. Databricks consiglia di utilizzare viste temporanee di sessione oppure di creare tabelle ove sia necessario trasferire dati tra sessioni.

Limitazioni dello streaming

Limitazioni del Machine Learning

Limitazioni dei Notebook

  • I Notebook hanno accesso a 8 GB di memoria che non possono essere configurati.
  • Le librerie con ambito Notebook non vengono memorizzate nella cache tra le sessioni di sviluppo.
  • La condivisione di tabelle e viste TEMP quando si condivide un notebook tra gli utenti non è supportata.
  • Il completamento automatico e l'esploratore di variabili per i dataframe nei notebook non sono supportati.

Limitazioni del flusso di lavoro

  • Le dimensioni del driver per il calcolo serverless per i processi sono attualmente fisse e non possono essere modificate.
  • I log dei task non sono isolati per ciascuna esecuzione del task. I log conterranno l'output di più task.
  • Le librerie di attività non sono supportate per i task del Notebook. Usare invece librerie con ambito Notebook. Vedere Librerie Python con ambito notebook.

Limitazioni specifiche del calcolo

Le funzionalità specifiche del calcolo seguenti non sono supportate:

  • Criteri di calcolo
  • Script di inizializzazione con ambito di calcolo
  • Librerie con ambito di calcolo, incluse origini dati personalizzate ed estensioni Spark. Usare al contrario librerie con ambito associato al notebook.
  • Pool di istanze
  • Registri eventi di sistema
  • La maggior parte delle configurazioni di calcolo di Apache Spark. Per un elenco delle configurazioni supportate, vedere parametri di configurazione di Spark supportati.
  • variabili di ambiente. Databricks consiglia invece di usare i widget per creare parametri di job e attività .

Limitazioni della memorizzazione nella cache

Le API del dataframe e della cache SQL non sono supportate nel calcolo serverless. L'uso di una di queste API o comandi SQL genererà un'eccezione.

Limitazioni di Hive

  • le tabelle SerDe Hive non sono supportate. Inoltre, il comando LOAD DATA corrispondente che carica i dati in una tabella SerDe Hive non è supportato. L'uso del comando genererà un'eccezione.

    Il supporto per le origini dati è limitato ad AVRO, BINARYFILE, CSV, DELTA, JSON, KAFKA, ORC, PARQUET, ORC, TEXT e XML.

  • Le variabili Hive (ad esempio ${env:var}, ${configName}${system:var}, e spark.sql.variable) o i riferimenti alle variabili di configurazione che usano la ${var} sintassi non sono supportati. L'uso delle variabili Hive genererà un'eccezione.

    Al contrario, utilizzare DECLARE VARIABLE, SET VARIABLE e riferimenti a variabili di sessione SQL e marcatori di parametro ('?', o ':var') per dichiarare, modificare e riferirsi allo stato della sessione. È anche possibile usare la clausola IDENTIFIER per parametrizzare i nomi degli oggetti in molti casi.