Condividi tramite


Requisiti e limitazioni di calcolo standard

Questa pagina include un elenco di requisiti e limitazioni per il calcolo standard. Se si usa il calcolo classico, Databricks consiglia di usare la modalità di accesso standard, a meno che il carico di lavoro non sia dipendente da una delle limitazioni elencate di seguito.

Importante

Gli script e le librerie Init hanno un supporto diverso tra le modalità di accesso e le versioni di Databricks Runtime. Vedere Dove è possibile installare gli script di inizializzazione? e le librerie a livello di calcolo.

Limitazioni di calcolo standard correnti

Le sezioni seguenti elencano le limitazioni per il calcolo standard in base alla versione più recente di Databricks Runtime. Per le limitazioni applicabili alle versioni precedenti di Databricks Runtime, vedere Limitazioni dipendenti dal runtime.

Se queste funzionalità sono necessarie per il carico di lavoro, usare invece calcolo dedicato .

Limitazioni di calcolo standard generali

  • Databricks Runtime per ML non è supportato. Installare invece qualsiasi libreria di Machine Learning non in bundle con Databricks Runtime come libreria con ambito di calcolo.
  • Le risorse di calcolo abilitate per LA GPU non sono supportate.
  • Le attività di job spark-submit non sono supportate. È meglio utilizzare un'attività JAR invece.
  • DBUtils e altri client possono leggere solo dall'archiviazione cloud usando una posizione esterna.
  • I contenitori personalizzati non sono supportati.
  • La radice DBFS e i punti di montaggio non supportano FUSE.

Limitazioni della lingua

  • R non è supportato.

Limitazioni dell'API Spark

  • Contesto Spark (sc), spark.sparkContexte sqlContext non sono supportati per Scala:
    • Azure Databricks consiglia di usare la spark variabile per interagire con l'istanza SparkSession .
    • Anche le funzioni sc seguenti non sono supportate: emptyRDD, range, init_batched_serializer, parallelize, pickleFile, textFile, wholeTextFiles, binaryFiles, binaryRecords, sequenceFile, newAPIHadoopFile, newAPIHadoopRDD, hadoopFile, hadoopRDD, union, runJob, setSystemProperty, uiWebUrl, stop, setJobGroup, setLocalProperty, getConf.
  • La proprietà della configurazione di Spark non è supportata.
  • Quando si crea un dataframe da dati locali tramite spark.createDataFrame, le dimensioni delle righe non possono superare 128 MB.
  • Le API RDD non sono supportate.
  • Spark Connect, usato nelle versioni più recenti di Databricks Runtime, rinvia l'analisi e la risoluzione dei nomi al tempo di esecuzione, che può modificare il comportamento del codice. Vedi Confronta Spark Connect con Spark Classic.

Limitazioni della funzione definita dall'utente

Limitazioni di streaming

Annotazioni

Alcune delle opzioni Kafka elencate hanno un supporto limitato quando vengono usate per le configurazioni supportate in Azure Databricks. Tutte le limitazioni di Kafka elencate sono valide sia per l'elaborazione batch che per l'elaborazione del flusso. Si veda Elaborazione del flusso con Apache Kafka e Azure Databricks.

  • Non è possibile utilizzare i formati statestore e state-metadata per ottenere informazioni di stato nelle query di streaming con stato.
  • L'uso delle sorgenti socket non è supportato.
  • Il sourceArchiveDir deve trovarsi nella stessa posizione esterna dell'origine quando si utilizza option("cleanSource", "archive") con un'origine dati gestita da Unity Catalog.
  • Per le origini e le destinazioni Kafka, le opzioni seguenti non sono supportate:
    • kafka.sasl.client.callback.handler.class
    • kafka.sasl.login.callback.handler.class
    • kafka.sasl.login.class
    • kafka.partition.assignment.strategy

Limitazioni di rete e file system

  • L'ambiente di calcolo Standard esegue comandi come utente con privilegi limitati non consentito di accedere a parti sensibili del file system.
  • I percorsi in stile POSIX (/) per DBFS non sono supportati.
  • Solo gli amministratori e gli utenti dell'area di lavoro con autorizzazioni ANY FILE possono interagire direttamente con i file tramite DBFS.
  • Non è possibile connettersi al servizio metadati dell'istanza o ad Azure WireServer.

Limitazioni del kernel Scala

Quando si usa il kernel scala nel calcolo standard, si applicano le limitazioni seguenti:

  • Alcune classi non possono essere usate nel codice se sono in conflitto con la libreria interna del kernel di mandorla, in particolare Input. Per un elenco delle importazioni definite di mandorle, vedere Importazioni di mandorle.
  • La registrazione diretta a log4j non è supportata.
  • Nell'interfaccia utente l'elenco a discesa dello schema del frame di dati non è supportato.
  • Se il driver raggiunge OOM, scala REPL non terminerà.
  • //connector/sql-aws-connectors:sql-aws-connectors non è nel target bazel di Scala REPL, utilizza i risultati in ClassNotFoundException.
  • Il kernel Scala non è compatibile con SQLImplicits.

Limitazioni dipendenti dal runtime

Le limitazioni seguenti sono state risolte tramite gli aggiornamenti di runtime, ma potrebbero comunque essere applicate al carico di lavoro se si usa un runtime precedente.

Supporto linguistico

Caratteristica / Funzionalità Versione richiesta di Databricks Runtime
Scala 13.3 o versione successiva
Tutte le librerie Java e Scala in bundle di runtime disponibili per impostazione predefinita 15.4 LTS o versione successiva (per 15.3 o versione successiva, impostare spark.databricks.scala.kernel.fullClasspath.enabled=true)

Supporto dell'API Spark

Caratteristica / Funzionalità Versione richiesta di Databricks Runtime
Spark ML 17.0 o versione successiva
Python: SparkContext (sc), spark.sparkContext, sqlContext 14.0 o versione successiva
Operazioni scalaDataset: map, mapPartitions, foreachPartition, flatMap, , reducefilter 15.4 LTS o versione successiva

Supporto di funzioni definite dall'utente

Caratteristica / Funzionalità Versione richiesta di Databricks Runtime
applyInPandas, mapInPandas 14.3 LTS o versione successiva
Funzioni definite dall'utente scalari scalari e funzioni definite dall'utente scalari 14.3 LTS o versione successiva
Importare moduli da cartelle Git, file dell'area di lavoro o volumi nelle funzioni definite dall'utente pySpark 14.3 LTS o versione successiva
Usare versioni personalizzate di grpc, pyarrowo protobuf nelle funzioni definite dall'utente pySpark tramite librerie con ambito di calcolo o notebook 14.3 LTS o versione successiva
Funzioni definite dall'utente Python e Pandas non scalari, incluse le funzioni definite dall'utente, le funzioni definite dall'utente e Pandas in Spark 14.3 LTS o versione successiva
UDF scalari Python e funzioni definite dall'utente Pandas 13.3 LTS o versione successiva

Supporto per lo streaming

Caratteristica / Funzionalità Versione richiesta di Databricks Runtime
transformWithStateInPandas 16.3 o versione successiva
applyInPandasWithState 14.3 LTS o versione successiva
Scala foreach 16.1 o versione successiva
Scala foreachBatch e flatMapGroupsWithState 16.2 o versione successiva
Scala from_avro 14.2 o versione successiva
Opzioni kafka.ssl.truststore.location Kafka e kafka.ssl.keystore.location (la posizione specificata deve essere una posizione esterna gestita dal catalogo unity) 13.3 LTS o versione successiva
Scala StreamingQueryListener 16.1 o versione successiva
Interazione di Python StreamingQueryListener con gli oggetti gestiti dal catalogo unity 14.3 LTS o versione successiva

Per Python, inoltre, foreachBatch presenta le modifiche di comportamento seguenti in Databricks Runtime 14.0 e versioni successive:

  • I comandi print() scrivono l'output nei registri del driver.
  • Non è possibile accedere al modulo secondario dbutils.widgets all'interno della funzione.
  • Tutti i file, i moduli o gli oggetti a cui si fa riferimento nella funzione devono essere serializzabili e disponibili in Spark.

Supporto di rete e file system

Caratteristica / Funzionalità Versione richiesta di Databricks Runtime
Connessioni a porte diverse da 80 e 443 12.2 LTS o versione successiva