Dela via


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 till true.

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.sparkContextoch sqlContext 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 instansen SparkSession .
    • Följande sc funktioner stöds inte heller: emptyRDD, range, init_batched_serializer, parallelize, pickleFile, , textFilewholeTextFiles, binaryFiles, binaryRecords, sequenceFilenewAPIHadoopFilenewAPIHadoopRDDhadoopFile, hadoopRDD, , union, runJobsetSystemProperty, uiWebUrl, , stopsetJobGroup, , . setLocalPropertygetConf
  • Följande Scala Dataset API-åtgärder kräver Databricks Runtime 15.4 LTS eller senare: map, mapPartitions, foreachPartition, flatMapreduce och filter.
  • Egenskapen Spark-konfigurationspark.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 och mapInPandas 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, pyarroweller protobuf 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 och state-metadata för att fråga tillståndsinformation för tillståndskänsliga strömningsfrågor.
  • transformWithState, transformWithStateInPandasoch associerade API:er stöds inte.
  • För Scala kräver foreach Databricks Runtime 16.1 eller senare. foreachBatchoch flatMapGroupsWithState 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änder option("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.