Limitazioni della modalità di accesso condiviso per il catalogo Unity

Databricks consiglia di usare il catalogo Unity e la modalità di accesso condiviso per la maggior parte dei carichi di lavoro. Questo articolo descrive le limitazioni e i requisiti per ciascuna modalità di accesso con il catalogo Unity. 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

Nessun isolamento condiviso è una modalità di accesso legacy che non supporta il catalogo Unity.

Importante

Gli script e le librerie Init hanno un supporto diverso tra le modalità di accesso e le versioni di Databricks Runtime. Si veda Dove è possibile installare gli script init? e le librerie con ambito cluster.

Limitazioni della modalità di accesso a utente singolo nel catalogo Unity

La modalità di accesso a utente singolo nel catalogo Unity ha le seguenti limitazioni. Si tratta di limitazioni aggiuntive a quelle di ordine generale per tutte le modalità di accesso al catalogo Unity. Si veda Limitazioni generali per il catalogo Unity.

Limitazioni del controllo di accesso granulare per la modalità di accesso a utente singolo nel catalogo Unity

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:

Per eseguire query su visualizzazioni dinamiche, le visualizzazioni in cui non è presente SELECT nelle tabelle e nelle visualizzazioni 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, che consente l'accesso a una vista senza richiedere autorizzazioni per le 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 vista materializzata per la modalità di accesso utente singolo di catalogo Unity

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 le viste materializzate, se tali tabelle sono di proprietà di altri utenti. L'utente che crea una tabella ne è 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 di streaming per la modalità di accesso a utente singolo nel catalogo Unity

  • 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 dal catalogo Unity in un ambiente di calcolo a utente singolo.

Limitazioni della modalità di accesso condiviso nel catalogo Unity

La modalità di accesso condivisa nel catalogo Unity ha le seguenti limitazioni. Si tratta di limitazioni aggiuntive a quelle di ordine generale per tutte le modalità di accesso al catalogo Unity. Si veda Limitazioni generali per il catalogo Unity.

  • I Databricks Runtime per ML e Spark Machine Learning Library (MLlib) non sono supportati.

  • I processi di invio a Spark non sono supportati.

  • In Databricks Runtime 13.3 e versioni successive le singole righe non devono superare i 128 MB.

  • Le funzioni definite dall'utente (UDF) PySpark non possono accedere a cartelle Git, file dell'area di lavoro o volumi per importare moduli in Databricks Runtime 14.2 e versioni successive.

  • Le radice e i montaggi DBFS non supportano FUSE.

  • Quando si usa la modalità di accesso condiviso con il pass-through delle credenziali, le funzionalità del catalogo Unity sono disabilitate.

  • I contenitori personalizzati non sono supportati.

Supporto del linguaggio per la modalità di accesso condiviso al 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 nel calcolo nelle modalità di accesso al catalogo Unity.
    • Per Databricks Runtime 15.3 o versione successiva nel calcolo che usa la modalità di accesso condiviso, impostare la configurazione spark.databricks.scala.kernel.fullClasspath.enabled di Spark su true.

Limitazioni e requisiti dell’API Spark per la modalità di accesso condiviso al catalogo Unity

  • Le API RDD non sono supportate.
  • 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.
  • Spark Context (sc), spark.sparkContext e sqlContext 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'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.
  • Le operazioni API del set di dati Scala seguenti richiedono Databricks Runtime 15.4 LTS o versione successiva: map, mapPartitions, foreachPartition, flatMap, reduce e filter.

Limitazioni e requisiti UDF per la modalità di accesso condiviso al catalogo Unity

Le funzioni definite dall'utente (UDF) presentano le limitazioni seguenti con la modalità di accesso condiviso:

  • Le UDF Hive non sono supportate.

  • applyInPandas e mapInPandas richiedono Databricks Runtime 14.3 e versioni successive.

  • 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 o protobuf 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.

Si veda Funzioni definite dall'utente (UDF) nel catalogo Unity.

Vedere Limitazioni e requisiti di streaming per la modalità di accesso condiviso al 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, foreachBatch, StreamingListeners e FlatMapGroupWithState 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.
  • 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.
  • sourceArchiveDir deve trovarsi nella stessa posizione esterna dell'origine quando si usa option("cleanSource", "archive") con un'origine dati gestita dal catalogo Unity.
  • 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 non 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
  • StreamingQueryListener richiede Databricks Runtime 14.3 LTS o versione successiva per usare le credenziali o interagire con oggetti gestiti dal catalogo Unity in un ambiente di calcolo condiviso.

Limitazioni e requisiti della rete e dell’accesso ai file di sistema per la modalità di accesso condiviso al 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 al catalogo unity.

Limitazioni di streaming per il catalogo Unity

  • La modalità di elaborazione continua di Apache Spark non è supportata. Si veda Elaborazione continua nella Guida alla programmazione di Spark Structured Streaming.

Si veda anche Limitazioni di streaming per la modalità di accesso utente singolo al catalogo Unity e Limitazioni e requisiti di streaming per la modalità di accesso condiviso al catalogo Unity.

Per altre informazioni sullo streaming con il catalogo Unity, si vedaUso del catalogo Unity con Structured Streaming.