Condividi tramite


Limitazioni della modalità di accesso di calcolo per Unity Catalog

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 per ogni 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

L'accesso condiviso senza isolamento e il pass-through delle credenziali sono modalità 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 Where, è possibile installare gli script di inizializzazione? e le librerie a livello di cluster .

limitazioni della modalità di accesso utente singolo in 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 di Unity Catalog. Vedi Limitazioni generali per Unity Catalog.

Limitazioni del controllo di accesso con granularità fine per Unity Catalog modalità di accesso utente singolo

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 un table che abbia un filtro di riga o una maschera column.
  • Non è possibile accedere alla dinamica views.
  • Per leggere da qualsiasi vista, è necessario disporre di SELECT in tutte le tables e views a cui fa riferimento la vista.

Per eseguire query su viewsdinamiche, views in cui non sono presenti SELECT sull'tables sottostante e viewse tables con filtri di riga o maschere di column, 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.

    L'ambiente di calcolo serverless gestisce il filtro dei dati, il che consente l'accesso a una vista senza richiedere autorizzazioni sui suoi tables e viewssottostanti. Poiché l'ambiente di calcolo serverless gestisce il filtro dei dati, è possibile che vengano addebitati costi di calcolo serverless quando si usa l'ambiente di calcolo singolo per eseguire query views. Per altre informazioni, vedere Controllo di accesso con granularità fine per il calcolo di un singolo utente.

Limitazioni delle visualizzazioni di streaming table e materializzate per Unity Catalog modalità di accesso utente singolo

In Databricks Runtime 15.3 e versioni successive non è possibile usare il calcolo utente singolo per eseguire query tables create usando una pipeline di Tables Delta Live, inclusi tables di streaming e materializzati views, se tali tables sono di proprietà di altri utenti. L'utente che crea un table è il proprietario.

Per eseguire query su Streaming tables e il materiale views creati da Delta Live Tables e di proprietà di altri utenti, utilizzare una delle seguenti opzioni:

  • 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 Unity Catalog modalità di accesso per un singolo utente

  • 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 credentials o interagire con oggetti gestiti da Unity Catalog in un ambiente di calcolo utente singolo.

limitazioni della modalità di accesso condiviso in Unity Catalog

La modalità di accesso condiviso in Unity Catalog presenta le limitazioni seguenti. Queste si aggiungono alle limitazioni generali per tutte le modalità di accesso di Unity Catalog. 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.

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

  • Le UDF di PySpark non possono accedere a cartelle Git, file dell'area di lavoro o volumes per importare moduli in Databricks Runtime 14.2 e versioni precedenti.

  • Le radice e i montaggi DBFS non supportano FUSE.

  • I contenitori personalizzati non sono supportati.

supporto del linguaggio per Unity Catalog modalità di accesso condiviso

  • 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 nell'ambiente di calcolo in modalità di accesso Unity Catalog.
    • Per Databricks Runtime 15.3 o versione successiva nel calcolo che usa la modalità di accesso condiviso, set la configurazione di Spark spark.databricks.scala.kernel.fullClasspath.enabled a true.

requisiti e limitazioni dell'API Spark per Unity Catalog modalità di accesso condiviso

  • 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 per UDF in Unity Catalog modalità di accesso condiviso

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.

Vedere funzioni definite dall'utente in Unity Catalog.

Limitazioni e requisiti di streaming per Unity Catalog modalità di accesso condiviso

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. foreachBatche 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.
  • Il sourceArchiveDir deve trovarsi nella stessa ubicazione esterna dell'origine quando si usa option("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 da Unity Catalog 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 credentials o interagire con oggetti gestiti da Unity Catalog nel calcolo condiviso.

Limitazioni e requisiti di accesso alla rete e al file system per Unity Catalog modalità di accesso condiviso

  • È 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 precedenti puoi creare solo rete connections alle porte 80 e 443.

  • Non è possibile connettersi al servizio metadati dell'istanza o ad Azure WireServer.

Limitazioni generali per Unity Catalog

Le limitazioni seguenti si applicano a tutte le modalità di accesso abilitate per Unity Catalog.

limitazioni di 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 Unity Catalog modalità di accesso utente singolo e limitazioni e requisiti di streaming per Unity Catalog modalità di accesso condiviso.

Per altre informazioni sullo streaming con Unity Catalog, vedere Utilizzare Unity Catalog con Structured Streaming.