Klien Dataproc Spark Connect adalah wrapper klien Apache Spark Connect. Hal ini memungkinkan aplikasi berkomunikasi dengan sesi Serverless untuk Apache Spark jarak jauh menggunakan protokol Spark Connect. Dokumen ini menunjukkan cara menginstal, mengonfigurasi, dan menggunakan klien.
Sebelum memulai
Pastikan Anda memiliki peran Identity and Access Management yang berisi izin yang diperlukan untuk mengelola sesi interaktif dan template sesi.
Jika Anda menjalankan klien di luar Google Cloud, berikan kredensial autentikasi. Tetapkan variabel lingkungan
GOOGLE_APPLICATION_CREDENTIALSke jalur file kunci akun layanan Anda.
Menginstal atau meng-uninstal klien
Anda dapat menginstal atau meng-uninstal paket dataproc-spark-connect menggunakan pip.
Instal
Untuk menginstal klien versi terbaru, jalankan perintah berikut:
pip install -U dataproc-spark-connect
Uninstal
Untuk meng-uninstal klien, jalankan perintah berikut:
pip uninstall dataproc-spark-connect
Mengonfigurasi klien
Tentukan project dan region untuk sesi Anda. Anda dapat menetapkan nilai ini menggunakan variabel lingkungan atau dengan menggunakan builder API dalam kode Anda.
Variabel lingkungan
Tetapkan variabel lingkungan GOOGLE_CLOUD_PROJECT dan GOOGLE_CLOUD_REGION.
Builder API
Gunakan metode .projectId() dan .location().
spark = DataprocSparkSession.builder.projectId("my-project").location("us-central1").getOrCreate()
Mulai sesi Spark
Untuk memulai sesi Spark, tambahkan impor yang diperlukan ke aplikasi atau notebook PySpark Anda, lalu panggil DataprocSparkSession.builder.getOrCreate() API.
Impor class
DataprocSparkSession.Panggil metode
getOrCreate()untuk memulai sesi.from google.cloud.dataproc_spark_connect import DataprocSparkSession spark = DataprocSparkSession.builder.getOrCreate()
Mengonfigurasi properti Spark
Untuk mengonfigurasi properti Spark, gabungkan satu atau beberapa metode .config() ke
builder.
from google.cloud.dataproc_spark_connect import DataprocSparkSession
spark = DataprocSparkSession.builder.config('spark.executor.memory', '48g').config('spark.executor.cores', '8').getOrCreate()
Menggunakan konfigurasi lanjutan
Untuk konfigurasi lanjutan, gunakan class Session untuk menyesuaikan setelan seperti subnetwork atau versi runtime.
from google.cloud.dataproc_spark_connect import DataprocSparkSession
from google.cloud.dataproc_v1 import Session
session_config = Session()
session_config.environment_config.execution_config.subnetwork_uri = 'SUBNET'
session_config.runtime_config.version = '3.0'
spark = DataprocSparkSession.builder.projectId('my-project').location('us-central1').dataprocSessionConfig(session_config).getOrCreate()
Menggunakan kembali sesi bernama
Sesi bernama memungkinkan Anda membagikan satu sesi Spark di beberapa notebook sekaligus menghindari penundaan waktu mulai sesi yang berulang.
Di notebook pertama Anda, buat sesi dengan ID kustom.
from google.cloud.dataproc_spark_connect import DataprocSparkSession session_id = 'my-ml-pipeline-session' spark = DataprocSparkSession.builder.dataprocSessionId(session_id).getOrCreate() df = spark.createDataFrame([(1, 'data')], ['id', 'value']) df.show()Di notebook lain, gunakan kembali sesi dengan menentukan ID sesi yang sama.
from google.cloud.dataproc_spark_connect import DataprocSparkSession session_id = 'my-ml-pipeline-session' spark = DataprocSparkSession.builder.dataprocSessionId(session_id).getOrCreate() df = spark.createDataFrame([(2, 'more-data')], ['id', 'value']) df.show()
ID sesi harus memiliki panjang 4-63 karakter, diawali dengan huruf kecil, dan hanya berisi huruf kecil, angka, dan tanda hubung. ID tidak boleh diakhiri dengan
tanda hubung. Sesi dengan ID yang berada dalam status TERMINATED tidak dapat
digunakan kembali.
Menggunakan perintah magic Spark SQL
Paket ini mendukung library
sparksql-magic untuk menjalankan
kueri Spark SQL di notebook Jupyter. Perintah ajaib adalah fitur opsional.
Instal dependensi yang diperlukan.
pip install IPython sparksql-magicMuat ekstensi magic.
%load_ext sparksql_magicOpsional: Konfigurasi setelan default.
%config SparkSql.limit=20Menjalankan kueri SQL.
%%sparksql SELECT * FROM your_table
Untuk menggunakan opsi lanjutan, tambahkan tanda ke perintah %%sparksql. Misalnya, untuk
meng-cache hasil dan membuat tampilan, jalankan perintah berikut:
%%sparksql --cache --view result_view df
SELECT * FROM your_table WHERE condition = true
Tersedia opsi-opsi berikut:
--cacheatau-c: menyimpan DataFrame dalam cache.--eageratau-e: cache dengan pemuatan cepat.--view VIEWatau-v VIEW: membuat tampilan sementara.--limit Natau-l N: menggantikan batas tampilan baris default.variable_name: menyimpan hasilnya dalam variabel.
Langkah berikutnya
Pelajari lebih lanjut sesi Dataproc.