Komponen runtime Spark versi 4.0
| Komponen | 4.0.0 |
|---|---|
| Apache Spark | 4.2.0 |
| Konektor Cloud Storage | 4.0.7 |
| BigQuery Connector | 0.46.0 |
| Java | 25 |
| Python | 3.13 |
| Scala | 2.13.17 |
Catatan:
Runtime
4.0menggunakanUTF-8sebagai encoding karakter default.Runtime
4.0menggunakan Pixi, bukan Conda, untuk mengelola lingkungan Python-nya. Untuk paket yang disertakan dalam lingkungan, lihat Library Python.
Fitur dan peningkatan Runtime 4.0
Dibandingkan dengan runtime 3.0, runtime 4.0 menyertakan perubahan berikut pada default dan fitur:
Paket premium secara default: Workload batch berjalan di paket premium kecuali jika Anda menetapkan properti
dataproc.tierkestandard. Sesi interaktif selalu berjalan di paket premium. Workload paket premium dikenai biaya sesuai tarif Unit Komputasi Data (DCU) premium.Runtime
4.0juga membuat workload lebih mudah dikonfigurasi:- Default yang lebih baik: Di paket premium, driver dan eksekutor menggunakan resource komputasi dan disk premium secara default, sehingga Anda tidak perlu menetapkan properti untuk menggunakannya. Untuk ukuran disk default, lihat
Ukuran disk default. Di paket premium, ukuran disk tidak perlu berupa kelipatan
375GiB. - Properti yang lebih sedikit: Properti
dataproc.tiermenentukan resource komputasi dan disk driver serta eksekutor, sehingga Anda tidak perlu mengonfigurasinya secara terpisah. Propertispark.dataproc.driver.compute.tier,spark.dataproc.executor.compute.tier,spark.dataproc.driver.disk.tier, danspark.dataproc.executor.disk.tierdihapus.
- Default yang lebih baik: Di paket premium, driver dan eksekutor menggunakan resource komputasi dan disk premium secara default, sehingga Anda tidak perlu menetapkan properti untuk menggunakannya. Untuk ukuran disk default, lihat
Ukuran disk default. Di paket premium, ukuran disk tidak perlu berupa kelipatan
Lightning Engine secara default: Workload batch paket Premium menggunakan Lightning Engine secara default. Untuk memilih tidak ikut, tetapkan
spark.dataproc.engine=default. Sesi interaktif tidak menggunakan Lightning Engine secara default. Untuk mengaktifkannya pada sesi interaktif, tetapkanspark.dataproc.engine=lightningEngine. Untuk juga menggunakan Native Query Execution, tetapkanspark.dataproc.lightningEngine.runtime=native.Bentuk memori
highmemsecara default: Runtime4.0memperkenalkan bentuk memori, yang menentukan jumlah memori yang didapatkan driver dan eksekutor. Driver dan eksekutor menggunakan bentuk memorihighmemsecara default, yang menyediakan memori sebesar7.75GiB per vCPU dan memberi mereka lebih banyak memori daripada setelan memori default runtime3.0. Bentuk memori juga membuat memori lebih mudah dikonfigurasi:- Properti bentuk memori baru: Untuk memilih bentuk memori driver atau eksekutor, tetapkan properti
spark.dataproc.driver.memory.shapeatauspark.dataproc.executor.memory.shapekehighmemataustandard. Bentuk memoristandardmenyediakan memori sebesar3.75GiB per vCPU. - Pengukuran memori otomatis: Managed Service untuk Apache Spark mengukur memori Spark dan overhead memori driver dan eksekutor dari bentuk memorinya, sehingga Anda tidak perlu menetapkan
spark.driver.memory,spark.executor.memory,spark.driver.memoryOverhead, atauspark.executor.memoryOverhead.
- Properti bentuk memori baru: Untuk memilih bentuk memori driver atau eksekutor, tetapkan properti
Startup lebih cepat: Di paket premium, workload yang menggunakan konfigurasi driver default memenuhi syarat untuk menjalankan driver di VM startup cepat, yang mengurangi waktu startup workload.
Katalog runtime Lakehouse sebagai katalog default: Workload batch dan sesi interaktif menggunakan katalog runtime Lakehouse sebagai katalog Spark default, sehingga Anda dapat membuat dan mengkueri tabel Apache Iceberg tanpa mengonfigurasi katalog. Katalog Spark
bigqueryyang telah dikonfigurasi sebelumnya masih tersedia. Untuk menggunakan katalog lain, lihat Memilih tidak menggunakan katalog awal.Kuota DCU: Workload menggunakan kuota unit komputasi data (
DataComputeUnitsPerProjectPerRegion) Managed Service untuk Apache Spark, bukan kuota CPU dan disk Compute Engine project Anda. Workload yang menggunakan GPU akan terus menggunakan kuota Compute Engine. Untuk mengetahui informasi selengkapnya, lihat Kuota serverless Managed Service untuk Apache Spark.
Runtime 4.0 juga mencakup fitur
runtime 3.0, seperti
workload regional dan multi-zona, kredensial pengguna akhir secara default, dan
pembersihan resource yang cepat.
Bentuk memori
Dalam runtime 4.0, bentuk memori driver dan eksekutor menentukan
jumlah memori yang dialokasikan. Bentuk memori menyediakan jumlah memori tetap untuk setiap vCPU. Managed Service untuk Apache Spark membagi memori tersebut antara heap Spark (spark.driver.memory atau spark.executor.memory) dan overhead memori (spark.driver.memoryOverhead atau spark.executor.memoryOverhead).
Runtime 4.0 memperkenalkan properti berikut untuk memilih bentuk memori driver dan eksekutor:
| Properti | Deskripsi | Default |
|---|---|---|
spark.dataproc.driver.memory.shape |
Bentuk memori driver, baik highmem maupun
standard. |
highmem |
spark.dataproc.executor.memory.shape |
Bentuk memori eksekutor, baik highmem maupun
standard. |
highmem |
Tabel berikut mencantumkan memori yang disediakan oleh setiap bentuk memori, dan setelan memori Spark default driver atau eksekutor yang memiliki 4 vCPU, yang merupakan nilai default spark.driver.cores dan spark.executor.cores:
| Bentuk memori | Memori per vCPU | Workload batch PySpark: memori dan overhead memori | Workload batch dan sesi interaktif lainnya: memori dan overhead memori |
|---|---|---|---|
highmem |
7,75 GiB | 21154m dan 8462m |
26924m dan 2692m |
standard |
3,75 GiB | 9681m dan 3872m |
12321m dan 1232m |
Catatan:
Memori bentuk memori diskalakan dengan jumlah vCPU. Misalnya, eksekutor
highmemyang memiliki 8 vCPU akan mendapatkan memori sebesar 62 GiB.Sebagian memori dari bentuk memori dicadangkan untuk sistem dan tidak tersedia untuk Spark. Workload yang menggunakan image container kustom memesan memori tambahan, sehingga setelan memori Spark default-nya sedikit lebih rendah.
Workload batch PySpark menggunakan faktor overhead memori sebesar
0.4. Workload batch dan sesi interaktif lainnya menggunakan faktor overhead memori sebesar0.1. Untuk mengubah cara memori bentuk memori dibagi antara heap dan overhead memori, tetapkanspark.driver.memoryOverheadFactoratauspark.executor.memoryOverheadFactor.Bentuk memori menentukan memori yang disediakan untuk driver dan eksekutor, yang memengaruhi penggunaan DCU. Untuk mengetahui informasi selengkapnya, lihat harga Managed Service untuk Apache Spark.
Cara bentuk kenangan diterapkan
Managed Service untuk Apache Spark menerapkan bentuk memori ke driver dan eksekutor sebagai berikut:
Driver atau eksekutor menggunakan bentuk memori
highmem, kecuali jika Anda menetapkan salah satu hal berikut untuknya:- Bentuk memori:
spark.dataproc.driver.memory.shapeatauspark.dataproc.executor.memory.shape. - Memori:
spark.driver.memoryatauspark.executor.memory. - Overhead memori:
spark.driver.memoryOverheadatauspark.executor.memoryOverhead. - Akselerator GPU. Driver dan eksekutor yang menggunakan GPU mendapatkan jumlah memori tetap.
- Bentuk memori:
Jika Anda menetapkan memori atau overhead memori driver atau eksekutor dan tidak menetapkan bentuk memorinya, driver atau eksekutor tidak akan menggunakan bentuk memori. Sebagai gantinya, Managed Service untuk Apache Spark mengukur driver atau eksekutor dari memori yang Anda tentukan, seperti pada runtime sebelumnya.
Menetapkan faktor overhead memori driver atau eksekutor tidak akan mengubah bentuk memorinya.
Managed Service untuk Apache Spark menolak workload batch atau sesi interaktif dalam kasus berikut:
- Properti ini menetapkan bentuk memori driver atau eksekutor, dan juga menetapkan memori atau overhead memori driver atau eksekutor yang sama. Untuk mengubah cara pembagian memori bentuk memori, tetapkan faktor overhead memori.
- Metode ini menetapkan bentuk memori ke nilai selain
highmemataustandard.
Driver startup cepat
Di paket premium, Managed Service untuk Apache Spark dapat menjalankan driver di VM startup cepat untuk mengurangi waktu startup workload. Driver memenuhi syarat untuk dijalankan di VM startup cepat jika semua kondisi berikut terpenuhi:
- Workload berjalan di paket premium, yang merupakan default di runtime
4.0. - Driver menggunakan bentuk memori.
- Driver memiliki 4 vCPU (
spark.driver.cores=4), yang merupakan default. - Ukuran disk driver (
spark.dataproc.driver.disk.size) adalah450gatau kurang. Defaultnya adalah400g. - Workload tidak menetapkan
spark.driver.memory,spark.driver.memoryOverhead,spark.driver.memoryOverheadFactor, atau akselerator GPU untuk driver.
Driver yang berjalan di VM startup cepat mendapatkan memori yang sama dengan driver lain yang menggunakan bentuk memori yang sama.
Ukuran disk default
Dalam runtime 4.0, paket workload
menentukan ukuran disk default driver dan eksekutornya:
| Tingkat | Ukuran disk default setiap driver dan executor |
|---|---|
| Premium (default) | 100 GiB per vCPU, dan setidaknya `375` GiB. Misalnya, 400 GiB untuk 4 vCPU. |
| Standar | `75` GiB per vCPU, dan hingga 1.000 GiB. Misalnya, `300` GiB untuk 4 vCPU. |
Untuk mengubah ukuran disk, tetapkan properti alokasi resource spark.dataproc.driver.disk.size atau spark.dataproc.executor.disk.size.
Di paket premium, ukuran disk tidak harus kelipatan 375 GiB.
Fungsi yang tidak didukung dan perubahan perilaku
Fungsi berikut tidak didukung atau berperilaku berbeda di runtime 4.0:
Properti tingkat komputasi dan disk: Properti
spark.dataproc.driver.compute.tier,spark.dataproc.executor.compute.tier,spark.dataproc.driver.disk.tier, danspark.dataproc.executor.disk.tiertidak didukung. Sebagai gantinya, gunakan propertidataproc.tier.Properti memori off-heap: Properti
spark.memory.offHeap.enableddanspark.memory.offHeap.sizetidak didukung.Subnetwork: Anda harus menentukan subnetwork saat mengirimkan workload batch atau membuat sesi interaktif. Subnetwork dual-stack (IPv4 dan IPv6) dan khusus IPv6 tidak didukung. Untuk mengetahui informasi selengkapnya, lihat Konfigurasi jaringan.
Konektor BigQuery Spark kustom: Jika Anda menambahkan file JAR konektor BigQuery Spark ke workload batch, tetapkan juga properti
dataproc.artifacts.remove=spark-bigquery-connectoruntuk menghapus konektor yang telah diinstal sebelumnya. Jika tidak, workload batch akan gagal.Bucket staging: Runtime
4.0tidak menggunakan bucket staging Cloud Storage.Persistent History Server (PHS): PHS tidak didukung. Sebagai gantinya, gunakan Spark UI.
SparkR: Batch SparkR tidak didukung. Sebagai gantinya, gunakan
sparklyr.Sesi Jupyter: Sesi Jupyter tidak didukung. Sebagai gantinya, gunakan sesi Spark Connect, standar industri untuk pengembangan Spark interaktif.
Library Python
Tabel berikut mencantumkan paket Python yang disertakan dalam runtime 4.0.
Jika tabel tidak mencantumkan versi untuk paket, runtime akan menyertakan
versi terbaru paket yang kompatibel dengan paket lain saat
runtime di-build. Versi ini dapat berubah dalam rilis runtime subminor.
| Nama Paket | Versi |
|---|---|
| mempercepat | |
| bigframes | |
| ca-certificates | |
| certifi | |
| cookiecutter | |
| cuda | 12,9 |
| cudnn | |
| cython | |
| dask | |
| datasets | |
| db-dtypes | |
| deepspeed | |
| delta-spark | 4.4.0 |
| evaluate | |
| fastavro | |
| fastparquet | |
| gcsfs | |
| google-auth-oauthlib | |
| google-cloud-aiplatform | |
| google-cloud-alloydb-connector[pg8000] | |
| google-cloud-bigquery | |
| google-cloud-bigtable | |
| google-cloud-container | |
| google-cloud-datacatalog | |
| google-cloud-dataproc | |
| google-cloud-datastore | |
| google-cloud-dlp | |
| google-cloud-language | |
| google-cloud-logging | |
| google-cloud-monitoring | |
| google-cloud-pubsub | |
| google-cloud-redis | |
| google-cloud-secret-manager | |
| google-cloud-spanner | |
| google-cloud-spark-connect[interactive] | |
| google-cloud-speech | |
| google-cloud-storage | |
| google-cloud-storage-control | |
| google-cloud-texttospeech | |
| google-cloud-translate | |
| google-cloud-vision | |
| holoviews | |
| ipyparallel | |
| keyrings.google-artifactregistry-auth | |
| langchain | |
| lightgbm | |
| mkl | |
| mlflow | |
| nccl | |
| nltk | |
| numba | |
| numba-cuda | |
| numpy | |
| onnx | |
| opencv-python | |
| optuna | |
| pandas | |
| papermill | |
| polars | |
| psycopg2-binary | |
| pyarrow | |
| pydot | |
| pyiceberg | |
| pymongo | |
| pynvml | |
| python | 3.13 |
| python-dateutil | |
| pytorch-gpu | |
| permintaan | |
| rtree | |
| scikit-image | |
| scikit-learn | |
| scipy | |
| seaborn | |
| sentence-transformers | |
| sentencepiece | |
| shap | |
| spacy | |
| sqlalchemy | |
| statsforecast | |
| sympy | |
| tabel | |
| torcheval | |
| torchvision | |
| transformers | |
| virtualenv | |
| wordcloud | |
| xgboost | 3.4 |