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.
Nota
Artikel ini membahas Databricks Connect untuk Databricks Runtime 14.0 ke atas.
Artikel ini menjelaskan topik yang melampaui penyiapan dasar Databricks Connect.
Konfigurasikan string koneksi Spark Connect
Selain menyambungkan ke kluster Anda menggunakan opsi yang diuraikan dalam Mengonfigurasi koneksi ke kluster, opsi yang lebih canggih adalah menyambungkan menggunakan string koneksi Spark Connect. Anda dapat meneruskan string dalam remote fungsi atau mengatur SPARK_REMOTE variabel lingkungan.
Nota
Anda hanya dapat menggunakan autentikasi token akses pribadi Databricks untuk terhubung menggunakan string koneksi Spark Connect.
Phyton
Untuk mengatur string koneksi menggunakan remote fungsi :
from databricks.connect import DatabricksSession
workspace_instance_name = retrieve_workspace_instance_name()
token = retrieve_token()
cluster_id = retrieve_cluster_id()
spark = DatabricksSession.builder.remote(
f"sc://{workspace_instance_name}:443/;token={token};x-databricks-cluster-id={cluster_id}"
).getOrCreate()
Atau, atur SPARK_REMOTE variabel lingkungan:
sc://<workspace-instance-name>:443/;token=<access-token-value>;x-databricks-cluster-id=<cluster-id>
Kemudian inisialisasi kelas DatabricksSession.
from databricks.connect import DatabricksSession
spark = DatabricksSession.builder.getOrCreate()
Scala
Atur SPARK_REMOTE variabel lingkungan:
sc://<workspace-instance-name>:443/;token=<access-token-value>;x-databricks-cluster-id=<cluster-id>
Kemudian inisialisasi kelas DatabricksSession.
import com.databricks.connect.DatabricksSession
val spark = DatabricksSession.builder.getOrCreate()
Menggunakan server Spark Connect dengan Databricks Connect
Anda dapat secara opsional menjalankan Databricks Connect terhadap server Spark Connect sumber terbuka.
Penting
Beberapa fitur yang tersedia di Databricks Runtime dan Databricks Connect eksklusif untuk Databricks atau belum dirilis di Apache Spark sumber terbuka. Jika kode Anda bergantung pada fitur-fitur ini, langkah-langkah berikut mungkin gagal dengan kesalahan.
Mulai server Spark Connect lokal. Lihat Cara menggunakan Spark Connect
Mengonfigurasi Databricks Connect. Atur variabel
SPARK_REMOTElingkungan untuk menunjuk ke server Spark Connect lokal Anda. Lihat Menyambungkan ke Spark Connect menggunakan Klien.export SPARK_REMOTE="sc://localhost"Inisialisasi sesi Databricks:
Phyton
from databricks.connect import DatabricksSession spark = DatabricksSession.builder.getOrCreate()Scala
import com.databricks.connect.DatabricksSession val spark = DatabricksSession.builder.getOrCreate()
Header HTTP tambahan
Databricks Connect berkomunikasi dengan Kluster Databricks melalui gRPC melalui HTTP/2.
Untuk memiliki kontrol yang lebih baik atas permintaan yang berasal dari klien, pengguna tingkat lanjut dapat memilih untuk menginstal layanan proksi antara klien dan kluster Azure Databricks. Dalam beberapa kasus, proksi mungkin memerlukan header kustom dalam permintaan HTTP.
Gunakan metode header() untuk menambahkan header kustom ke permintaan HTTP:
Phyton
from databricks.connect import DatabricksSession
spark = DatabricksSession.builder.header('x-custom-header', 'value').getOrCreate()
Scala
import com.databricks.connect.DatabricksSession
val spark = DatabricksSession.builder.header("x-custom-header", "value").getOrCreate()
Certificates
Jika kluster Anda bergantung pada sertifikat SSL/TLS kustom untuk menyelesaikan nama domain yang sepenuhnya memenuhi syarat (FQDN) dari ruang kerja Azure Databricks, Anda harus mengatur variabel lingkungan GRPC_DEFAULT_SSL_ROOTS_FILE_PATH pada komputer pengembangan lokal Anda. Variabel lingkungan ini harus diatur ke jalur lengkap ke sertifikat yang diinstal pada kluster.
Phyton
Contoh berikut mengatur variabel lingkungan ini:
import os
os.environ["GRPC_DEFAULT_SSL_ROOTS_FILE_PATH"] = "/etc/ssl/certs/ca-bundle.crt"
Untuk cara lain untuk mengatur variabel lingkungan, lihat dokumentasi sistem operasi Anda.
Scala
Java dan Scala tidak menawarkan cara untuk mengonfigurasi variabel lingkungan secara terprogram. Lihat sistem operasi atau dokumentasi IDE Anda untuk informasi tentang cara mengonfigurasinya sebagai bagian dari aplikasi Anda.
Pencatatan dan log debug
Phyton
Databricks Connect for Python menghasilkan log menggunakan pengelogan Python standar.
Log dipancarkan ke aliran kesalahan standar (stderr) dan secara default dinonaktifkan.
Mengatur variabel lingkungan SPARK_CONNECT_LOG_LEVEL=debug akan mengubah pengaturan standar ini dan menampilkan semua pesan log pada tingkat DEBUG dan lebih tinggi.
Scala
Databricks Connect for Scala menggunakan pengelogan SLF4J , dan tidak dikirim dengan penyedia SLF4J apa pun.
Aplikasi yang menggunakan Databricks Connect diharapkan menyertakan penyedia SLF4J, dan dalam beberapa kasus, dikonfigurasi untuk mencetak pesan log.
- Opsi paling sederhana adalah menyertakan penyedia slf4j-simple yang mencetak pesan log pada
INFOtingkat dan lebih tinggi ke aliran kesalahan standar (stderr). - Alternatif yang lebih dapat dikonfigurasi adalah menggunakan penyedia slf4j-reload4j yang mengambil konfigurasi dari
log4j.propertiesfile di classpath.
Contoh berikut menunjukkan file sederhana log4j.properties .
log4j.rootLogger=INFO,stderr
log4j.appender.stdout=org.apache.log4j.ConsoleAppender
log4j.appender.stdout.layout=org.apache.log4j.PatternLayout
log4j.appender.stdout.layout.ConversionPattern=%p\t%d{ISO8601}\t%r\t%c\t[%t]\t%m%n
Dalam contoh sebelumnya, log debug dicetak jika logger utama (atau logger tertentu) dikonfigurasi pada DEBUG tingkat:
log4j.rootLogger=DEBUG,stderr