Nota
L'accesso a questa pagina richiede l'autorizzazione. È possibile provare ad accedere o modificare le directory.
L'accesso a questa pagina richiede l'autorizzazione. È possibile provare a modificare le directory.
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 su cloud usando una posizione esterna.
- La radice DBFS e i punti di montaggio non supportano FUSE.
Limitazioni della lingua
- R non è supportato.
Limitazioni dell'API Spark
- Spark Context (
sc),spark.sparkContextesqlContextnon sono supportati per Scala:- Azure Databricks consiglia di usare la
sparkvariabile per interagire con l'istanzaSparkSession. - Anche le funzioni
scseguenti 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.
- Azure Databricks consiglia di usare la
- L'impostazione di determinate proprietà di configurazione di Spark non è supportata. La creazione o la modifica di un cluster che imposta una proprietà con restrizioni ha esito negativo e viene visualizzato un errore. Per l'elenco completo, vedere Limitazioni di configurazione di Spark.
- 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 delle UDF (funzioni definite dall'utente)
- Le UDF di Hive non sono supportate. Usare invece UDF nel catalogo Unity.
- Le funzioni definite dall'utente Scala non possono essere usate all'interno di funzioni di ordine elevato.
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. Vedere Connettersi ad Apache Kafka.
- L'uso delle sorgenti socket non è supportato.
- Il
sourceArchiveDirdeve trovarsi nella stessa posizione esterna dell'origine quando si utilizzaoption("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.classkafka.sasl.login.callback.handler.classkafka.sasl.login.classkafka.partition.assignment.strategy
- Python
foreachBatchnon supportaThreadPoolExecutorné l'esecuzione multithread. L'esecuzione multithread potrebbe non generare errori, ma può causare un danneggiamento dei dati o risultati incoerenti.
Limitazioni di rete e file system
- Standard compute esegue comandi come utente con privilegi limitati cui è vietato accedere a parti sensibili del filesystem.
- 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 delle variabili di ambiente
Solo un set predefinito di variabili di ambiente è disponibile per il motore Spark e gli script init nel calcolo standard. Le variabili di ambiente impostate su un cluster ma che non rientrano in questo insieme rimangono disponibili per il codice utente, incluse le UDF, ma non sono disponibili per il motore Spark o per gli script init.
Questo set include variabili di runtime, credenziali e configurazione comuni. Gli esempi seguenti non sono esaustivi:
- Rete e proxy:
HTTP_PROXY,HTTPS_PROXY,NO_PROXY - Certificati TLS:
REQUESTS_CA_BUNDLE,SSL_CERT_FILE - Credenziali e area di AWS:
AWS_ACCESS_KEY_ID,AWS_SECRET_ACCESS_KEY,AWS_REGION,AWS_DEFAULT_REGION - Azure credenziali:
AZURE_CLIENT_ID,AZURE_CLIENT_SECRET,AZURE_TENANT_ID - Credenziali di Google Cloud:
GOOGLE_APPLICATION_CREDENTIALS - Connessione a Databricks:
DATABRICKS_HOST,DATABRICKS_TOKEN - Impostazioni locali e fuso orario:
TZ,LANG,LC_ALL - Parallelismo e threading:
OMP_NUM_THREADS,OPENBLAS_NUM_THREADS,MKL_NUM_THREADS,NUMEXPR_NUM_THREADS - Osservabilità:
DD_API_KEY,DD_SITE,DD_ENV - Impostazioni predefinite del catalogo Unity:
CATALOG,CATALOG_NAME
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-connectorsnon è nel target bazel di Scala REPL, utilizza i risultati inClassNotFoundException. - 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 incluse nel runtime sono disponibili per impostazione predefinita | 15.4 LTS o versione successiva (per 15.3 o inferiore, 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 di Scala e aggregate (UDAF) di Scala | 14.3 LTS o versione successiva |
| Importare moduli da cartelle Git, file dell'area di lavoro o volumi nelle funzioni definite dall'utente (UDF) di PySpark | 14.3 LTS o versione successiva |
Usare versioni personalizzate di grpc, pyarrow, o 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 non scalari di Python e Pandas, incluse UDAF, UDTF e Pandas su Spark. | 14.3 LTS o versione successiva |
| UDF scalari Python e UDF 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.widgetsall'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 |
Limitazioni della configurazione di Spark
In Databricks Runtime 19 e versioni successive non è possibile impostare le proprietà di configurazione spark seguenti in modalità di accesso standard. La creazione o la modifica di un cluster che imposta una di queste proprietà o una proprietà che inizia con uno dei prefissi elencati (mostrati con un carattere finale .*), ha esito negativo con un errore. Rimuovere queste proprietà dalla configurazione del cluster, dai criteri di calcolo e dalle definizioni dei processi prima dell'aggiornamento.
| Categoria | Proprietà di configurazione spark con restrizioni |
|---|---|
| Opzioni della JVM, del classpath e delle librerie native |
spark.driver.extraJavaOptions, spark.driver.defaultJavaOptions, spark.executor.extraJavaOptions, spark.executor.defaultJavaOptions, spark.yarn.am.extraJavaOptions, spark.yarn.am.defaultJavaOptions, spark.driver.extraClassPath, spark.executor.extraClassPath, spark.driver.extraLibraryPath, spark.executor.extraLibraryPath |
| Inserimento di variabili di ambiente |
spark.executorEnv.*, spark.yarn.appMasterEnv.*, spark.kubernetes.driverEnv.* |
| Librerie, file JAR e file |
spark.jars
spark.jars.packages
spark.jars.ivy
spark.jars.ivySettings
spark.jars.repositories
spark.files
spark.archives
spark.submit.pyFiles
spark.sql.maven.additionalRemoteRepositories
spark.yarn.jars
spark.yarn.archive
spark.yarn.dist.jars
spark.yarn.dist.files
spark.yarn.dist.archives
spark.yarn.dist.pyFiles
spark.yarn.dist.forceDownloadSchemes
|
| File JAR del metastore Hive |
spark.sql.hive.metastore.jars, spark.sql.hive.metastore.jars.path |
| Eseguibili di Python e R |
spark.pyspark.python, spark.pyspark.driver.python, spark.r.command, spark.r.driver.commandspark.r.shell.command |
| Configurazione dei pod Kubernetes |
spark.kubernetes.container.image, spark.kubernetes.driver.container.image, spark.kubernetes.executor.container.image, spark.kubernetes.driver.podTemplateFile, spark.kubernetes.executor.podTemplateFilespark.kubernetes.driver.volumes.*, spark.kubernetes.executor.volumes.*, , spark.kubernetes.driver.secrets.*spark.kubernetes.executor.secrets.* |
| Accesso al file system locale |
spark.connect.copyFromLocalToFs.allowDestLocal, spark.sql.artifact.copyFromLocalToFs.allowDestLocal |
| Azure Databricks: isolamento e controllo dell'accesso |
spark.databricks.pyspark.enableProcessIsolation, , , , spark.databricks.pyspark.enablePy4JSecurityspark.databricks.pyspark.runAsLowPrivilegeUserspark.databricks.pyspark.enableIptablesspark.databricks.pyspark.onlyAllowTrustedFilesystemsspark.databricks.pyspark.trustedFilesystemsspark.databricks.pyspark.pythonUdfsOnlyspark.databricks.acl.dfAclsEnabledspark.databricks.acl.fileAccess.enabledspark.databricks.acl.allowTransformUsingspark.databricks.passthrough.enabledspark.databricks.runtimeConfigAllowlist.enabledspark.databricks.runtimeConfigAllowlist.extraConfsspark.testing.databricks.runtimeConfigAllowlist.enabledspark.databricks.sql.jdbc.enableLakeguardDriver |