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ümelere bağlamanızı sağlar. Bkz. Databricks Connect. 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 uyuşmazlığı

Yerel olarak kullandığınız Python sürümünün kümedeki sürümle en az aynı ikincil sürüme sahip olduğunu denetleyin (örneğin, 3.10.11 ve 3.10.10 tamam, 3.10 ve 3.9 değildir). 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, PYSPARK_PYTHON ortam değişkenini (örneğin, PYSPARK_PYTHON=python3) ayarlayarak Databricks Connect'in doğru sürümü kullandığından emin olun.

Çakışan PySpark yüklemeleri

Paket databricks-connect PySpark ile çakışıyor. her ikisinin de yüklü olması, spark bağlamı Python başlatılı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ızda pyspark yüklüyse, databricks-connect yüklemeden önce kaldırıldığından 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 databricks-connect ile uzaktan geliştirme ve terminalde pyspark ile yerel test yapmak için Python sanal ortamları kullanmak mümkündür. Ancak Databricks, aşağıdaki nedenlerle databricks Connect'i Python için sunucusuz işlem 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 connection string 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.

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

Databricks Connect'i Windows kullanıyorsanız ve bkz:

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.