Limitazioni della modalità di accesso di Calcolo per il catalogo Unity
Databricks consiglia di usare Unity Catalog e la modalità di accesso condiviso per la maggior parte dei carichi di lavoro. Questo articolo descrive le limitazioni e i requisiti di ciascuna modalità di accesso con Unity Catalog. Per informazioni dettagliate sulle modalità di accesso, si veda Modalità di accesso.
Databricks consiglia di usare i criteri di calcolo per semplificare le opzioni di configurazione per la maggior parte degli utenti. Si veda Creare e gestire i criteri di calcolo
Nota
Condivisione senza isolamento e pass-through delle credenziali sono modalità di accesso legacy che non supportano Unity Catalog.
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 init? e librerie con ambito cluster .
Limitazioni della modalità di accesso per utente singolo su Unity Catalog
La modalità di accesso utente singolo in Unity Catalog presenta le limitazioni seguenti. Oltre alle limitazioni generali per tutte le modalità di accesso al catalogo Unity. Vedere Limitazioni generali per Unity Catalog.
Limitazioni del controllo di accesso granulare per la modalità di accesso utente singolo di Unity Catalog
In Databricks Runtime 15.3 e versioni successive non è supportato il controllo di accesso con granularità fine per il calcolo di un singolo utente. In particolare:
- Non è possibile accedere a una tabella con un filtro di riga o una maschera di colonna.
- Non hai accesso a alle visualizzazioni dinamiche.
- Per leggere da qualsiasi visualizzazione, è necessario disporre di
SELECT
su tutte le tabelle e le visualizzazioni a cui fa riferimento la visualizzazione.
Per eseguire query su viste dinamiche, le viste in cui non sono presenti SELECT
nelle tabelle e nelle viste sottostanti e nelle tabelle con filtri di riga o maschere di colonna, usare una delle opzioni seguenti:
- Un'istanza di SQL Warehouse.
- Calcolo con modalità di accesso condiviso.
- Calcolo con modalità di accesso utente singolo in Databricks Runtime 15.4 LTS o versione successiva.
Databricks Runtime 15.4 LTS e versioni successive supportano il controllo di accesso con granularità fine nel calcolo di un singolo utente. Per sfruttare i vantaggi del filtro dei dati fornito in Databricks Runtime 15.4 LTS e versioni successive, verificare che l'area di lavoro sia abilitata per il calcolo serverless.
Il calcolo serverless gestisce il filtro dei dati, permettendo di accedere a una vista senza necessitare di autorizzazioni sulle tabelle e le viste sottostanti. Poiché l'ambiente di calcolo serverless gestisce il filtro dei dati, è possibile che vengano addebitati costi di calcolo serverless quando si usa il calcolo utente singolo per eseguire query sulle viste. Per altre informazioni, vedere Controllo di accesso con granularità fine per il calcolo di un singolo utente.
Limitazioni della tabella di streaming e della visualizzazione materializzata per la modalità di accesso utente singolo di Unity Catalog
In Databricks Runtime 15.3 e versioni successive non è possibile usare il calcolo utente singolo per eseguire query sulle tabelle create usando una pipeline di tabelle Live Delta, incluse le tabelle di streaming e viste materializzate, se tali tabelle sono di proprietà di altri utenti. L'utente che crea una tabella è il proprietario.
Per eseguire query su tabelle di streaming e viste materializzate create da tabelle Live Delta e di proprietà di altri utenti, usare una delle opzioni seguenti:
- Un'istanza di SQL Warehouse.
- Calcolo con modalità di accesso condiviso in Databricks Runtime 13.3 LTS o versione successiva.
- Calcolo con modalità di accesso utente singolo in Databricks Runtime 15.4 LTS o versione successiva.
L'area di lavoro deve essere abilitata anche per il calcolo serverless. Per altre informazioni, vedere Controllo di accesso con granularità fine per il calcolo di un singolo utente.
Limitazioni dello streaming per la modalità di accesso utente singolo di Unity Catalog
- Il checkpoint asincrono non è supportato in Databricks Runtime 11.3 LTS e versioni successive.
-
StreamingQueryListener
richiede Databricks Runtime 15.1 o versione successiva per usare le credenziali o interagire con oggetti gestiti da Unity Catalog in un ambiente di calcolo utente singolo.
limitazioni della modalità di accesso condiviso nel Catalogo Unity
La modalità di accesso condiviso in Unity Catalog presenta le limitazioni seguenti. Oltre alle limitazioni generali per tutte le modalità di accesso al catalogo Unity. Vedere Limitazioni generali per Unity Catalog.
I Databricks Runtime per ML e Spark Machine Learning Library (MLlib) non sono supportati.
Le attività di job spark-submit non sono supportate. È meglio utilizzare un'attività JAR invece.
DBUtils e altri client che leggono direttamente i dati dall'archiviazione cloud sono supportati solo quando si usa una posizione esterna per accedere alla posizione di archiviazione. Si veda Creare una posizione esterna per connettere la memorizzazione cloud ad Azure Databricks.
In Databricks Runtime 13.3 e versioni successive le singole righe non devono superare i 128 MB.
Le radice e i montaggi DBFS non supportano FUSE.
I contenitori personalizzati non sono supportati.
Supporto linguistico per la modalità di accesso condiviso del catalogo Unity
- R non è supportato.
- Scala è supportata in Databricks Runtime 13.3 e versioni successive.
- In Databricks Runtime 15.4 LTS e versioni successive, tutte le librerie Java o Scala (file JAR) in bundle con Databricks Runtime sono disponibili sull'elaborazione nelle modalità di accesso di Unity Catalog.
- Per Databricks Runtime 15.3 o versione successiva nel calcolo che usa la modalità di accesso condiviso, impostare la configurazione di Spark
spark.databricks.scala.kernel.fullClasspath.enabled
sutrue
.
limitazioni e requisiti dell'API Spark per la modalità di accesso condiviso del catalogo Unity
- Le API RDD non sono supportate.
- Spark Context (
sc
),spark.sparkContext
esqlContext
non sono supportati per Scala in qualsiasi runtime di Databricks e non sono supportati per Python in Databricks Runtime 14.0 e versioni successive.- Databricks consiglia di usare la variabile
spark
per interagire con l'istanzaSparkSession
. - 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
.
- Databricks consiglia di usare la variabile
- Le operazioni API del set di dati Scala seguenti richiedono Databricks Runtime 15.4 LTS o versione successiva:
map
,mapPartitions
,foreachPartition
,flatMap
,reduce
efilter
. - La proprietà
della configurazione di Spark non è supportata.
limitazioni e requisiti UDF per la modalità di accesso condiviso di Unity Catalog
Le funzioni definite dall'utente (UDF) presentano le limitazioni seguenti con la modalità di accesso condiviso:
Le UDF Hive non sono supportate.
applyInPandas
emapInPandas
richiedono Databricks Runtime 14.3 e versioni successive.Le funzioni definite dall'utente PySpark non possono accedere a cartelle Git, file dell'area di lavoro o volumi per importare moduli in Databricks Runtime 14.2 e versioni precedenti.
Le UDF scalari Scala richiedono Databricks Runtime 14.2 o versione successiva. Altre UDF e UDAF Scala non sono supportate.
In Databricks Runtime 14.2 e versioni successive, l'uso di una versione personalizzata di
grpc
,pyarrow
oprotobuf
in una UDF PySpark tramite librerie con ambito notebook o con ambito cluster non è supportata perché la versione installata è sempre preferibile. Per trovare la versione delle librerie installate, si veda la sezione Ambiente di sistema delle note sulla versione specifiche di Databricks Runtime.Le UDF scalari Python e le UDF Pandas richiedono Databricks Runtime 13.3 LTS o versione successiva.
Le funzioni definite dall'utente Python e Pandas non scalari, incluse le funzioni definite dall'utente, le funzioni definite dall'utente e Pandas in Spark, richiedono Databricks Runtime 14.3 LTS o versione successiva.
Consultare funzioni definite dall'utente in Unity Catalog.
Limitazioni e requisiti di streaming per la modalità di accesso condiviso del catalogo Unity
Nota
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.
- Per Scala,
foreach
richiede Databricks Runtime 16.1 o versione successiva.foreachBatch
eFlatMapGroupWithState
non sono supportati. - Per Python,
foreachBatch
presenta le modifiche funzionali seguenti in Databricks Runtime 14.0 e versioni successive:- I comandi
print()
scrivono l'output nei log 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.
- I comandi
- Per Scala
from_avro
richiede Databricks Runtime 14.2 o versione successiva. -
applyInPandasWithState
richiede Databricks Runtime 14.3 LTS o versione successiva. - L'uso delle origini socket non è supportato.
- Il
sourceArchiveDir
deve trovarsi nella stessa posizione esterna dell'origine quando si utilizzaoption("cleanSource", "archive")
con un'origine dati gestita da Unity Catalog. - Per le origini e i sink 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
- Le opzioni Kafka seguenti sono supportate in Databricks Runtime 13.3 LTS e versioni successive, ma non supportate in Databricks Runtime 12.2 LTS. È possibile specificare solo percorsi esterni gestiti dal catalogo unity per queste opzioni:
kafka.ssl.truststore.location
kafka.ssl.keystore.location
- Per Scala,
StreamingQueryListener
richiede Databricks Runtime 16.1 e versioni successive. - Per Python,
StreamingQueryListener
richiede Databricks Runtime 14.3 LTS o versione successiva per usare le credenziali o interagire con oggetti gestiti da Unity Catalog in un ambiente di calcolo condiviso.
Limitazioni e requisiti di accesso alla rete e al file system per la modalità di accesso condiviso del catalogo Unity
È necessario eseguire comandi nei nodi di calcolo perché agli utenti con privilegi limitati non è consentito accedere a parti sensibili del file system.
In Databricks Runtime 11.3 LTS e versioni successive è possibile creare connessioni di rete solo alle porte 80 e 443.
Non è possibile connettersi al servizio metadati dell'istanza o ad Azure WireServer.
Limitazioni generali per il Catalogo Unity
Le limitazioni seguenti si applicano a tutte le modalità di accesso abilitate per il catalogo unity.
Limitazioni dello streaming per Unity Catalog
- La modalità di elaborazione continua di Apache Spark non è supportata. Si veda Elaborazione continua nella Guida alla programmazione di Spark Structured Streaming.
Vedere anche Limitazioni di streaming per la modalità di accesso utente singolo di Unity Catalog e Limitazioni e requisiti di streaming per la modalità di accesso condiviso di Unity Catalog.
Per ulteriori informazioni sullo streaming con Unity Catalog, vedere Utilizzo di Unity Catalog con lo streaming strutturato.