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
voortrue
.
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.sparkContext
ensqlContext
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 hetSparkSession
exemplaar te communiceren. - De volgende
sc
functies worden ook niet ondersteund: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 raadt aan de
- Voor de volgende Scala Dataset-API-bewerkingen is Databricks Runtime 15.4 LTS of hoger vereist:
map
,mapPartitions
,foreachPartition
,flatMap
enreduce
.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
enmapInPandas
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
,pyarrow
ofprotobuf
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.foreachBatch
enFlatMapGroupWithState
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 uoption("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.