Omezení bezserverových výpočetních prostředků

Tento článek vysvětluje aktuální omezení výpočetních prostředků bez serveru pro poznámkové bloky a úlohy. Začíná přehledem nejdůležitějších aspektů a pak poskytuje komplexní referenční seznam omezení.

Podpora jazyků a rozhraní API

  • R není podporován.
  • Podporují se pouze rozhraní API služby Spark Connect. Rozhraní API Spark RDD nejsou podporována.
  • Spark Connect, který je využíván bezserverovými výpočty, odkládá analýzy a překlad názvů na dobu provádění, což může změnit chování vašeho kódu. Viz Porovnání Spark Connect s Klasickým Sparkem.
  • ANSI režim je ve výchozím nastavení zapnutý. Neplatná přetypování, aritmetické přetečení a nesprávně formátovaný vstup způsobují chyby za běhu místo tichého vracení NULL nebo nesprávného výsledku. Informace o tom, jak řešit operace měnící chování a omezení možnosti vypnutí, najdete v sekci SQL rozdíly v chování v příručce k migraci.
  • Výchozím časovým pásmem Etc/UTC pro sezení je (koordinovaný univerzální čas). Pro použití jiného časového pásma nastavte spark.sql.session.timeZone. Viz Konfigurace vlastností Sparku pro bezserverové poznámkové bloky a úlohy.
  • Při vytváření datového rámce z místních dat pomocí spark.createDataFrame, velikosti řádků nesmí překročit 128 MB.

Přístup k datům a úložiště

  • Abyste se mohli připojit k externím zdrojům dat, musíte použít Katalog Unity. K přístupu ke cloudovému úložišti používejte externí umístění.
  • Přístup k DBFS je omezený. Místo toho použijte svazky Unity Catalog nebo soubory pracovního prostoru.
  • Pracovní adresář pro zápisníky a úlohy není zaručen, takže relativní cesty k souborům a relativní importy do Python mohou selhat. Používejte absolutní cesty pro odkazování na soubory a importujte sdílený Python kód jako pracovní soubory místo relativních modulů. Viz Práce s moduly Python a R.
  • Souřadnice Mavenu nejsou podporovány.
  • Globální dočasná zobrazení se nepodporují. Pokud se vyžaduje předávání dat mezi relacemi, databricks doporučuje používat dočasná zobrazení relace nebo vytvářet tabulky.

Uživatelem definované funkce (UDF)

Uživatelské rozhraní a protokolování

  • Uživatelské rozhraní Sparku není k dispozici. Místo toho použijte profil dotazu k zobrazení informací o dotazech Sparku. Viz profil dotazu.
  • Protokoly Sparku nejsou k dispozici. Uživatelé mají přístup pouze k protokolům aplikací na straně klienta.

Přístup k sítím a pracovním prostorům

  • Přístup mezi pracovními prostory je povolený jen v případě, že se pracovní prostory nacházejí ve stejné oblasti a cílový pracovní prostor nemá nakonfigurovaný ACL IP ani front-end PrivateLink.
  • Služba Databricks Container Services se nepodporuje.
  • Bezserverové výpočetní prostředí se nemůže připojit ke zdrojům, které jsou dostupné pouze prostřednictvím protokolu IPv6. Zdroje musí být dostupné přes IPv4.

Omezení streamování

Serverless výpočetní výkon pro notebooky a úlohy podporuje následující spouštěče strukturovaného streamování:

  • Trigger.AvailableNow(). Databricks doporučuje tento režim triggeru pro bezserverové výpočetní prostředky.
  • Trigger.Once(). Tento zastaralý režim se podporuje, ale nedoporučuje se.

Následující spouštěče nejsou podporovány v serverless noteboích ani pracovních úlohách:

  • Trigger.Continuous(interval).
  • Trigger.ProcessingTime(interval).
    • Pokud nezadáte režim triggeru, Apache Spark ve výchozím nastavení nastaví trigger na Trigger.ProcessingTime("0 seconds"). U výpočetních prostředků bez serveru musíte nastavit podporovaný trigger.

Pokud se pokusíte použít nepodporovanou aktivační událost, dotaz vyvolá chybu INFINITE_STREAMING_TRIGGER_NOT_SUPPORTED.

Tato spouštěcí omezení se nevztahují na způsoby zpracování kanálů Lakeflow. Pro kontinuální streamování použijte serverless pipeline v kontinuálním režimu, nebo použijte Trigger.AvailableNow() v kontinuální úloze. Režim v reálném čase v pipelinech Lakeflow podporuje provozní úlohy s latencí pod jednu sekundu, se specifickými požadavky na runtime, zdroj, cíl a operátor.

Průvodce rozhodováním, který mapuje případy použití streamování na správný bezserverový produkt, najdete v tématu Streamování na bezserverové výpočetní prostředky.

Platí také všechna omezení pro streamování v režimu standardního přístupu. Viz omezení streamování.

Omezení notebooků

  • Jazyk Scala ani R není v noteboocích podporován.
  • Knihovny JAR nejsou v poznámkových blocích podporované. Alternativní řešení najdete v tématu Osvědčené postupy pro výpočetní prostředky bez serveru. Podporují se úlohy JAR v rámci úloh. Podívejte se na úkol JAR přiřazený pracovním úlohám.
  • Knihovny určené pro poznámkové bloky se neukládají do mezipaměti napříč vývojovými relacemi.
  • Sdílení tabulek a zobrazení TEMP při sdílení poznámkového bloku mezi uživateli se nepodporuje.
  • Automatické dokončování a průzkumník proměnných pro datové rámce v poznámkových sešitech nejsou podporovány.
  • Ve výchozím nastavení se nové poznámkové bloky ukládají ve .ipynb formátu. Pokud je váš poznámkový blok uložen ve zdrojovém formátu, nemusí se bezserverová metadata zachytit správně a některé funkce nemusí fungovat podle očekávání.
  • Značky poznámkových bloků nejsou podporovány. Použijte zásady pro bezserverové využití k označení bezserverového využití.

Omezení úloh

  • Logy úloh zobrazené na stránce běhu úlohy nejsou izolované pro jednotlivé spuštěné úkoly a obsahují výstupy z více úloh. Pro doručení aplikačních logů do svazku v adresářích uspořádaných podle běhu úlohy viz Doručit serverless logy do svazku Unity Catalog.
  • Knihovny úloh nejsou podporovány pro úkoly poznámkového bloku. Místo toho používejte knihovny omezené na poznámkový blok. Viz knihovny Python v rámci notebooků.
  • Ve výchozím nastavení nemají úlohy bez serveru časový limit provádění dotazů. Pomocí vlastnosti spark.databricks.execution.timeout můžete nastavit časový limit provádění dotazů úloh. Další podrobnosti najdete v tématu Konfigurace vlastností Sparku pro bezserverové poznámkové bloky a úlohy.
  • Bezserverové výpočty mají maximální dobu běhu 7 dnů. Běhy, které překročí 7 dnů, platforma ukončí a nebudou znovu spuštěny. Pokud chcete spouštět úlohy déle než 7 dní, rozdělte je na menší spuštění nebo použijte klasické výpočetní prostředky.

Omezení specifická pro výpočty

Následující funkce specifické pro výpočetní prostředky se nepodporují:

Omezení ukládání do mezipaměti

  • Metadata se ukládají do mezipaměti v bezserverových výpočetních relacích. Z tohoto důvodu se kontext relace při přepínání katalogů nemusí plně obnovit. Pokud chcete vymazat kontext relace, resetujte výpočetní prostředek bez serveru nebo spusťte novou relaci.
  • df.cache(), df.persist() a df.unpersist() jsou podporovány. Viz Cache DataFrames na serverless compute.
  • Následující rozhraní API mezipaměti a příkazy SQL nejsou podporovány v bezserverových výpočetních prostředcích. Když použijete některá z těchto rozhraní API nebo příkazů SQL, dojde k výjimce.
  • Cache modelu Spark ML je omezena na 1 GB (1073741824 bajtů) na relaci, zatímco jeden model je omezen na 100 MB. Oba limity jsou nižší u serverless compute než u klasického výpočetního systému a žádný z nich nelze změnit. Překročení limitu sezení zvyšuje ML_CACHE_SIZE_OVERFLOW_EXCEPTION. Překročení limitu velikosti pro model vyvolá MODEL_SIZE_OVERFLOW_EXCEPTION. Pro uvolnění místa v cache smažte Python odkazy na modely, které už nepoužíváte. Modely, které nejsou po dobu 15 minut používány, se přesunou na lokální disk a stále se započítávají do limitu relace.

Omezení Hive

  • Tabulky Hive SerDe se nepodporují. Kromě toho se nepodporuje odpovídající příkaz LOAD DATA, který načte data do tabulky Hive SerDe. Při použití příkazu dojde k výjimce.

  • Proměnné Hive (například ${env:var}, ${configName}, ${system:var}a spark.sql.variable) nebo odkazy na proměnné konfigurace používající ${var} syntaxi nejsou podporovány. Při použití proměnných Hive dojde k výjimce.

    Místo toho použijte DECLARE VARIABLE odkazy na proměnné relace SQL SET VARIABLE a značky parametrů ('?', nebo ':var') k deklaraci, úpravě a odkazu na stav relace. V mnoha případech můžete také použít klauzuli IDENTIFIER k parametrizaci názvů objektů.

Podporované zdroje dat

Bezserverové výpočetní prostředky podporují pro operace DML následující zdroje dat (zápis, aktualizace, odstranění):

  • CSV
  • JSON
  • AVRO
  • DELTA
  • KAFKA
  • PARQUET
  • ORC
  • TEXT
  • UNITY_CATALOG
  • BINARYFILE
  • XML
  • SIMPLESCAN
  • ICEBERG

Výpočetní prostředí bez serveru podporuje pro operace čtení následující zdroje dat:

  • CSV
  • JSON
  • AVRO
  • DELTA
  • KAFKA
  • PARQUET
  • ORC
  • TEXT
  • UNITY_CATALOG
  • BINARYFILE
  • XML
  • SIMPLESCAN
  • ICEBERG
  • MYSQL
  • POSTGRESQL
  • SQLSERVER
  • REDSHIFT
  • SNOWFLAKE
  • SQLDW(Azure Synapse)
  • DATABRICKS
  • BIGQUERY
  • ORACLE
  • SALESFORCE
  • SALESFORCE_DATA_CLOUD
  • TERADATA
  • WORKDAY_RAAS
  • MONGODB