Aracılığıyla paylaş


Python için Databricks Connect sorunlarını giderme

Not

Bu makale Databricks Runtime 13.3 LTS ve üzeri için Databricks Connect'i kapsar.

Bu makalede Python için Databricks Connect ile ilgili sorun giderme bilgileri sağlanır. Databricks Connect popüler IDE'leri, not defteri sunucularını ve özel uygulamaları Azure Databricks kümelerine bağlamanızı sağlar. Bkz. Databricks Connect nedir?. Bu makalenin Scala sürümü için bkz . Scala için Databricks Connect Sorunlarını Giderme.

Hata: StatusCode.UNAVAILABLE, StatusCode.UNKNOWN, DNS çözümlemesi başarısız oldu veya 500 durumuyla Http2 üst bilgisi alındı

Sorun: Databricks Connect ile kod çalıştırmayı denediğinizde, StatusCode.UNAVAILABLE, StatusCode.UNKNOWN, DNS resolution failedveya Received http2 header with status: 500gibi dizeler içeren bir hata iletisi alırsınız.

Olası neden: Databricks Connect kümenize erişemiyor.

Önerilen çözümler:

  • Çalışma alanı örneği adınızın doğru olduğundan emin olun. Ortam değişkenlerini kullanıyorsanız, ilgili ortam değişkeninin yerel geliştirme makinenizde kullanılabilir ve doğru olduğundan emin olun.
  • Küme kimliğinizin doğru olduğundan emin olun. Ortam değişkenlerini kullanıyorsanız, ilgili ortam değişkeninin yerel geliştirme makinenizde kullanılabilir ve doğru olduğundan emin olun.
  • Kümenizin Databricks Connect ile uyumlu doğru özel küme sürümüne sahip olduğundan emin olun.

Python sürümü uyumsuzluğu

Yerel olarak kullandığınız Python sürümünün kümedeki sürümle en az aynı ikincil sürüme sahip olup olmadığını denetleyin (örneğin, 3.10.11 yerine 3.10.10 Tamam, 3.10 değil 3.9 ). Desteklenen sürümler için bkz. sürüm destek matrisi.

Yerel olarak yüklenmiş birden çok Python sürümünüz varsa, ortam değişkenini (örneğin, PYSPARK_PYTHON) ayarlayarak Databricks Connect'in doğru sürümü kullandığından PYSPARK_PYTHON=python3 emin olun.

Çakışan PySpark yüklemeleri

Paket databricks-connect PySpark ile çakışıyor. Her ikisinin de yüklü olması, Python'da Spark bağlamını başlatırken hatalara neden olur. Bu, "akış bozuk" veya "sınıf bulunamadı" hataları da dahil olmak üzere çeşitli şekillerde ortaya çıkabilir. Python ortamınıza pyspark yüklediyseniz, databricks-connect yüklemeden önce pyspark'u kaldırdığınızdan emin olun. PySpark'ı kaldırdıktan sonra Databricks Connect paketini tamamen yeniden yüklediğinizden emin olun:

pip3 uninstall pyspark
pip3 uninstall databricks-connect
pip3 install --upgrade "databricks-connect==14.0.*"  # or X.Y.* to match your specific cluster version.

Databricks Connect ve PySpark birbirini dışlar, ancak IDE'nizde uzaktan geliştirme databricks-connect ve bir terminalde ile yerel test pyspark yapmak için Python sanal ortamlarını kullanmak mümkündür. Ancak Databricks, aşağıdaki nedenlerle tüm testlerde sunucusuz işlemle Python için Databricks Connect kullanmanızı önerir:

  • Databricks Runtime ve bu nedenle databricks-connect, OSS'de pysparkbulunmayan özellikler içerir.
  • Sunucusuz yapı ve databricks-connect ile test etmek, yerel olarak pyspark kullanarak test etmekten daha hızlıdır.
  • Unity Kataloğu tümleştirmeleri içinde pysparkkullanılamaz, bu nedenle yerel olarak kullanarak pyspark test ettiğinizde hiçbir izin uygulanmaz.
  • Databricks işlem gibi bir dış bağımlılıkla uçtan uca test etmek için birim testlerinin aksine tümleştirme testleri en iyisidir.

Yine de yerel bir Spark kümesine bağlanmayı seçerseniz, aşağıdakileri kullanarak bir bağlantı dizesi belirtebilirsiniz:

connection_string = "sc://localhost"
DatabricksSession.builder.remote(connection_string).getOrCreate()

İkili dosyalar için çakışan veya eksik PATH girdi

PATH'iniz, spark-shell gibi komutların, Databricks Connect ile sağlanandan farklı olarak, önceden yüklenmiş başka bir ikili dosyayı çalıştıracak şekilde yapılandırılmış olabilir. Databricks Connect ikili dosyalarının öncelikli olduğundan emin olmanız veya önceden yüklenmiş olanları kaldırmanız gerekir.

gibi spark-shellkomutları çalıştıramıyorsanız, PATH'iniz tarafından pip3 install otomatik olarak ayarlanmamış olabilir ve yükleme bin dizinini PATH'inize el ile eklemeniz gerekir. Bu ayar olmasa bile Databricks Connect'i IDE'lerle kullanmak mümkündür.

Windows'ta dosya adı, dizin adı veya birim etiketi söz dizimi yanlış

Windows üzerinde Databricks Connect kullanıyorsanız ve aşağıdaki durumla karşılaşırsanız:

The filename, directory name, or volume label syntax is incorrect.

Databricks Connect, yolunuzda bir boşluk bulunan bir dizine yüklendi. Boşluksuz bir dizin yoluna yükleyerek veya kısa ad formunu kullanarak yolunuzu yapılandırarak bu sorunu geçici olarak giderebilirsiniz.