Managed Service untuk Apache Spark kini mencakup opsi produk "Dataproc di Compute Engine" (deployment cluster) dan "Google Cloud Serverless for Apache Spark" (deployment serverless) sebelumnya.
Meskipun kedua opsi menyediakan lingkungan Spark yang terkelola, sangat skalabel, siap produksi, dan aman yang kompatibel dengan OSS dengan dukungan penuh untuk format data, keduanya berbeda dalam cara mengelola infrastruktur yang mendasarinya dan menagih resource. Tinjau fitur dan kasus penggunaan berikut untuk membantu Anda memilih solusi Spark.
Untuk mengetahui informasi selengkapnya tentang deployment cluster Managed Service untuk Apache Spark, lihat Ringkasan deployment cluster Managed Service untuk Apache Spark.
Membandingkan deployment Managed Service for Apache Spark
Tabel berikut mencantumkan perbedaan utama antara cluster Managed Service for Apache Spark dan deployment serverless.
| Deployment | Serverless | Cluster |
|---|---|---|
| Framework pemrosesan | Workload batch dan sesi interaktif: Spark | Spark. Framework open source lainnya, seperti Hive, Flink, Trino, dan Kafka |
| Serverless | Ya | Tidak |
| Waktu mulai | 50-an | 120 dtk |
| Kontrol infrastruktur | Tidak | Ya |
| Pengelolaan resource | Serverless | YARN |
| Dukungan GPU | Ya | Ya |
| Sesi interaktif | Ya | Tidak |
| Container kustom | Ya | Tidak |
| Akses VM (SSH) | Tidak | Ya |
| Versi Java | Java 17, 21 | Java 17 dan versi sebelumnya |
Tentukan Managed Service for Apache Spark terbaik untuk deployment Spark
Bagian ini menguraikan keunggulan utama Managed Service for Apache Spark dan kasus penggunaan utamanya untuk membantu Anda memilih deployment Managed Service for Apache Spark terbaik—cluster atau serverless— untuk workload Spark Anda.
Ringkasan
Deployment Managed Service untuk Apache Spark berbeda dalam tingkat kontrol, pengelolaan infrastruktur, dan mode penagihan yang ditawarkan masing-masing.
- deployment serverless: Managed Service for Apache Spark menawarkan Spark-jobs-as-a-service, yang menjalankan Spark di infrastruktur Google Cloud yang terkelola sepenuhnya. Anda membayar runtime tugas.
- deployment cluster: Menawarkan Spark-cluster-as-a-service, yang menjalankan Spark terkelola di infrastruktur Compute Engine Anda. Anda membayar waktu operasional cluster.
Karena perbedaan ini, setiap deployment Managed Service for Apache Spark paling sesuai dalam kasus penggunaan berikut:
| Deployment | Kasus penggunaan |
|---|---|
| tanpa server | Lingkungan tugas khusus yang berbeda Workload batch terjadwal Pengelolaan kode diprioritaskan daripada pengelolaan infrastruktur |
| cluster | Lingkungan bersama yang berjalan lama Workload yang memerlukan kontrol terperinci atas infrastruktur Memigrasikan lingkungan Hadoop dan Spark lama |
Perbedaan utama
| Fitur | deployment serverless | deployment cluster |
|---|---|---|
| Model pengelolaan | Lingkungan eksekusi serverless yang terkelola sepenuhnya. | Berbasis cluster. Anda menyediakan dan mengelola cluster. |
| Kontrol & penyesuaian | Lebih sedikit kontrol infrastruktur, dengan fokus pada pengiriman kode dan penentuan parameter Spark. | Kontrol yang lebih besar atas konfigurasi cluster, jenis mesin, dan software. Kemampuan untuk menggunakan spot VM, serta menggunakan kembali reservasi dan kapasitas resource Compute Engine. Cocok untuk workload yang memiliki dependensi pada bentuk VM tertentu, seperti arsitektur CPU. |
| Use cases | Kueri ad-hoc, analisis interaktif, pipeline Spark baru, dan workload dengan kebutuhan resource yang tidak dapat diprediksi. | Cluster bersama yang berjalan lama, memigrasikan workload Hadoop dan Spark yang ada dengan konfigurasi kustom, workload yang memerlukan penyesuaian mendalam. |
| Overhead operasional | Overhead yang lebih rendah. Google Cloud mengelola infrastruktur, penskalaan, dan penyediaan, sehingga memungkinkan model NoOps. Gemini Cloud Assist mempermudah pemecahan masalah, sementara penyesuaian otomatis serverless membantu memberikan performa yang optimal. |
Overhead yang lebih tinggi yang memerlukan pengelolaan, penskalaan, dan pemeliharaan cluster. |
| Model efisiensi | Tidak ada overhead komputasi saat tidak ada aktivitas: alokasi resource komputasi hanya saat tugas berjalan. Tidak ada biaya mulai dan penonaktifan. Sesi interaktif bersama didukung untuk meningkatkan efisiensi. | Efisiensi yang diperoleh dengan membagikan cluster di seluruh tugas dan tim, dengan model multi-tenancy berbagi. |
| Kontrol lokasi | Managed Service for Apache Spark mendukung workload regional tanpa biaya tambahan untuk memberikan keandalan dan ketersediaan ekstra. | Cluster bersifat zonal. Zona dapat dipilih secara otomatis selama pembuatan cluster. |
| Biaya | Ditagih hanya untuk durasi eksekusi tugas Spark, tidak termasuk startup dan penonaktifan, berdasarkan resource yang digunakan. Ditagih sebagai Unit Komputasi Data (DCU) yang digunakan dan biaya infrastruktur lainnya. | Ditagih untuk waktu cluster berjalan, termasuk saat startup dan penonaktifan, berdasarkan jumlah node. Mencakup biaya lisensi Managed Service for Apache Spark ditambah biaya infrastruktur. |
| Diskon Abonemen (CUD) | CUD berbasis pembelanjaan BigQuery berlaku untuk tugas Managed Service for Apache Spark. | DA Compute Engine berlaku untuk semua penggunaan resource. |
| Kontrol image dan runtime | Pengguna dapat menyematkan ke versi runtime Managed Service for Apache Spark minor; versi subminor dikelola oleh Managed Service for Apache Spark. | Pengguna dapat menyematkan versi gambar Managed Service for Apache Spark minor dan subminor. |
| Pengelolaan resource | tanpa server | YARN |
| Dukungan GPU | Ya | Ya |
| Sesi interaktif | Ya | Tidak |
| Container kustom | Ya | Tidak |
| Akses VM (SSH) | Tidak | Ya |
| Versi Java | Java 17, 21 |
Versi sebelumnya yang didukung |
| Waktu pengaktifan | 50-an | 120 dtk |
Kapan harus memilih deployment serverless
Deployment tanpa server Managed Service for Apache Spark menghilangkan kompleksitas pengelolaan cluster, sehingga Anda dapat fokus pada kode Spark. Hal ini menjadikannya pilihan yang sangat baik untuk digunakan dalam skenario pemrosesan data berikut:
- Analisis ad-hoc dan interaktif: Bagi data scientist dan analis yang menjalankan kueri interaktif dan analisis eksploratif menggunakan Spark, model serverless menyediakan cara cepat untuk memulai tanpa berfokus pada infrastruktur.
- Aplikasi dan pipeline berbasis Spark: Saat membangun pipeline atau aplikasi data baru di Spark, Managed Service for Apache Spark dapat mempercepat pengembangan secara signifikan dengan menghilangkan overhead operasional pengelolaan cluster.
- Workload dengan permintaan sporadis atau tidak terduga: Untuk tugas Spark yang terputus-putus atau tugas dengan persyaratan resource yang berfluktuasi, penskalaan otomatis tanpa server dan harga bayar per penggunaan (biaya berlaku untuk penggunaan resource tugas) dapat secara signifikan mengurangi biaya.
- Fokus pada produktivitas developer: Dengan menghilangkan kebutuhan untuk penyediaan dan pengelolaan cluster, Managed Service for Apache Spark mempercepat pembuatan logika bisnis, memberikan insight yang lebih cepat, dan meningkatkan produktivitas.
- Operasi yang disederhanakan dan overhead yang berkurang: Pengelolaan infrastruktur Managed Service for Apache Spark mengurangi beban dan biaya operasional.
Kapan harus memilih deployment cluster
Anda dapat menggunakan deployment cluster Managed Service for Apache Spark untuk menjalankan Apache Spark dan framework pemrosesan data open source lainnya. Mode ini menawarkan tingkat kontrol dan fleksibilitas yang tinggi, sehingga menjadi pilihan yang lebih disukai dalam skenario berikut:
- Memigrasikan workload Hadoop dan Spark yang ada: Mendukung migrasi cluster Hadoop atau Spark lokal ke Google Cloud. Mereplikasi konfigurasi yang ada dengan perubahan kode minimal, terutama saat menggunakan versi Spark yang lebih lama.
- Penyesuaian dan kontrol mendalam: Memungkinkan Anda menyesuaikan jenis mesin cluster, ukuran disk, dan konfigurasi jaringan. Tingkat kontrol ini sangat penting untuk penyesuaian performa dan mengoptimalkan penggunaan resource untuk tugas yang kompleks dan berjalan lama.
- Cluster yang berjalan lama dan persisten: Mendukung tugas Spark yang berjalan lama dan berkelanjutan serta cluster persisten untuk beberapa tim dan project.
- Ekosistem open source yang beragam: Menyediakan lingkungan terpadu untuk menjalankan pipeline pemrosesan data yang menjalankan alat ekosistem Hadoop, seperti Hive, Pig, atau Presto, dengan beban kerja Spark Anda.
- Kepatuhan keamanan: Memungkinkan kontrol atas infrastruktur untuk memenuhi standar keamanan atau kepatuhan tertentu, seperti mengamankan informasi identitas pribadi (PII) atau informasi kesehatan terlindungi (PHI).
- Fleksibilitas infrastruktur: Menawarkan VM Spot dan kemampuan untuk menggunakan kembali reservasi dan kapasitas resource Compute Engine untuk menyeimbangkan penggunaan resource dan memfasilitasi strategi infrastruktur cloud Anda.
Kesimpulan
Keputusan apakah akan menggunakan cluster Managed Service for Apache Spark atau deployment serverless bergantung pada persyaratan workload, preferensi operasional, dan tingkat kontrol yang Anda inginkan.
- Pilih Managed Service for Apache Spark serverless karena kemudahan penggunaannya, efisiensi biaya untuk workload yang tidak berkelanjutan, dan kemampuannya untuk mempercepat pengembangan aplikasi Spark baru dengan menghilangkan overhead pengelolaan infrastruktur.
- Pilih cluster Managed Service for Apache Spark jika Anda memerlukan kontrol maksimum, perlu memigrasikan workload Hadoop atau Spark, atau memerlukan lingkungan cluster bersama yang persisten dan disesuaikan.
Setelah mengevaluasi faktor-faktor yang tercantum di bagian ini, pilih Managed Service for Apache Spark yang paling efisien dan hemat biaya untuk menjalankan Spark guna memanfaatkan potensi penuh data Anda.