Beperkingen voor serverloze compute
In dit artikel worden de huidige beperkingen van serverloze berekeningen voor notebooks en taken uitgelegd. Het begint met een overzicht van de belangrijkste overwegingen en biedt vervolgens een uitgebreide referentielijst met beperkingen.
Overzicht van beperkingen
Voordat u nieuwe workloads maakt of workloads migreert naar serverloze berekeningen, moet u eerst rekening houden met de volgende beperkingen:
- Python en SQL zijn de enige ondersteunde talen.
- Alleen Api's voor Spark-verbinding worden ondersteund. Spark RDD-API's worden niet ondersteund.
- JAR-bibliotheken worden niet ondersteund. Zie De aanbevolen procedures voor serverloze berekeningen voor tijdelijke oplossingen.
- Serverloze compute heeft onbeperkte toegang voor alle werkruimtegebruikers.
- Notitiebloktags worden niet ondersteund.
- Voor streaming kan alleen incrementele batchlogica worden gebruikt. Er is geen ondersteuning voor standaard- of tijdgebonden triggerintervallen. Zie Beperkingen voor streaming.
Referentielijst met beperkingen
In de volgende secties worden de huidige beperkingen van serverloze berekeningen vermeld.
Serverloze rekenkracht is gebaseerd op de gedeelde rekenarchitectuur. Hieronder vindt u de meest relevante beperkingen die zijn overgenomen van gedeelde berekeningen, samen met aanvullende serverloze beperkingen. Zie Beperkingen voor de compute-toegangsmodus voor Unity Catalog voor een volledige lijst met beperkingen voor gedeelde berekeningen.
Algemene beperkingen
Scala en R worden niet ondersteund.
ANSI SQL is de standaardinstelling bij het schrijven van SQL. Afmelden bij ANSI-modus door in te stellen op
spark.sql.ansi.enabled
false
.Spark RDD-API's worden niet ondersteund.
Spark-context (sc)
spark.sparkContext
ensqlContext
worden niet ondersteund.Databricks Container Services wordt niet ondersteund.
De webterminal wordt niet ondersteund.
Er kan geen query langer dan 48 uur worden uitgevoerd.
U moet Unity Catalog gebruiken om verbinding te maken met externe gegevensbronnen. Gebruik externe locaties voor toegang tot cloudopslag.
Ondersteuning voor gegevensbronnen is beperkt tot AVRO, BINARYFILE, CSV, DELTA, JSON, KAFKA, ORC, PARQUET, ORC, TEKST en XML.
Door de gebruiker gedefinieerde functies (UDF's) hebben geen toegang tot internet. Hierdoor wordt de opdracht CREATE FUNCTION (Extern) niet ondersteund. Databricks raadt het gebruik van CREATE FUNCTION (SQL en Python) aan om UDF's te maken.
Afzonderlijke rijen mogen niet groter zijn dan de maximale grootte van 128 MB.
De Spark-gebruikersinterface is niet beschikbaar. Gebruik in plaats daarvan het queryprofiel om informatie over uw Spark-query's weer te geven. Zie Queryprofiel.
Toegang tussen werkruimten is alleen toegestaan als de werkruimten zich in dezelfde regio bevinden en de doelwerkruimte geen IP-ACL of front-end PrivateLink heeft geconfigureerd.
Globale tijdelijke weergaven worden niet ondersteund. Databricks raadt u aan om tijdelijke sessieweergaven te gebruiken of tabellen te maken waarbij het doorgeven van gegevens in meerdere sessies vereist is.
Streamingbeperkingen
- Er is geen ondersteuning voor standaard- of tijdgebonden triggerintervallen. Alleen
Trigger.AvailableNow
wordt ondersteund. Zie Triggerintervallen voor gestructureerd streamen configureren. - Alle beperkingen voor streaming in de modus voor gedeelde toegang zijn ook van toepassing. Zie streamingbeperkingen en -vereisten voor de gedeelde toegangsmodus van Unity Catalog.
Beperkingen voor machine learning
- Databricks Runtime voor Machine Learning en Apache Spark MLlib worden niet ondersteund.
- GPU's worden niet ondersteund.
Beperkingen voor notitieblokken
- Notebooks hebben toegang tot 8 GB geheugen dat niet kan worden geconfigureerd.
- Notebook-scoped bibliotheken worden niet in de cache opgeslagen in ontwikkelingssessies.
- Het delen van TEMP-tabellen en weergaven bij het delen van een notitieblok tussen gebruikers wordt niet ondersteund.
- Automatisch aanvullen en Variable Explorer voor dataframes in notebooks worden niet ondersteund.
Werkstroombeperkingen
- De stuurprogrammagrootte voor serverloze berekeningen voor taken is momenteel opgelost en kan niet worden gewijzigd.
- Taaklogboeken worden niet geïsoleerd per taakuitvoering. Logboeken bevatten de uitvoer van meerdere taken.
- Taakbibliotheken worden niet ondersteund voor notebooktaken. Gebruik in plaats daarvan notebookbibliotheken. Zie Notebook-scoped Python libraries (Notebook-scoped Python-bibliotheken) voor meer informatie.
Compute-specifieke beperkingen
De volgende rekenspecifieke functies worden niet ondersteund:
- Rekenbeleid
- Init-scripts met rekenbereik
- Bibliotheken met rekenbereik, waaronder aangepaste gegevensbronnen en Spark-extensies. Gebruik in plaats daarvan notebookbibliotheken .
- Configuraties voor gegevenstoegang op rekenniveau, inclusief exemplaarprofielen. Als gevolg hiervan werkt het openen van tabellen en bestanden via HMS op cloudpaden of met DBFS-koppelingen zonder ingesloten referenties niet.
- Exemplaargroepen
- Gebeurtenislogboeken berekenen
- De meeste Apache Spark-rekenconfiguraties. Zie Ondersteunde Spark-configuratieparameters voor een lijst met ondersteunde configuraties.
- Omgevingsvariabelen. In plaats daarvan raadt Databricks aan om widgets te gebruiken om taak- en taakparameters te maken.
Beperkingen voor opslaan in cache
Dataframe- en SQL-cache-API's worden niet ondersteund op serverloze berekeningen. Als u een van deze API's of SQL-opdrachten gebruikt, resulteert dit in een uitzondering.
- df.cache(), df.persist()
- df.unpersist()
- spark.catalog.cacheTable()
- spark.catalog.uncacheTable()
- spark.catalog.clearCache()
- CACHE TABLE
- UNCACHE TABLE
- REFRESH TABLE
- CLEAR CACHE
Hive-beperkingen
Hive SerDe-tabellen worden niet ondersteund. Daarnaast wordt de bijbehorende opdracht LOAD DATA waarmee gegevens in een Hive SerDe-tabel worden geladen, niet ondersteund. Als u de opdracht gebruikt, resulteert dit in een uitzondering.
Ondersteuning voor gegevensbronnen is beperkt tot AVRO, BINARYFILE, CSV, DELTA, JSON, KAFKA, ORC, PARQUET, ORC, TEKST en XML.
Hive-variabelen (bijvoorbeeld
${env:var}
,${system:var}
${configName}
en )spark.sql.variable
of verwijzingen naar configuratievariabelen met behulp van de${var}
syntaxis worden niet ondersteund. Het gebruik van Hive-variabelen resulteert in een uitzondering.Gebruik in plaats daarvan DECLARE VARIABLE, SET VARIABLE en SQL-sessievariabeleverwijzingen en parametermarkeringen ('?', of ':var') om de sessiestatus te declareren, te wijzigen en te verwijzen. U kunt ook de ID-component gebruiken om objectnamen in veel gevallen te parameteriseren.