FAQ Serverless untuk Apache Spark

Halaman ini berisi pertanyaan umum (FAQ) tentang Serverless for Apache Spark beserta jawabannya. Google Cloud

Kapan saya harus menggunakan Serverless for Apache Spark, bukan Dataproc di Compute Engine?

  • Serverless untuk Apache Spark:

    • Mendukung workload batch Spark dan sesi interaktif di notebook Jupyter kernel PySpark.
    • Serverless untuk Apache Spark membuat dan mengelola workload serta infrastruktur sesi interaktif Anda.
  • Dataproc di Compute Engine:

    • Mendukung pengiriman berbagai jenis tugas Spark, dan tugas berdasarkan komponen open source lainnya, seperti Flink, Hadoop, Hive, Pig, Presto, dan lainnya.

    • Tidak membuat dan mengelola infrastruktur. Anda membuat dan mengelola cluster Dataproc.

Apa yang dapat saya lakukan dengan Serverless untuk Apache Spark?

Bagaimana cara menyiapkan rencana eksekusi beban kerja?

Anda dapat menjalankan workload secara bersamaan atau berurutan. Rencana eksekusi Anda memengaruhi Google Cloud kuota resource. Anda dapat menjalankan beban kerja secara paralel sebanyak yang diizinkan oleh kuota resource batch.

Dapatkah saya menggunakan image kustom dengan Serverless untuk Apache Spark?

Dapatkah saya menentukan resource memori dan disk untuk workload Spark Serverless untuk Apache Spark?

Ya. Anda dapat menentukan tingkat komputasi dan disk driver serta eksekutor premium dan jumlah resource komputasi dan disk driver serta eksekutor yang akan dialokasikan saat Anda mengirimkan workload (lihat Properti alokasi resource).

Bagaimana cara menentukan rentang alamat IP untuk jaringan VPC Serverless for Apache Spark?

Workload Serverless untuk Apache Spark berjalan dalam lingkungan Anda. Setiap driver Spark dan eksekutor Spark dalam workload Spark Serverless menggunakan satu alamat IP internal di jaringan VPC Serverless untuk Apache Spark Anda. /16 adalah rentang alamat CIDR yang ditentukan pengguna untuk jaringan VPC Serverless untuk Apache Spark. Anda dapat membatasi rentang alamat IP jaringan berdasarkan jumlah beban kerja serentak yang akan dijalankan.

Apakah Serverless untuk Apache Spark mendukung residensi data?

Ya. Anda menentukan region tempat workload Anda diproses. Temukan set data input dan output Anda di region yang ditentukan.

Bagaimana cara Serverless untuk Apache Spark memilih zona dalam region yang Anda tentukan untuk menjalankan workload?

Serverless untuk Apache Spark memilih zona Compute Engine tempat ia menjalankan workload berdasarkan kapasitas dan ketersediaan. Jika zona tidak tersedia setelah workload dimulai, workload akan gagal, dan Anda harus mengirimkan kembali workload yang gagal.

Bagaimana cara workload Serverless untuk Apache Spark menggunakan resource komputasi?

Setiap workload dijalankan di resource komputasinya sendiri. Beberapa pengiriman batch tidak berbagi atau menggunakan kembali resource komputasi.

Praktik Terbaik:

  • Optimalkan workload Anda untuk tugas yang berjalan sedang, bukan tugas yang berjalan singkat.

  • Mempertahankan data yang diakses oleh beberapa beban kerja di Cloud Storage.

Di mana saya dapat menemukan informasi tentang pengumuman, fitur, perbaikan bug, masalah umum, dan penghentian penggunaan Serverless for Apache Spark?

Lihat catatan rilis Serverless untuk Apache Spark.

Apakah workload serentak bersaing untuk mendapatkan resource?

Workload Serverless untuk Apache Spark hanya bersaing untuk mendapatkan resource jika kuota resource Anda tidak cukup untuk menjalankan semua workload yang berjalan secara bersamaan. Jika tidak, workload akan sepenuhnya terisolasi satu sama lain.

Bagaimana kuota Serverless untuk Apache Spark dialokasikan?

Batch Serverless untuk Apache Spark menggunakan Google Cloud resource. Lihat Kuota Dataproc Serverless untuk mengetahui informasi selengkapnya.

Apakah saya perlu menyiapkan Dataproc Persistent History Server?

Penyiapan Persistent History Server (PHS) untuk digunakan dengan Serverless for Apache Spark bersifat opsional.Anda dapat menggunakan PHS untuk melihat peristiwa Spark dan log lainnya dalam bucket Cloud Storage tertentu hingga dan setelah periode retensi (TTL) 90 hari bucket sementara dan penyiapan Serverless for Apache Spark standar.

Log Spark Serverless untuk Apache Spark apa saja yang tersedia?

Log eksekutor dan driver Spark tersedia di Cloud Logging selama dan setelah eksekusi beban kerja Spark. Selain itu, aplikasi Spark dapat dilihat di antarmuka web Persistent History Server (PHS) saat beban kerja berjalan (pilih PHS > Incomplete Applications di UI PHS).

Jika Anda menyiapkan PHS Dataproc, PHS tersebut akan memberikan akses persisten ke log peristiwa Spark yang disimpan di Cloud Storage, yang memberikan insight tentang eksekusi aplikasi Spark, seperti peristiwa DAG dan executor.

Dapatkah saya menetapkan jumlah eksekutor untuk beban kerja Spark?

Ya. Anda dapat menetapkan jumlah eksekutor untuk beban kerja Spark menggunakan properti spark.executor.instances. Namun, jumlah total core yang dapat digunakan oleh workload lebih penting daripada jumlah eksekutor karena Spark menjalankan 1 tugas per core. Misalnya, jika workload memiliki empat eksekutor dengan dua core masing-masing, workload tersebut akan menjalankan 4 * 2 = 8 tugas secara bersamaan. Selain itu, workload yang memiliki dua eksekutor dengan masing-masing empat core juga akan menjalankan jumlah tugas yang sama. Karena jumlah core untuk setiap workload sama, jumlah tugas yang dijalankan juga akan sama. Anda dapat menggunakan properti spark.executor.cores untuk menetapkan jumlah core per eksekutor untuk workload Serverless for Apache Spark.

Metrik Spark apa yang digunakan Serverless untuk Apache Spark dalam penskalaan otomatis?

Serverless untuk Apache Spark melihat metrik alokasi dinamis maximum-needed dan running Spark untuk menentukan apakah akan melakukan penskalaan atau tidak. Lihat Penskalaan otomatis Serverless untuk Apache Spark.

Dapatkah saya mengonfigurasi perilaku penskalaan otomatis Serverless for Apache Spark menggunakan properti Spark?

Ya. Penskalaan otomatis Serverless for Apache Spark didasarkan pada alokasi dinamis Spark, dan diaktifkan secara default. Anda dapat menyesuaikan properti Spark dan properti alokasi dinamis Spark berikut:

  • spark.executor.instances
  • spark.dynamicAllocation.initialExecutors
  • spark.dynamicAllocation.minExecutors
  • spark.dynamicAllocation.maxExecutors

Mengapa saya perlu mengemas kode dalam file JAR untuk mengirimkan beban kerja Spark?

Spark ditulis dalam Scala, yang berarti bahwa proses driver dan worker beroperasi sebagai proses JVM. Dalam bahasa JVM, file JAR adalah cara utama untuk mengemas kode. Anda meneruskan file JAR ke Serverless untuk Apache Spark saat Anda mengirimkan workload.