Standart işlem gereksinimleri ve sınırlamaları

Bu sayfa, standart işlem gereksinimlerinin ve sınırlamalarının listesini içerir. Klasik işlem kullanıyorsanız Databricks, iş yükünüz aşağıda listelenen sınırlamalardan birine bağımlı olmadığı sürece standart erişim modunu kullanmanızı önerir.

Önemli

Init betikleri ve kitaplıkları, erişim modları ve Databricks Runtime sürümleri arasında farklı desteğe sahiptir. Bkz. Başlatma betikleri nereye kurulabilir? ve İşlem kapsamlı kütüphaneler.

Geçerli standart işlem sınırlamaları

Aşağıdaki bölümlerde, en son Databricks Runtime sürümünü temel alan standart işlem sınırlamaları listelemektedir. Eski Databricks Runtime sürümleri için geçerli olan sınırlamalar için bkz. Çalışma zamanına bağımlı sınırlamalar.

bu özellikler iş yükünüz için gerekliyse bunun yerine ayrılmış işlem kullanın.

Genel standart işlem sınırlamaları

  • ML için Databricks Runtime desteklenmez. Bunun yerine, Databricks Runtime ile birlikte olmayan ml kitaplıklarını işlem kapsamlı bir kitaplık olarak yükleyin.
  • GPU özellikli işlem desteklenmez.
  • Spark-submit görevleri desteklenmez. Bunun yerine JAR görevi kullanın.
  • DBUtils ve diğer istemciler yalnızca dış konum kullanarak bulut depolamadan okuyabilir.
  • DBFS kökü ve bağlamaları FUSE'ı desteklemez.

Dil sınırlamaları

  • R desteklenmez.

Spark API sınırlamaları

  • Spark Bağlamı (sc), spark.sparkContextve sqlContext Scala için desteklenmez:
    • Azure Databricks, spark değişkenini SparkSession örneği ile etkileşime geçmek için kullanmanızı önerir.
    • Aşağıdaki sc işlevler de desteklenmez: emptyRDD, range, init_batched_serializer, , parallelize, pickleFile, textFile, , , wholeTextFiles, , binaryFiles, binaryRecords, sequenceFilenewAPIHadoopFilenewAPIHadoopRDDhadoopFilehadoopRDDunionrunJob, setSystemProperty, . uiWebUrlstopsetJobGroupsetLocalPropertygetConf
  • Bazı Spark yapılandırma özelliklerinin ayarlanması desteklenmez. Kısıtlı bir özelliği ayarlayan bir küme oluşturma veya düzenleme işlemi hatayla başarısız oluyor. Listenin tamamı için bkz. Spark yapılandırma sınırlamaları.
  • kullanarak spark.createDataFrameyerel verilerden DataFrame oluştururken satır boyutları 128 MB'ı aşamaz.
  • RDD API'leri desteklenmez.
  • Databricks Runtime'ın daha yeni sürümlerinde kullanılan Spark Connect, analizi ve ad çözümlemesini yürütme süresine erteleyerek kodunuzun davranışını değiştirebilir. Bkz. Spark Connect ile Spark Klasik'i karşılaştırma.

UDF sınırlamaları

Akış sınırlamaları

Uyarı

Listelenen Kafka seçeneklerinden bazıları, Azure Databricks'te desteklenen yapılandırmalar için kullanıldığında sınırlı desteğe sahiptir. Listelenen tüm Kafka sınırlamaları hem toplu işlem hem de akış işleme için geçerlidir. Bkz. Apache Kafka'ya bağlanma.

  • Soket kaynaklarıyla çalışma desteklenmez.
  • Unity Kataloğu tarafından yönetilen bir veri kaynağıyla sourceArchiveDir kullandığınızda option("cleanSource", "archive") kaynakla aynı dış konumda olmalıdır.
  • Kafka kaynakları ve havuzları için aşağıdaki seçenekler desteklenmez:
    • kafka.sasl.client.callback.handler.class
    • kafka.sasl.login.callback.handler.class
    • kafka.sasl.login.class
    • kafka.partition.assignment.strategy
  • Python foreachBatch veya çok iş parçacıklı yürütmeyi ThreadPoolExecutor desteklemez. Çok iş parçacıklı yürütme hata oluşturmayabilir, ancak veri bozulmasına veya tutarsız sonuçlara neden olabilir.

Ağ ve dosya sistemi sınırlamaları

  • Standart hesaplama, düşük ayrıcalıklı bir kullanıcı olarak, dosya sisteminin hassas kısımlarına erişimi yasak olan komutları çalıştırır.
  • DBFS için POSIX stili yollar (/) desteklenmez.
  • Yalnızca çalışma alanı yöneticileri ve HERHANGİ Bİr DOSYA iznine sahip kullanıcılar DBFS kullanarak dosyalarla doğrudan etkileşime geçebilir.
  • Örnek meta veri hizmetine veya Azure WireServer'a bağlanamazsınız.

Ortam değişkeni sınırlamaları

Spark altyapısı ve başlatma betikleri için standart işlemde yalnızca önceden tanımlanmış bir ortam değişkenleri kümesi kullanılabilir. Kümede ayarladığınız ancak bu kümede olmayan ortam değişkenleri UDF'ler de dahil olmak üzere kullanıcı kodunuz tarafından kullanılabilir durumda kalır, ancak Spark altyapısı veya başlatma betikleri tarafından kullanılamaz.

Bu küme ortak yapılandırma, kimlik bilgileri ve çalışma zamanı değişkenlerini içerir. Aşağıdaki örnekler kapsamlı değildir:

  • Ağ ve proxy'ler: HTTP_PROXY, HTTPS_PROXY, NO_PROXY
  • TLS sertifikaları: REQUESTS_CA_BUNDLE, SSL_CERT_FILE
  • AWS kimlik bilgileri ve bölgesi: AWS_ACCESS_KEY_ID, AWS_SECRET_ACCESS_KEY, AWS_REGION, AWS_DEFAULT_REGION
  • Azure kimlik bilgileri: AZURE_CLIENT_ID, AZURE_CLIENT_SECRET,AZURE_TENANT_ID
  • Google Cloud kimlik bilgileri: GOOGLE_APPLICATION_CREDENTIALS
  • Databricks bağlantısı: DATABRICKS_HOST, DATABRICKS_TOKEN
  • Yerel ayar ve saat dilimi: TZ, LANG, LC_ALL
  • Paralellik ve iş parçacığı oluşturma: OMP_NUM_THREADS, OPENBLAS_NUM_THREADS, MKL_NUM_THREADS, NUMEXPR_NUM_THREADS
  • Gözlemlenebilirlik: DD_API_KEY, DD_SITE, DD_ENV
  • Unity Kataloğu varsayılanları: CATALOG, CATALOG_NAME

Scala çekirdek sınırlamaları

Standart işlemde scala çekirdeği kullanılırken aşağıdaki sınırlamalar geçerlidir:

  • İç badem çekirdeği kitaplığıyla çakışan bazı sınıflar kodunuzda kullanılamaz, özellikle Input. Bademin tanımlanmış ithalatlarının listesi için bkz. bademin ithalatı.
  • Doğrudan log4j ile günlüğe kaydetme desteklenmez.
  • Kullanıcı arabiriminde veri çerçevesi şeması açılır menüsü desteklenmez.
  • Sürücünüz OOM'a çarparsa Scala REPL sonlandırılmaz.
  • //connector/sql-aws-connectors:sql-aws-connectors Scala REPL'in bazel hedefinde değilse, ClassNotFoundException içindeki sonuçları kullanın.
  • Scala çekirdeği SQLImplicits ile uyumsuz.

Çalışma zamanına bağlı sınırlamalar

Aşağıdaki sınırlamalar çalışma zamanı güncelleştirmeleri aracılığıyla giderilmiştir, ancak eski bir çalışma zamanı kullanıyorsanız iş yükünüz için geçerli olabilir.

Dil desteği

Özellik Gerekli Databricks Runtime sürümü
Scala 13.3 veya üzeri
Varsayılan olarak tüm çalışma zamanı paketlenmiş Java ve Scala kitaplıkları kullanılabilir 15,4 LTS veya üzeri (15,3 veya altı için spark.databricks.scala.kernel.fullClasspath.enabled=true)

Spark API desteği

Özellik Gerekli Databricks Runtime sürümü
Spark ML 17.0 veya üzeri
Python: SparkContext (sc), spark.sparkContext,sqlContext 14.0 veya üzeri
Scala Dataset işlemleri: map, mapPartitions, foreachPartition, flatMap, , reduce, filter 15,4 LTS veya üzeri

UDF desteği

Özellik Gerekli Databricks Runtime sürümü
applyInPandas, mapInPandas 14,3 LTS veya üzeri
Scala skaler UDF'ler ve Scala UDAF'leri 14,3 LTS veya üzeri
PySpark UDF'lerindeki Git klasörlerinden, çalışma alanı dosyalarından veya birimlerden modülleri içeri aktarma 14,3 LTS veya üzeri
Not defteri kapsamlı veya işlem kapsamlı kitaplıklar aracılığıyla PySpark UDF'lerinde grpc, pyarrow veya protobuf'nin özel sürümlerini kullanma 14,3 LTS veya üzeri
Spark üzerinde, UDAF'ler, UDTF'ler, ve Pandas dahil olmak üzere, skaler olmayan Python ve Pandas UDF'leri 14,3 LTS veya üzeri
Python skaler UDF'leri ve Pandas UDF'leri 13,3 LTS veya üzeri

Akış desteği

Özellik Gerekli Databricks Runtime sürümü
transformWithStateInPandas 16.3 veya üzeri
applyInPandasWithState 14,3 LTS veya üzeri
Scala foreach 16.1 veya üzeri
Scala foreachBatch ve flatMapGroupsWithState 16.2 veya üzeri
Scala from_avro 14.2 veya üzeri
Kafka seçenekleri kafka.ssl.truststore.location ve kafka.ssl.keystore.location (belirtilen konum Unity Kataloğu tarafından yönetilen bir dış konum olmalıdır) 13,3 LTS veya üzeri
Scala StreamingQueryListener 16.1 veya üzeri
Unity Kataloğu tarafından yönetilen nesnelerle etkileşim kuran Python StreamingQueryListener 14,3 LTS veya üzeri

Ayrıca Python foreachBatch için Databricks Runtime 14.0 ve üzeri üzerinde aşağıdaki davranış değişiklikleri vardır:

  • print() komutları çıkışı sürücü günlüklerine yazar.
  • İşlevin dbutils.widgets içindeki alt modüle erişemezsiniz.
  • İşlevde başvurulan tüm dosyalar, modüller veya nesneler serileştirilebilir ve Spark'ta kullanılabilir olmalıdır.

Ağ ve dosya sistemi desteği

Özellik Gerekli Databricks Runtime sürümü
80 ve 443 dışındaki bağlantı noktalarına bağlantılar 12.2 LTS veya üzeri

Spark yapılandırma sınırlamaları

Databricks Runtime 19 ve üzerinde, standart erişim modunda aşağıdaki Spark yapılandırma özelliklerini ayarlayamazsınız. Bu özelliklerden herhangi birini ayarlayan bir kümeyi veya listelenen ön eklerden biriyle başlayan bir özelliği (sondaki .*ile gösterilir) oluşturma veya düzenleme işlemi hatayla başarısız olur. Yükseltmeden önce bu özellikleri küme yapılandırmanızdan, işlem ilkelerinizden ve iş tanımlarınızdan kaldırın.

Kategori Kısıtlı Spark yapılandırma özellikleri
JVM, sınıf yolu ve yerel kitaplık seçenekleri 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
Ortam değişkeni ekleme spark.executorEnv.*, spark.yarn.appMasterEnv.*, spark.kubernetes.driverEnv.*
Kitaplıklar, JAR'ler ve dosyalar 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
Hive metastore JAR dosyaları spark.sql.hive.metastore.jars, spark.sql.hive.metastore.jars.path
Python ve R yürütülebilir dosyaları spark.pyspark.python, spark.pyspark.driver.python, spark.r.command, spark.r.driver.command, , spark.r.shell.command
Kubernetes pod yapılandırması 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.*
Yerel dosya sistemi erişimi spark.connect.copyFromLocalToFs.allowDestLocal, spark.sql.artifact.copyFromLocalToFs.allowDestLocal
Azure Databricks yalıtımı ve erişim denetimi 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