Catatan
Akses ke halaman ini memerlukan otorisasi. Anda dapat mencoba masuk atau mengubah direktori.
Akses ke halaman ini memerlukan otorisasi. Anda dapat mencoba mengubah direktori.
Catatan
Artikel ini membahas Databricks Connect untuk Databricks Runtime 13.3 LTS ke atas.
Artikel ini menyediakan informasi pemecahan masalah untuk Databricks Connect untuk Python. Databricks Connect memungkinkan Anda menyambungkan IDE populer, server notebook, dan aplikasi kustom ke kluster Azure Databricks. Lihat Apa itu Databricks Connect?. Untuk versi Scala artikel ini, lihat Pemecahan Masalah Databricks Connect untuk Scala.
Kesalahan: StatusCode.UNAVAILABLE, StatusCode.UNKNOWN, resolusi DNS gagal, atau Header http2 diterima dengan status 500
Masalah: Ketika Anda mencoba menjalankan kode dengan Databricks Connect, Anda mendapatkan pesan kesalahan yang berisi string seperti StatusCode.UNAVAILABLE, StatusCode.UNKNOWN, DNS resolution failed, atau Received http2 header with status: 500.
Kemungkinan penyebab: Databricks Connect tidak dapat menjangkau kluster Anda.
Solusi yang direkomendasikan:
- Periksa untuk memastikan bahwa nama instans ruang kerja Anda sudah benar. Jika Anda menggunakan variabel lingkungan, periksa untuk memastikan variabel lingkungan terkait tersedia dan benar di komputer pengembangan lokal Anda.
- Periksa untuk memastikan bahwa ID kluster Anda sudah benar. Jika Anda menggunakan variabel lingkungan, periksa untuk memastikan variabel lingkungan terkait tersedia dan benar di komputer pengembangan lokal Anda.
- Periksa untuk memastikan bahwa kluster Anda memiliki versi kluster kustom yang benar yang kompatibel dengan Databricks Connect.
Ketidakcocokan versi Python
Periksa versi Python yang Anda gunakan secara lokal memiliki setidaknya rilis minor yang sama dengan versi pada kluster (misalnya, 3.10.11 versus 3.10.10 ok, 3.10 versus 3.9 tidak). Untuk versi yang didukung, lihat matriks dukungan versi .
Jika Anda memiliki beberapa versi Python yang dipasang secara lokal, pastikan bahwa Databricks Connect menggunakan yang benar dengan mengatur PYSPARK_PYTHON variabel lingkungan (misalnya, PYSPARK_PYTHON=python3).
Penginstalan PySpark yang bertentangan
databricks-connectPaket berkonflik dengan PySpark. Setelah keduanya dipasang akan menyebabkan kesalahan saat menginsialisasi konteks Spark di Python. Ini dapat bermanifestasi dalam beberapa cara, termasuk kesalahan "stream terkorup" atau "kelas tidak ditemukan". Jika pyspark sudah terpasang di lingkungan Python Anda, pastikan untuk menghapusnya sebelum menginstal databricks-connect. Setelah menghapus pemasangan PySpark, pastikan untuk memasang ulang paket Koneksi Databricks sepenuhnya:
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 dan PySpark saling eksklusif, tetapi dimungkinkan untuk menggunakan lingkungan virtual Python untuk melakukan pengembangan jarak jauh dengan databricks-connect di IDE Anda dan pengujian lokal dengan pyspark di terminal. Namun, Databricks merekomendasikan agar Anda menggunakan Databricks Connect for Python dengan komputasi tanpa server untuk semua pengujian, karena alasan berikut:
- Databricks Runtime, dan karenanya
databricks-connect, berisi fitur yang tidak tersedia di OSSpyspark. - Pengujian dengan
databricks-connectdan tanpa server lebih cepat daripada pengujian menggunakanpysparksecara lokal. - Integrasi Katalog Unity tidak tersedia di
pyspark, sehingga tidak akan ada izin yang diberlakukan saat Anda menguji menggunakanpysparksecara lokal. - Untuk pengujian end-to-end dengan dependensi eksternal seperti komputasi Databricks, pengujian integrasi lebih baik digunakan dibandingkan dengan pengujian unit.
Jika Anda masih memilih untuk menyambungkan ke kluster Spark lokal, Anda dapat menentukan string koneksi menggunakan yang berikut ini:
connection_string = "sc://localhost"
DatabricksSession.builder.remote(connection_string).getOrCreate()
Entri yang bentrok atau hilang PATH untuk biner
Ada kemungkinan PATH Anda dikonfigurasi sehingga perintah seperti spark-shell akan menjalankan beberapa biner lain yang dipasang sebelumnya, bukan yang disediakan dengan Databricks Connect. Anda harus memastikan biner Databricks Connect mendapat prioritas, atau menghapus instalasi sebelumnya.
Jika Anda tidak dapat menjalankan perintah seperti spark-shell, ada kemungkinan PATH Anda tidak disiapkan secara otomatis oleh pip3 install dan Anda harus menambahkan dir penginstalan bin ke PATH Anda secara manual. Dimungkinkan untuk menggunakan Databricks Connect dengan IDEs meskipun ini tidak disiapkan.
Nama file, nama direktori, atau sintaks label volume salah pada Windows
Jika Anda menggunakan Databricks Connect di Windows dan lihat:
The filename, directory name, or volume label syntax is incorrect.
Databricks Connect diinstal ke direktori dengan ruang di jalur Anda. Anda dapat mengatasi hal ini dengan memasang ke jalur direktori tanpa spasi, atau mengonfigurasi jalur Anda menggunakan formulir nama pendek.