Begränsningar för serverlös beräkning
Den här artikeln förklarar de aktuella begränsningarna för serverlös beräkning för notebook-filer och jobb. Den börjar med en översikt över de viktigaste övervägandena och ger sedan en omfattande referenslista med begränsningar.
Översikt över begränsningar
Innan du skapar nya arbetsbelastningar eller migrerar arbetsbelastningar till serverlös beräkning bör du först överväga följande begränsningar:
- Python och SQL är de enda språk som stöds.
- Endast Api:er för Spark Connect stöds. Spark RDD-API:er stöds inte.
- JAR-bibliotek stöds inte. Lösningar finns i Metodtips för serverlös beräkning.
- Serverlös beräkning har obegränsad åtkomst för alla arbetsyteanvändare.
- Notebook-taggar stöds inte.
- För direktuppspelning kan endast inkrementell batchlogik användas. Det finns inget stöd för standard- eller tidsbaserade utlösarintervall. Se Begränsningar för direktuppspelning.
Referenslista för begränsningar
I följande avsnitt visas de aktuella begränsningarna för serverlös beräkning.
Serverlös beräkning baseras på den delade beräkningsarkitekturen. De mest relevanta begränsningarna som ärvs från delad beräkning visas nedan, tillsammans med ytterligare serverlösa specifika begränsningar. En fullständig lista över begränsningar för delad beräkning finns i Begränsningar för beräkningsåtkomstläge för Unity Catalog.
Allmänna begränsningar
Scala och R stöds inte.
ANSI SQL är standard när du skriver SQL. Avaktivering av ANSI-läge genom att ange
spark.sql.ansi.enabled
tillfalse
.Spark RDD-API:er stöds inte.
Spark Context (sc),
spark.sparkContext
, ochsqlContext
stöds inte.Databricks Container Services stöds inte.
Ingen fråga kan köras längre än 48 timmar.
Du måste använda Unity Catalog för att ansluta till externa datakällor. Använd externa platser för att få åtkomst till molnlagring.
Stöd för datakällor är begränsat till AVRO, BINARYFILE, CSV, DELTA, JSON, KAFKA, ORC, PARQUET, ORC, TEXT och XML.
Användardefinierade funktioner (UDF: er) kan inte komma åt Internet. Därför stöds inte kommandot CREATE FUNCTION (External). Databricks rekommenderar att du använder CREATE FUNCTION (SQL och Python) för att skapa UDF:er.
Enskilda rader får inte överskrida den maximala storleken på 128 MB.
Spark-användargränssnittet är inte tillgängligt. Använd i stället frågeprofilen för att visa information om dina Spark-frågor. Se Frågeprofil.
Spark-loggar är inte tillgängliga när du använder serverlösa notebook-filer och jobb. Användare har bara åtkomst till programloggar på klientsidan.
Åtkomst mellan arbetsytor tillåts endast om arbetsytorna finns i samma region och målarbetsytan inte har konfigurerat en IP-ACL eller privatelink i klientdelen.
Globala tillfälliga vyer stöds inte. Databricks rekommenderar att du använder temporära sessionsvyer eller skapar tabeller där dataöverföring mellan sessioner krävs.
Begränsningar för direktuppspelning
- Det finns inget stöd för standard- eller tidsbaserade utlösarintervall. Endast
Trigger.AvailableNow
stöds. Se Konfigurera utlösarintervall för strukturerad direktuppspelning. - Alla begränsningar för direktuppspelning i läget för delad åtkomst gäller också. Se Begränsningar och krav för direktuppspelning för enhetskatalogens läge för delad åtkomst.
Begränsningar för maskininlärning
- Databricks Runtime for Machine Learning och Apache Spark MLlib stöds inte.
- GPU:er stöds inte.
Begränsningar för notebook-filer
- Notebook-filer har åtkomst till 8 GB minne som inte kan konfigureras.
- Bibliotek med notebook-omfång cachelagras inte mellan utvecklingssessioner.
- Det går inte att dela TEMP-tabeller och vyer när du delar en notebook-fil mellan användare.
- Autocomplete och Variable Explorer för dataramar i notebook-filer stöds inte.
Arbetsflödesbegränsningar
- Drivrutinsstorleken för serverlös beräkning för jobb är för närvarande fast och kan inte ändras.
- Aktivitetsloggar är inte isolerade per aktivitetskörning. Loggarna innehåller utdata från flera uppgifter.
- Aktivitetsbibliotek stöds inte för notebook-uppgifter. Använd bibliotek med notebook-omfång i stället. Se Python-bibliotek med notebook-omfång.
Beräkningsspecifika begränsningar
Följande beräkningsspecifika funktioner stöds inte:
- Beräkningsprinciper
- Init-skript med beräkningsomfång
- Bibliotek med beräkningsomfång, inklusive anpassade datakällor och Spark-tillägg. Använd bibliotek med notebook-omfång i stället.
- Dataåtkomstkonfigurationer på beräkningsnivå, inklusive instansprofiler. Det innebär att åtkomst till tabeller och filer via HMS på molnsökvägar, eller med DBFS-monteringar som inte har några inbäddade autentiseringsuppgifter, inte fungerar.
- Instanspooler
- Beräkningshändelseloggar
- De flesta Apache Spark-beräkningskonfigurationer. En lista över konfigurationer som stöds finns i Spark-konfigurationsparametrar som stöds.
- Miljövariabler. I stället rekommenderar Databricks att du använder widgetar för att skapa jobb- och uppgiftsparametrar.
Begränsningar för cachelagring
API:er för dataram och SQL-cache stöds inte för serverlös beräkning. Om du använder något av dessa API:er eller SQL-kommandon resulterar det i ett undantag.
- df.cache(), df.persist()
- df.unpersist()
- spark.catalog.cacheTable()
- spark.catalog.uncacheTable()
- spark.catalog.clearCache()
- CACHE TABLE
- UNCACHE TABLE
- REFRESH TABLE
- CLEAR CACHE
Hive-begränsningar
Hive SerDe-tabeller stöds inte. Dessutom stöds inte motsvarande LOAD DATA-kommando som läser in data i en Hive SerDe-tabell. Om du använder kommandot resulterar det i ett undantag.
Stöd för datakällor är begränsat till AVRO, BINARYFILE, CSV, DELTA, JSON, KAFKA, ORC, PARQUET, ORC, TEXT och XML.
Hive-variabler (till exempel
${env:var}
,${configName}
,${system:var}
ochspark.sql.variable
) eller konfigurationsvariabelreferenser som använder syntaxen${var}
stöds inte. Om du använder Hive-variabler resulterar det i ett undantag.Använd i stället DEKLARERA VARIABEL, ANGE VARIABEL och SQL-sessionsvariabelreferenser och parametermarkörer ('?', eller ':var') för att deklarera, ändra och referera till sessionstillstånd. Du kan också använda IDENTIFIER-satsen för att parametrisera objektnamn i många fall.