Delen via


Beperkingen voor de compute-toegangsmodus voor Unity Catalog

Databricks raadt aan Unity Catalog en de modus voor gedeelde toegang te gebruiken voor de meeste workloads. In dit artikel worden beperkingen en vereisten beschreven voor elke toegangsmodus met Unity Catalog. Zie Access-modi voor meer informatie over toegangsmodi.

Databricks raadt het gebruik van rekenbeleid aan om configuratieopties voor de meeste gebruikers te vereenvoudigen. Zie Rekenbeleid maken en beheren.

Notitie

"No-isolation shared" en "credential passthrough" zijn verouderde toegangsmodi die geen ondersteuning bieden voor Unity Catalog.

Belangrijk

Init-scripts en -bibliotheken bieden verschillende ondersteuning voor toegangsmodi en Databricks Runtime-versies. Zie Where kunnen er init-scripts worden geïnstalleerd? en bibliotheken met clusterbereik.

beperkingen voor de toegangsmodus voor één gebruiker voor Unity Catalog

De toegangsmodus voor één gebruiker op Unity Catalog heeft de volgende beperkingen. Deze komen bovenop de algemene beperkingen voor alle Unity-Catalog toegangsmodi. Zie Algemene beperkingen voor Unity Catalog.

Gedetailleerde beperkingen voor toegangscontrole voor Unity Catalog enkelvoudige gebruikersmodus

In Databricks Runtime 15.3 en lager wordt gedetailleerd toegangsbeheer voor rekenkracht van één gebruiker niet ondersteund. Specifiek:

  • U hebt geen toegang tot een table met een rijfilter of column masker.
  • Je kunt geen toegang krijgen tot dynamische views.
  • Als u vanuit een weergave wilt lezen, moet u SELECT hebben op alle tables en views waarnaar wordt verwezen door de weergave.

Als u dynamische viewswilt opvragen, views waarop u geen SELECT hebt op de onderliggende tables en viewsen tables met rijfilters of column maskers, gebruikt u een van de volgende opties:

  • Een SQL Warehouse.

  • Berekenen met de modus voor gedeelde toegang.

  • Compute met de modus voor toegang van één gebruiker in Databricks Runtime 15.4 LTS of hoger.

    Databricks Runtime 15.4 LTS en hoger bieden ondersteuning voor gedetailleerd toegangsbeheer voor rekenkracht van één gebruiker. Als u wilt profiteren van het filteren van gegevens in Databricks Runtime 15.4 LTS en hoger, controleert u of uw werkruimte is ingeschakeld voor serverloze berekeningen.

    Serverloze berekening verwerkt gegevensfiltering, waardoor toegang tot een weergave mogelijk is zonder dat hiervoor machtigingen zijn vereist voor de onderliggende tables en views. Omdat serverloze rekenkracht gegevensfilters verwerkt, worden er mogelijk serverloze rekenkosten in rekening gebracht wanneer u rekenkracht van één gebruiker gebruikt om query's uit te voeren op views. Zie Fijnmazig toegangsbeheer voor rekenkracht van één gebruiker voor meer informatie.

Beperkingen voor streaming table en gematerialiseerde weergaven voor de Unity Catalog toegang tot één gebruiker modus

In Databricks Runtime 15.3 en hieronder kunt u geen rekenkracht van één gebruiker gebruiken om query's uit te voeren op tables die zijn gemaakt met behulp van een Delta Live-pijplijn Tables, waaronder streaming-tables en gerealiseerde views, als deze tableseigendom zijn van andere gebruikers. De gebruiker die een table maakt, is de eigenaar.

Als u een query wilt uitvoeren op streaming tables en gematerialiseerde views die zijn gemaakt door Delta Live Tables en eigendom zijn van andere gebruikers, gebruik dan een van de volgende opties:

  • Een SQL Warehouse.

  • Compute met de modus voor gedeelde toegang op Databricks Runtime 13.3 LTS of hoger.

  • Compute met de modus voor toegang van één gebruiker in Databricks Runtime 15.4 LTS of hoger.

    Uw werkruimte moet ook zijn ingeschakeld voor serverloze berekeningen. Zie Fijnmazig toegangsbeheer voor rekenkracht van één gebruiker voor meer informatie.

streamingbeperkingen voor Unity Catalog modus voor toegang van één enkele gebruiker

  • Asynchrone controlepunten worden niet ondersteund in Databricks Runtime 11.3 LTS en hieronder.
  • StreamingQueryListener vereist Databricks Runtime 15.1 of hoger om credentials te gebruiken of te communiceren met objecten die worden beheerd door Unity Catalog op rekenkracht van één gebruiker.

Beperkingen voor gedeelde toegangsmodus op Unity Catalog

De modus voor gedeelde toegang in Unity Catalog geldt de volgende beperkingen. Dit zijn naast de algemene beperkingen voor alle Unity-Catalog-toegangsmodi. Zie Algemene beperkingen voor Unity Catalog.

  • Databricks Runtime ML en Spark Machine Learning Library (MLlib) worden niet ondersteund.

  • Taaktaken voor Spark-submit worden niet ondersteund. Gebruik in plaats daarvan een JAR-taak.

  • In Databricks Runtime 13.3 en hoger mogen afzonderlijke rijen niet groter zijn dan 128 MB.

  • PySpark UDF's hebben geen toegang tot Git-mappen, werkruimtebestanden of volumes om modules te importeren in Databricks Runtime 14.2 en lager.

  • DBFS-hoofd- en koppels bieden geen ondersteuning voor FUSE.

  • Aangepaste containers worden niet ondersteund.

Taalondersteuning voor Unity Catalog modus voor gedeelde toegang

  • R wordt niet ondersteund.
  • Scala wordt ondersteund in Databricks Runtime 13.3 en hoger.
    • In Databricks Runtime 15.4 LTS en hoger zijn alle Java- of Scala-bibliotheken (JAR-bestanden) die zijn gebundeld met Databricks Runtime beschikbaar op rekenkracht in Unity Catalog toegangsmodi.
    • Voor Databricks Runtime 15.3 of lager op rekenkracht die gebruikmaakt van de modus voor gedeelde toegang, set de Spark-configuratie spark.databricks.scala.kernel.fullClasspath.enabled voor true.

Beperkingen en vereisten voor de Spark API voor Unity Catalog gedeelde toegangsmodus

  • RDD-API's worden niet ondersteund.
  • DBUtils en andere clients die de gegevens rechtstreeks lezen uit cloudopslag, worden alleen ondersteund wanneer u een externe locatie gebruikt voor toegang tot de opslaglocatie. Zie Een externe locatie maken om cloudopslag te verbinden met Azure Databricks.
  • Spark-context (sc),spark.sparkContexten sqlContext worden niet ondersteund voor Scala in een Databricks Runtime en worden niet ondersteund voor Python in Databricks Runtime 14.0 en hoger.
    • Databricks raadt aan de spark variabele te gebruiken om met het SparkSession exemplaar te communiceren.
    • De volgende sc functies worden ook niet ondersteund: emptyRDD, range, init_batched_serializer, parallelize, , pickleFiletextFilewholeTextFilesbinaryFilesbinaryRecordssequenceFilenewAPIHadoopFilenewAPIHadoopRDDhadoopFilehadoopRDDunionrunJobsetSystemPropertyuiWebUrlstop, setJobGroup, , . setLocalPropertygetConf
  • Voor de volgende Scala Dataset-API-bewerkingen is Databricks Runtime 15.4 LTS of hoger vereist: map, mapPartitions, foreachPartition, flatMapen reduce .filter

UDF-beperkingen en -vereisten voor Unity Catalog modus voor gedeelde toegang

Door de gebruiker gedefinieerde functies (UDF's) hebben de volgende beperkingen met de modus voor gedeelde toegang:

  • Hive UDF's worden niet ondersteund.

  • applyInPandas en mapInPandas databricks Runtime 14.3 of hoger vereisen.

  • Scalaire UDF's vereisen Databricks Runtime 14.2 of hoger. Andere Scala UDF's en UDAF's worden niet ondersteund.

  • In Databricks Runtime 14.2 en lager, met behulp van een aangepaste versie van grpc, pyarrowof protobuf in een PySpark UDF via notebook-scoped of clusterbereikd bibliotheken wordt niet ondersteund omdat de geïnstalleerde versie altijd de voorkeur heeft. Zie de sectie Systeemomgeving van de releaseopmerkingen van de specifieke releaseopmerkingen van de Databricks Runtime-versie om de versie van geïnstalleerde bibliotheken te vinden.

  • Python scalaire UDF's en Pandas UDF's vereisen Databricks Runtime 13.3 LTS of hoger.

  • Niet-scalaire Python- en Pandas UDF's, waaronder UDAF's, UDDF's en Pandas in Spark, vereisen Databricks Runtime 14.3 LTS of hoger.

Zie door de gebruiker gedefinieerde functies (UDF's) in Unity Catalog.

beperkingen en vereisten voor streaming voor Unity Catalog modus voor gedeelde toegang

Notitie

Sommige van de vermelde Kafka-opties hebben beperkte ondersteuning wanneer ze worden gebruikt voor ondersteunde configuraties in Azure Databricks. Alle vermelde Kafka-beperkingen zijn geldig voor zowel batch- als streamverwerking. Zie Stream-verwerking met Apache Kafka en Azure Databricks.

  • Voor Scala vereist foreach Databricks Runtime 16.1 of hoger. foreachBatchen FlatMapGroupWithState worden niet ondersteund.
  • Voor Python foreachBatch worden de volgende gedragswijzigingen aangebracht in Databricks Runtime 14.0 en hoger:
    • print() opdrachten schrijven uitvoer naar de stuurprogrammalogboeken.
    • U hebt geen toegang tot de dbutils.widgets submodule in de functie.
    • Bestanden, modules of objecten waarnaar in de functie wordt verwezen, moeten serialiseren en beschikbaar zijn in Spark.
  • Voor Scala from_avro is Databricks Runtime 14.2 of hoger vereist.
  • applyInPandasWithState vereist Databricks Runtime 14.3 LTS of hoger.
  • Werken met socketbronnen wordt niet ondersteund.
  • De sourceArchiveDir moet zich op dezelfde externe locatie bevinden als de bron wanneer u option("cleanSource", "archive") gebruikt met een gegevensbron die wordt beheerd door Unity Catalog.
  • Voor Kafka-bronnen en -sinks worden de volgende opties niet ondersteund:
    • kafka.sasl.client.callback.handler.class
    • kafka.sasl.login.callback.handler.class
    • kafka.sasl.login.class
    • kafka.partition.assignment.strategy
  • De volgende Kafka-opties worden ondersteund in Databricks Runtime 13.3 LTS en hoger, maar niet ondersteund in Databricks Runtime 12.2 LTS. U kunt alleen externe locaties opgeven die worden beheerd door Unity Catalog voor deze opties:
    • kafka.ssl.truststore.location
    • kafka.ssl.keystore.location
  • Voor Scala vereist StreamingQueryListener Databricks Runtime 16.1 en hoger.
  • Voor Python vereist StreamingQueryListener Databricks Runtime 14.3 LTS of hoger om credentials te gebruiken of te communiceren met objecten die worden beheerd door Unity Catalog op gedeelde rekenkracht.

Beperkingen en vereisten voor netwerk- en bestandssysteemtoegang voor Unity Catalog modus voor gedeelde toegang

  • U moet opdrachten uitvoeren op rekenknooppunten als een gebruiker met beperkte bevoegdheden die geen toegang heeft tot gevoelige onderdelen van het bestandssysteem.

  • In Databricks Runtime 11.3 LTS en hieronder kunt u alleen netwerk connections maken naar poorten 80 en 443.

  • U kunt geen verbinding maken met de instantiemetagegevensservice of Azure WireServer.

algemene beperkingen voor Unity-Catalog

De volgende beperkingen gelden voor alle Unity-Catalog-toegangsmodi.

streamingbeperkingen voor Unity Catalog

  • De modus continue verwerking van Apache Spark wordt niet ondersteund. Zie Continue verwerking in de Spark Structured Streaming Programming Guide.

Zie ook streamingbeperkingen voor Unity Catalog modus voor toegang tot één gebruiker en Streaming-beperkingen en -vereisten voor de gedeelde toegangsmodus van Unity Catalog.

Zie Unity-Catalog gebruiken met Structured Streamingvoor meer informatie over streamen met Unity Catalog.