Poznámka:
Přístup k této stránce vyžaduje autorizaci. Můžete se zkusit přihlásit nebo změnit adresáře.
Přístup k této stránce vyžaduje autorizaci. Můžete zkusit změnit adresáře.
Tato stránka obsahuje seznam požadavků a omezení pro standardní výpočetní prostředky. Pokud používáte klasické výpočetní prostředky, Databricks doporučuje používat standardní režim přístupu, pokud vaše úloha není závislá na jednom z níže uvedených omezení.
Důležité
Inicializační skripty a knihovny mají různé podpory napříč režimy přístupu a verzemi Databricks Runtime. Podívejte se na možnosti instalace inicializačních skriptů a knihovny pro výpočetní prostředky.
Aktuální standardní omezení výpočetních prostředků
Následující části obsahují omezení pro standardní výpočetní prostředky na základě nejnovější verze Databricks Runtime. Omezení, která platí pro starší verze databricks Runtime, najdete v tématu Omezení závislá na modulu runtime.
Pokud se tyto funkce vyžadují pro vaši úlohu, použijte místo toho vyhrazené výpočetní prostředky .
Obecná omezení standardních výpočetních prostředků
- Databricks Runtime pro ML se nepodporuje. Místo toho nainstalujte jakoukoli knihovnu ML, která není součástí modulu Databricks Runtime, jako knihovnu s vymezeným výpočetním oborem.
- Výpočetní prostředky s podporou GPU se nepodporují.
- Odesílání úkolů Spark-submit není podporováno. Místo toho použijte úlohu JAR.
- DBUtils a další klienti mohou číst pouze z cloudového úložiště prostřednictvím externí lokace.
- Kořen a připojení DBFS nepodporují FUSE.
Omezení jazyka
- R není podporován.
Omezení rozhraní Spark API
- Kontext Sparku (
sc),spark.sparkContextasqlContextnejsou podporovány pro Scala:- Azure Databricks doporučuje používat proměnnou
sparkk interakci sSparkSessioninstancí. -
scNásledující funkce se také nepodporují:emptyRDD,range,init_batched_serializer,parallelize,pickleFile,textFile,wholeTextFiles,binaryFiles,binaryRecords,sequenceFile,newAPIHadoopFile,newAPIHadoopRDD,hadoopFile,hadoopRDD,union,runJob,setSystemProperty,uiWebUrl,stop,setJobGroup,setLocalProperty,getConf.
- Azure Databricks doporučuje používat proměnnou
- Nastavení určitých vlastností konfigurace Sparku se nepodporuje. Vytvoření nebo úprava clusteru, který nastaví omezenou vlastnost, selže s chybou. Úplný seznam najdete v tématu Omezení konfigurace Sparku.
- Při vytváření datového rámce z místních dat pomocí
spark.createDataFrame, velikosti řádků nesmí překročit 128 MB. - Rozhraní API RDD nejsou podporovány.
- Spark Connect, který se používá v aktuálnějších verzích Databricks Runtime, analýzu a rozpoznávání názvů posouvá na dobu vykonávání, což může změnit chování vašeho kódu. Viz Porovnání Spark Connect s Klasickým Sparkem.
UDF omezení
- Uživatelské funkce Hive nejsou podporovány. Místo toho použijte UDF v Unity Catalogu.
- Scala UDF nelze použít uvnitř funkcí s vyšším pořadím.
Omezení streamování
Poznámka:
Některé z uvedených možností Kafka mají omezenou podporu při použití pro podporované konfigurace v Azure Databricks. Všechna uvedená omezení Kafka jsou platná pro dávkové zpracování i zpracování datových proudů. Viz Připojení k Apache Kafka.
- Práce se soketovými zdroji není podporována.
-
sourceArchiveDirmusí být ve stejném externím umístění jako zdroj, pokud používáteoption("cleanSource", "archive")se zdrojem dat spravovaným katalogem Unity. - U zdrojů a jímek Kafka se nepodporují následující možnosti:
kafka.sasl.client.callback.handler.classkafka.sasl.login.callback.handler.classkafka.sasl.login.classkafka.partition.assignment.strategy
- Python
foreachBatchnepodporujeThreadPoolExecutorani spouštění s více vlákny. Spuštění ve více vláknech nemusí vyvolat chyby, ale může vést k poškození dat nebo nekonzistentním výsledkům.
Omezení sítě a systému souborů
- Standardní výpočetní prostředí spouští příkazy jako uživatel s nízkými oprávněními, který má zakázaný přístup k citlivým částem systému souborů.
-
Cesty ve stylu POSIX (
/) pro DBFS nejsou podporovány. - Soubory mohou prostřednictvím DBFS přímo spravovat pouze správci pracovního prostoru a uživatelé s oprávněním K LIBOVOLNÉMU SOUBORU.
- Nemůžete se připojit ke službě metadat instance ani k Azure WireServeru.
Omezení proměnných prostředí
Pro modul Spark a inicializační skripty ve standardním výpočetním prostředí je k dispozici pouze předdefinovaná sada proměnných prostředí. Proměnné prostředí, které jste nastavili v clusteru, ale které nejsou v této sadě, zůstanou dostupné pro uživatelský kód, včetně UDF, ale nejsou dostupné pro modul Spark nebo inicializační skripty.
Tato sada zahrnuje běžnou konfiguraci, přihlašovací údaje a proměnné modulu runtime. Následující příklady nejsou vyčerpávající:
- Sítě a proxy servery:
HTTP_PROXY,HTTPS_PROXY,NO_PROXY - Certifikáty TLS:
REQUESTS_CA_BUNDLE,SSL_CERT_FILE - Přihlašovací údaje a oblast AWS:
AWS_ACCESS_KEY_ID,AWS_SECRET_ACCESS_KEYAWS_REGION,AWS_DEFAULT_REGION - Azure přihlašovací údaje:
AZURE_CLIENT_ID,AZURE_CLIENT_SECRET,AZURE_TENANT_ID - Přihlašovací údaje Google Cloudu:
GOOGLE_APPLICATION_CREDENTIALS - Připojení Databricks:
DATABRICKS_HOST,DATABRICKS_TOKEN - Nastavení oblasti a časové pásmo:
TZ,LANG,LC_ALL - Paralelismus a podprocesy:
OMP_NUM_THREADS,OPENBLAS_NUM_THREADS,MKL_NUM_THREADSNUMEXPR_NUM_THREADS - Pozorovatelnost:
DD_API_KEY,DD_SITE,DD_ENV - Výchozí hodnoty katalogu Unity:
CATALOG,CATALOG_NAME
Omezení kernelu Scala
Při použití jádra scala ve standardním výpočetním prostředí platí následující omezení:
- Některé třídy nelze v kódu použít, pokud jsou v konfliktu s interní knihovnou jádra mandle, zejména
Input. Pro seznam definovaných importů mandlí, viz část import mandlí. - Přímé protokolování do log4j není podporováno.
- V uživatelském rozhraní se rozevírací seznam schématu datového rámce nepodporuje.
- Pokud ovladač dosáhne stavu vyčerpání paměti (Out of Memory), Scala REPL se neukončí.
-
//connector/sql-aws-connectors:sql-aws-connectorsnení součástí bazel targetu Scala REPL, použijte výsledky vClassNotFoundException. - Jádro Scala není kompatibilní s SQLImplicits.
Omezení závislá na modulu runtime
Následující omezení se vyřešila prostřednictvím aktualizací modulu runtime, ale pokud používáte starší modul runtime, může se stále na vaši úlohu vztahovat.
Podpora jazyků
| Vlastnost | Požadovaná verze Databricks Runtime |
|---|---|
| Scala | 13.3 nebo vyšší |
| Ve výchozím nastavení jsou k dispozici všechny knihovny Java a Scala, které jsou součástí běhového prostředí. | 15.4 LTS nebo vyšší (pro 15.3 nebo nižší: nastavte spark.databricks.scala.kernel.fullClasspath.enabled=true) |
Podpora rozhraní Spark API
| Vlastnost | Požadovaná verze Databricks Runtime |
|---|---|
| Spark ML | 17,0 nebo vyšší |
Python: SparkContext (sc), spark.sparkContextsqlContext |
14,0 nebo vyšší |
Scala Dataset ops: map, mapPartitions, foreachPartition, flatMap, reduce, filter |
15.4 LTS nebo vyšší |
Podpora UDF (uživatelem definované funkce)
| Vlastnost | Požadovaná verze Databricks Runtime |
|---|---|
applyInPandas, mapInPandas |
14.3 LTS nebo vyšší |
| Skalární uživatelsky definované funkce a uživatelsky definované agregační funkce Scala | 14.3 LTS nebo vyšší |
| Import modulů ze složek Gitu, souborů pracovního prostoru nebo svazků v UDF PySpark | 14.3 LTS nebo vyšší |
Použijte vlastní verze grpc, pyarrow nebo protobuf v PySpark UDF prostřednictvím knihoven, které jsou omezeny na poznámkové bloky nebo výpočetní prostředky. |
14.3 LTS nebo vyšší |
| Neskalární UDF v Pythonu a Pandas, včetně UDAF, UDTF a Pandas ve Sparku | 14.3 LTS nebo vyšší |
| Uživatelem definované funkce (UDFs) v Pythonu a uživatelem definované funkce pro Pandas | 13.3 LTS nebo vyšší |
Podpora streamování
| Vlastnost | Požadovaná verze Databricks Runtime |
|---|---|
transformWithStateInPandas |
16.3 nebo vyšší |
applyInPandasWithState |
14.3 LTS nebo vyšší |
Scala foreach |
16.1 nebo vyšší |
Scala foreachBatch a flatMapGroupsWithState |
16.2 nebo vyšší |
Scala from_avro |
14.2 nebo vyšší |
Možnosti Kafky kafka.ssl.truststore.location a kafka.ssl.keystore.location (zadané umístění musí být externím umístěním spravovaným katalogem Unity) |
13.3 LTS nebo vyšší |
Scala StreamingQueryListener |
16.1 nebo vyšší |
Interakce Pythonu StreamingQueryListener s objekty spravovanými katalogem Unity |
14.3 LTS nebo vyšší |
Kromě toho má Python foreachBatch následující změny chování v Databricks Runtime 14.0 a vyšším:
-
print()příkazy zapisují výstup do protokolů ovladačů. - K dílčímu
dbutils.widgetsmodulu uvnitř funkce nelze získat přístup. - Všechny soubory, moduly nebo objekty odkazované ve funkci musí být serializovatelné a dostupné ve Sparku.
Podpora sítě a systému souborů
| Vlastnost | Požadovaná verze Databricks Runtime |
|---|---|
| Připojení k portům jiným než 80 a 443 | 12.2 LTS nebo vyšší |
Omezení konfigurace Sparku
V Databricks Runtime 19 a novějších není možné nastavit následující vlastnosti konfigurace Sparku ve standardním režimu přístupu. Vytvoření nebo úprava clusteru, který nastaví některou z těchto vlastností, nebo vlastnost, která začíná jednou z uvedených předpon (zobrazených na konci .*), selže s chybou. Před upgradem odeberte tyto vlastnosti z konfigurace clusteru, zásad výpočetních prostředků a definic úloh.
| Category | Omezené vlastnosti konfigurace Sparku |
|---|---|
| Možnosti JVM, classpath a nativních knihoven |
spark.driver.extraJavaOptions, spark.driver.defaultJavaOptions, spark.executor.extraJavaOptions, spark.executor.defaultJavaOptions, spark.yarn.am.extraJavaOptions, spark.yarn.am.defaultJavaOptions, spark.driver.extraClassPath, spark.executor.extraClassPath, spark.driver.extraLibraryPath, spark.executor.extraLibraryPath |
| Injektáž proměnné prostředí |
spark.executorEnv.*, spark.yarn.appMasterEnv.*, spark.kubernetes.driverEnv.* |
| Knihovny, soubory JAR a soubory |
spark.jars, spark.jars.packages, spark.jars.ivy, spark.jars.ivySettings, spark.jars.repositories, spark.files, spark.archives, spark.submit.pyFiles, spark.sql.maven.additionalRemoteRepositories, spark.yarn.jars, spark.yarn.archive, spark.yarn.dist.jars, spark.yarn.dist.files, spark.yarn.dist.archives, spark.yarn.dist.pyFiles, spark.yarn.dist.forceDownloadSchemes |
| Jar metastoru Hive |
spark.sql.hive.metastore.jars, spark.sql.hive.metastore.jars.path |
| Python a spustitelné soubory R |
spark.pyspark.python, spark.pyspark.driver.python, spark.r.command, , spark.r.driver.commandspark.r.shell.command |
| Konfigurace podu Kubernetes |
spark.kubernetes.container.image, spark.kubernetes.driver.container.image, spark.kubernetes.executor.container.image, spark.kubernetes.driver.podTemplateFile, spark.kubernetes.executor.podTemplateFile, spark.kubernetes.driver.volumes.*, spark.kubernetes.executor.volumes.*, spark.kubernetes.driver.secrets.*, spark.kubernetes.executor.secrets.* |
| Přístup k místnímu systému souborů |
spark.connect.copyFromLocalToFs.allowDestLocal, spark.sql.artifact.copyFromLocalToFs.allowDestLocal |
| Izolace Azure Databricks a řízení přístupu |
spark.databricks.pyspark.enableProcessIsolation, spark.databricks.pyspark.enablePy4JSecurity, spark.databricks.pyspark.runAsLowPrivilegeUser, spark.databricks.pyspark.enableIptables, spark.databricks.pyspark.onlyAllowTrustedFilesystems, spark.databricks.pyspark.trustedFilesystems, spark.databricks.pyspark.pythonUdfsOnly, spark.databricks.acl.dfAclsEnabled, spark.databricks.acl.fileAccess.enabled, spark.databricks.acl.allowTransformUsing, spark.databricks.passthrough.enabled, spark.databricks.runtimeConfigAllowlist.enabled, spark.databricks.runtimeConfigAllowlist.extraConfs, spark.testing.databricks.runtimeConfigAllowlist.enabled, spark.databricks.sql.jdbc.enableLakeguardDriver |