Dela via


Begränsningar för beräkningsåtkomstläge för Unity Catalog

Databricks rekommenderar att du använder Unity Catalog och 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.

Kommentar

Ingen isolering som delas är ett äldre åtkomstläge 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 klusteromfångsbibliotek.

Begränsningar för åtkomstläge för en användare i Unity Catalog

Åtkomstläget för en användare 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 för åtkomstkontroll för Åtkomstläge för enskild användare i Unity Catalog

På Databricks Runtime 15.3 och nedan stöds inte detaljerad åtkomstkontroll för beräkning med en användare. Specifikt:

  • Du kan inte komma åt en tabell som har ett radfilter eller en kolumnmask.
  • Du kan inte komma åt dynamiska vyer.
  • Om du vill läsa från valfri vy måste du ha SELECT på alla tabeller och vyer som refereras av vyn.

Gör något av följande för att fråga dynamiska vyer, vyer som du inte har SELECT på de underliggande tabellerna och vyerna och tabeller med radfilter eller kolumnmasker:

  • Använd ett SQL-lager.

  • Använd beräkning med läget för delad åtkomst.

  • Använd beräkning med åtkomstläge för en användare på Databricks Runtime 15.4 LTS eller senare (offentlig förhandsversion).

    Databricks Runtime 15.4 LTS och senare har stöd för detaljerad åtkomstkontroll för beräkning med en användare. Om du vill dra nytta av datafiltreringen i Databricks Runtime 15.4 LTS och senare måste du också kontrollera att arbetsytan är aktiverad för serverlös beräkning, eftersom datafiltreringsfunktionerna som stöder detaljerade åtkomstkontroller körs på serverlös beräkning. Du kan därför debiteras för serverlösa beräkningsresurser när du använder beräkning med en användare för att köra datafiltreringsåtgärder. Se Detaljerad åtkomstkontroll för beräkning med en användare.

Direktuppspelningstabell och materialiserade vybegränsningar för åtkomstläge för enskild användare i Unity Catalog

På Databricks Runtime 15.3 och nedan kan du inte använda beräkning med en användare för att fråga efter tabeller som skapats av en Delta Live Tables-pipeline, inklusive strömmande tabeller och materialiserade vyer.

Om du vill köra frågor mot tabeller som skapats av en Delta Live Tables-pipeline gör du något av följande:

  • Använd ett SQL-lager.

  • Använd beräkning med läget för delad åtkomst på Databricks Runtime 13.3 LTS eller senare.

  • Använd beräkning med åtkomstläge för en användare på Databricks Runtime 15.4 LTS eller senare (offentlig förhandsversion).

    Databricks Runtime 15.4 LTS och senare stöder frågor på Delta Live Tables-genererade tabeller på enanvändarberäkning. Om du vill dra nytta av datafiltreringen som anges i Databricks Runtime 15.4 LTS och senare måste du också kontrollera att arbetsytan är aktiverad för serverlös beräkning eftersom funktionerna för datafiltrering som stöder Delta Live Tables-genererade tabeller körs på serverlös beräkning. Du kan därför debiteras för serverlösa beräkningsresurser när du använder beräkning med en användare för att köra datafiltreringsåtgärder. Se Detaljerad åtkomstkontroll för beräkning med en användare.

Begränsningar för direktuppspelning för åtkomstläge för enskild användare i 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 enskilda användare.

Begränsningar för delat åtkomstläge i Unity Catalog

Läget för delad åtkomst 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 Mašinsko učenje Library (MLlib) stöds inte.

  • Spark-submit-jobb stöds inte.

  • I Databricks Runtime 13.3 och senare får enskilda rader inte överstiga 128 MB.

  • PySpark-UDF:er kan inte komma åt Git-mappar, arbetsytefiler eller volymer för att importera moduler i Databricks Runtime 14.2 och nedan.

  • När du använder läget för delad åtkomst med genomströmning av autentiseringsuppgifter inaktiveras Funktionerna i Unity Catalog.

  • Anpassade containrar stöds inte.

Språkstöd för delat åtkomstläge i 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 läget för delad åtkomst anger du Spark-konfigurationen spark.databricks.scala.kernel.fullClasspath.enabled till true.

Begränsningar och krav för Spark API för delat åtkomstläge i Unity Catalog

  • RDD-API:er stöds inte.
  • 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.
  • 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, hadoopFilenewAPIHadoopFilenewAPIHadoopRDDsequenceFile, hadoopRDD, , union, runJobsetSystemProperty, uiWebUrl, , setJobGroupstop, , . getConfsetLocalProperty
  • Följande Scala Dataset API-åtgärder kräver Databricks Runtime 15.4 LTS eller senare: map, mapPartitions, foreachPartition, flatMapreduce och filter.

UDF-begränsningar och krav för delat åtkomstläge i Unity Catalog

Användardefinierade funktioner (UDF: er) har följande begränsningar med läget för delad åtkomst:

  • Hive-UDF:er stöds inte.

  • applyInPandas och mapInPandas kräver Databricks Runtime 14.3 eller senare.

  • 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. Andra Python-UDF:er, inklusive UDF:er, UDF:er och Pandas på Spark stöds inte.

Se Användardefinierade funktioner (UDF: er) i Unity Catalog.

Begränsningar och krav för strömning för delat å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. Se Stream-bearbetning med Apache Kafka och Azure Databricks.

  • För Scala foreachstöds inte , foreachBatch, StreamingListenersoch FlatMapGroupWithState .
  • 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.
  • Det går inte att arbeta med socketkällor.
  • 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 mottagare 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 inte 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
  • StreamingQueryListener kräver att Databricks Runtime 14.3 LTS eller senare använder autentiseringsuppgifter eller interagerar med objekt som hanteras av Unity Catalog vid delad beräkning.

Begränsningar och krav för åtkomst till nätverk och filsystem för delat åtkomstläge i 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 för 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 direktuppspelning för Åtkomstläge för enskild användare i Unity Catalog och begränsningar och krav för strömning för delat åtkomstläge i Unity Catalog.

Mer information om strömning med Unity Catalog finns i Använda Unity Catalog med strukturerad direktuppspelning.