Begränsningar för beräkningsåtkomstläge för Unity Catalog
Kommentar
Åtkomstlägen har bytt namn. Läget för delad åtkomst är nu Standard. Åtkomstläget för en användare är nu Dedikerad och kan tilldelas till en enskild användare eller grupp. Gruppåtkomst finns i offentlig förhandsversion.
Databricks rekommenderar att du använder standardåtkomstläge (tidigare läget för delad åtkomst) för de flesta arbetsbelastningar. Den här artikeln beskriver begränsningar och krav för varje åtkomstläge med Unity Catalog. Mer information om åtkomstlägen finns i Åtkomstlägen.
Databricks rekommenderar att du använder beräkningsprinciper för att förenkla konfigurationsalternativen för de flesta användare. Se Skapa och hantera beräkningsprinciper.
Anteckning
Delning utan isolering och överföring av autentiseringsuppgifter är äldre åtkomstlägen som inte stöder Unity Catalog.
Viktigt!
Init-skript och -bibliotek har olika stöd för olika åtkomstlägen och Databricks Runtime-versioner. Se Var kan init-skript installeras och Beräkningsomfångsbibliotek.
Begränsningar för dedikerat åtkomstläge i Unity Catalog
Det dedikerade åtkomstläget i Unity Catalog har följande begränsningar. Dessa är utöver de allmänna begränsningarna för alla åtkomstlägen för Unity Catalog. Se Allmänna begränsningar för Unity Catalog.
Detaljerade begränsningar av åtkomstkontroll för dedikerat åtkomstläge i Unity Catalog
På Databricks Runtime 15.3 och nedan stöds inte detaljerad åtkomstkontroll för beräkning av enskilda användare. Specifikt:
- Du kan inte komma åt en tabell som har ett radfilter eller kolumnmask.
- Du kan inte komma åt dynamiska vyer.
- Om du vill läsa från vilken vy som helst måste du ha
SELECT
på alla tabeller och vyer som vyn refererar till.
Om du vill köra frågor mot dynamiska vyer, vyer där du inte har SELECT
på de underliggande tabellerna och vyerna, eller tabeller med radfilter eller kolumnmasker, använd något av följande:
- Ett SQL-lager.
- Beräkning med standardåtkomstläge.
- Beräkning med dedikerat åtkomstläge på Databricks Runtime 15.4 LTS eller senare.
Databricks Runtime 15.4 LTS och senare stödjer detaljerad åtkomstkontroll för beräkningsresurser för enskilda användare. Om du vill dra nytta av datafiltreringen i Databricks Runtime 15.4 LTS och senare kontrollerar du att arbetsytan är aktiverad för serverlös beräkning.
Serverlös beräkning hanterar datafiltrering, vilket ger åtkomst till en vy utan att kräva behörighet för dess underliggande tabeller och vyer. Eftersom den serverlösa beräkningen hanterar datafiltrering kan du debiteras avgifter för serverlös beräkning när du använder enkelanvändarberäkning för att ställa frågor till vyer. Mer information finns i Detaljerad åtkomstkontroll för dedikerad beräkning (tidigare beräkning av en enskild användare).
Begränsningar för strömningstabeller och materialiserade vyer i dedikerat åtkomstläge för Unity Catalog
På Databricks Runtime 15.3 och tidigare kan du inte använda enskild användarberäkning för att ställa frågor mot tabeller som skapats med en DLT-pipeline, inklusive strömmande tabeller och materialiserade vyer, om dessa tabeller ägs av andra användare. Den användare som skapar en tabell är ägare.
Om du vill köra frågor mot strömningstabeller och materialiserade vyer som skapats av DLT och ägs av andra användare använder du något av följande:
- Ett SQL-lager.
- Beräkning med standardåtkomstläge på Databricks Runtime 13.3 LTS eller senare.
- Beräkning med dedikerat åtkomstläge på Databricks Runtime 15.4 LTS eller senare.
Arbetsytan måste också vara aktiverad för serverlös beräkning. Mer information finns i Detaljerad åtkomstkontroll för dedikerad beräkning (tidigare beräkning av en enskild användare).
Begränsningar för streaming i dedikerat åtkomstläge för Unity Catalog
- Asynkron kontrollpunkt stöds inte i Databricks Runtime 11.3 LTS och nedan.
-
StreamingQueryListener
kräver att Databricks Runtime 15.1 eller senare använder autentiseringsuppgifter eller interagerar med objekt som hanteras av Unity Catalog vid beräkning av en användare.
Begränsningar för standardåtkomstläge i Unity Catalog
Standardåtkomstläget i Unity Catalog har följande begränsningar. Dessa är utöver de allmänna begränsningarna för alla åtkomstlägen i Unity Catalog. Se Allmänna begränsningar för Unity Catalog.
- Databricks Runtime ML och Spark Machine Learning Library (MLlib) stöds inte.
- Spark-submit-jobbuppgifter stöds inte. Använd ett JAR-uppdrag i stället.
- DBUtils och andra klienter som direkt läser data från molnlagring stöds endast när du använder en extern plats för att komma åt lagringsplatsen. Se Skapa en extern plats för att ansluta molnlagring till Azure Databricks.
- I Databricks Runtime 13.3 och senare får enskilda rader inte överstiga 128 MB.
- DBFS-roten och monteringarna stöder inte FUSE.
- Anpassade containrar stöds inte.
Språkstöd för standardåtkomstläge för Unity Catalog
- R stöds inte.
- Scala stöds i Databricks Runtime 13.3 och senare.
- I Databricks Runtime 15.4 LTS och senare är alla Java- eller Scala-bibliotek (JAR-filer) som paketeras med Databricks Runtime tillgängliga vid beräkning i Åtkomstlägen för Unity Catalog.
- För Databricks Runtime 15.3 eller lägre vid beräkning som använder standardåtkomstläge anger du Spark-konfigurationen
spark.databricks.scala.kernel.fullClasspath.enabled
tilltrue
.
Begränsningar och krav för Spark API för standardåtkomstläge för Unity Catalog
- RDD-API:er stöds inte.
- Spark-kontext (
sc
),spark.sparkContext
ochsqlContext
stöds inte för Scala i någon Databricks Runtime och stöds inte för Python i Databricks Runtime 14.0 och senare.- Databricks rekommenderar att du använder variabeln
spark
för att interagera med instansenSparkSession
. - Följande
sc
funktioner stöds inte heller: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 rekommenderar att du använder variabeln
- Följande Scala Dataset API-åtgärder kräver Databricks Runtime 15.4 LTS eller senare:
map
,mapPartitions
,foreachPartition
,flatMap
reduce
ochfilter
. - Egenskapen Spark-konfiguration
spark.executor.extraJavaOptions
stöds inte.
UDF-begränsningar och krav för Standardåtkomstläge för Unity Catalog
Användardefinierade funktioner (UDF: er) har följande begränsningar med standardåtkomstläge:
- Hive-UDF:er stöds inte.
-
applyInPandas
ochmapInPandas
kräver Databricks Runtime 14.3 eller senare. - PySpark-UDF:er kan inte komma åt Git-mappar, arbetsytefiler eller volymer för att importera moduler i Databricks Runtime 14.2 och nedan.
- Scala scalar UDF:er kräver Databricks Runtime 14.2 eller senare. Andra Scala UDF:er och UDAF:er stöds inte.
- I Databricks Runtime 14.2 och senare stöds inte användning av en anpassad version av
grpc
,pyarrow
ellerprotobuf
i en PySpark UDF via bibliotek med notebook-omfång eller klusteromfång eftersom den installerade versionen alltid är att föredra. Information om hur du hittar versionen av installerade bibliotek finns i avsnittet Systemmiljö i den specifika versionen av Databricks Runtime.
- Python-skalära UDF:er och Pandas UDF:er kräver Databricks Runtime 13.3 LTS eller senare.
- Icke-skalär Python- och Pandas-UDF:er, inklusive UDAF:er, UDTF:er och Pandas på Spark, kräver Databricks Runtime 14.3 LTS eller senare.
Se användardefinierade funktioner (UDF: er) i Unity Catalog.
Begränsningar och krav för strömning för standardåtkomstläge i Unity Catalog
Kommentar
Vissa av kafka-alternativen i listan har begränsat stöd när de används för konfigurationer som stöds i Azure Databricks. Alla kafka-begränsningar i listan är giltiga för både batch- och dataströmbearbetning. Se Stream-bearbetning med Apache Kafka och Azure Databricks.
- Du kan inte använda formaten
statestore
ochstate-metadata
för att fråga tillståndsinformation för tillståndskänsliga strömningsfrågor. -
transformWithState
,transformWithStateInPandas
och associerade API:er stöds inte. - För Scala kräver
foreach
Databricks Runtime 16.1 eller senare.foreachBatch
ochflatMapGroupsWithState
kräver Databricks Runtime 16.2 eller senare. - För Python
foreachBatch
har följande beteendeändringar i Databricks Runtime 14.0 och senare:-
print()
kommandon skriver utdata till drivrutinsloggarna. - Du kan inte komma åt undermodulen
dbutils.widgets
i funktionen. - Alla filer, moduler eller objekt som refereras till i funktionen måste vara serialiserbara och tillgängliga på Spark.
-
- För Scala
from_avro
kräver Databricks Runtime 14.2 eller senare. -
applyInPandasWithState
kräver Databricks Runtime 14.3 LTS eller senare. - Att arbeta med socketkällor stöds inte.
-
sourceArchiveDir
måste finnas på samma externa plats som källan när du använderoption("cleanSource", "archive")
med en datakälla som hanteras av Unity Catalog. - För Kafka-källor och sänkor stöds inte följande alternativ:
kafka.sasl.client.callback.handler.class
kafka.sasl.login.callback.handler.class
kafka.sasl.login.class
kafka.partition.assignment.strategy
- Följande Kafka-alternativ stöds i Databricks Runtime 13.3 LTS och senare men stöds inte i Databricks Runtime 12.2 LTS. Du kan bara ange externa platser som hanteras av Unity Catalog för följande alternativ:
kafka.ssl.truststore.location
kafka.ssl.keystore.location
- För Scala kräver
StreamingQueryListener
Databricks Runtime 16.1 och senare. - För Python kräver
StreamingQueryListener
Att Databricks Runtime 14.3 LTS eller senare använder autentiseringsuppgifter eller interagerar med objekt som hanteras av Unity Catalog vid beräkning med standardåtkomstläge.
Begränsningar och krav för åtkomst till nätverk och filsystem för Standardåtkomstläge för Unity Catalog
- Du måste köra kommandon på beräkningsnoder som en användare med låg behörighet som inte får komma åt känsliga delar av filsystemet.
- I Databricks Runtime 11.3 LTS och nedan kan du bara skapa nätverksanslutningar till portarna 80 och 443.
- Du kan inte ansluta till instansmetadatatjänsten eller Azure WireServer.
Allmänna begränsningar för Unity Catalog
Följande begränsningar gäller för alla Unity Catalog-aktiverade åtkomstlägen.
Begränsningar för strömning i Unity Catalog
- Apache Spark-läget för kontinuerlig bearbetning stöds inte. Se Kontinuerlig bearbetning i programmeringsguiden för Spark Structured Streaming.
Se även Begränsningar för strömning för Unity Catalogs dedikerade åtkomstläge och Begränsningar och krav för strömning för Unity Catalogs standardåtkomstläge.
Mer information om strömning med Unity Catalog finns i Using Unity Catalog with Structured Streaming.