GSP010
Ringkasan
Dalam lab praktik ini, Anda akan mempelajari cara menggunakan Managed Apache Spark untuk mendistribusikan tugas pemrosesan gambar yang memerlukan komputasi intensif ke cluster mesin. Lab ini merupakan bagian dari rangkaian lab tentang pemrosesan data ilmiah.
Yang akan Anda pelajari
- Cara membuat cluster Managed Apache Spark dengan Apache Spark bawaan.
- Cara membangun dan menjalankan tugas yang menggunakan paket eksternal yang belum terinstal di cluster Anda.
- Cara mematikan cluster Anda.
Prasyarat
Ini adalah lab tingkat lanjut. Pemahaman tentang Managed Apache Spark dan Apache Spark direkomendasikan, tetapi tidak diwajibkan. Jika Anda ingin mendapatkan semua info terbaru tentang layanan ini, pastikan untuk memeriksa lab berikut:
Jika Anda sudah siap, scroll ke bawah untuk mempelajari lebih lanjut layanan yang akan Anda gunakan dalam lab ini.
Penyiapan dan persyaratan
Sebelum mengklik tombol Start Lab
Baca petunjuk ini. Lab memiliki timer dan Anda tidak dapat menjedanya. Timer yang dimulai saat Anda mengklik Start Lab akan menampilkan durasi ketersediaan resource Google Cloud untuk Anda.
Lab interaktif ini dapat Anda gunakan untuk melakukan aktivitas lab di lingkungan cloud sungguhan, bukan di lingkungan demo atau simulasi. Untuk mengakses lab ini, Anda akan diberi kredensial baru yang bersifat sementara dan dapat digunakan untuk login serta mengakses Google Cloud selama durasi lab.
Untuk menyelesaikan lab ini, Anda memerlukan:
- Akses ke browser internet standar (disarankan browser Chrome).
Catatan: Gunakan jendela Samaran (direkomendasikan) atau browser pribadi untuk menjalankan lab ini. Hal ini akan mencegah konflik antara akun pribadi Anda dan akun siswa yang dapat menyebabkan tagihan ekstra pada akun pribadi Anda.
- Waktu untuk menyelesaikan lab. Ingat, setelah dimulai, lab tidak dapat dijeda.
Catatan: Hanya gunakan akun siswa untuk lab ini. Jika Anda menggunakan akun Google Cloud yang berbeda, Anda mungkin akan dikenai tagihan ke akun tersebut.
Cara memulai lab dan login ke Konsol Google Cloud
-
Klik tombol Start Lab. Jika Anda perlu membayar lab, dialog akan terbuka untuk memilih metode pembayaran.
Di sebelah kanan terdapat panel Lab setup and access yang berisi hal-hal berikut:
- Tombol Open Google Cloud console
- Kredensial sementara (nama pengguna dan sandi) yang harus Anda gunakan untuk lab ini
- Informasi lain, jika diperlukan, untuk menyelesaikan lab ini
Perhatikan bahwa timer lab terletak di dekat bagian atas halaman, yang menampilkan waktu yang tersisa.
-
Klik Open Google Cloud console (atau klik kanan dan pilih Open Link in Incognito Window jika Anda menjalankan browser Chrome).
Lab akan menjalankan resource, lalu membuka tab lain yang menampilkan halaman Sign in.
Tips: Atur tab di jendela terpisah secara berdampingan.
Catatan: Jika Anda melihat dialog Choose an account, klik Use Another Account.
-
Jika perlu, salin Username di bawah dan tempel ke dialog Sign in.
{{{user_0.username | "Username"}}}
Anda juga dapat menemukan Username di panel Lab setup and access.
-
Klik Next.
-
Salin Password di bawah dan tempel ke dialog Welcome.
{{{user_0.password | "Password"}}}
Anda juga dapat menemukan Password di panel Lab setup and access.
-
Klik Next.
Penting: Anda harus menggunakan kredensial yang diberikan lab. Jangan menggunakan kredensial akun Google Cloud Anda.
Catatan: Penggunaan akun Google Cloud sendiri untuk lab ini mungkin dikenai biaya tambahan.
-
Klik untuk melanjutkan ke halaman berikutnya:
- Setujui persyaratan dan ketentuan.
- Jangan tambahkan opsi pemulihan atau autentikasi 2 langkah (karena ini akun sementara).
- Jangan daftar uji coba gratis.
Setelah beberapa saat, Konsol Google Cloud akan terbuka di tab ini.
Catatan: Untuk mengakses produk dan layanan Google Cloud, klik Navigation menu atau ketik nama layanan atau produk di kolom Search.
Pengantar
Managed Apache Spark adalah layanan Spark dan Hadoop terkelola yang memungkinkan Anda memanfaatkan alat data open source untuk batch processing, pembuatan kueri, streaming, dan machine learning. Otomatisasi Managed Apache Spark membantu Anda membuat cluster dengan cepat, mengelolanya dengan mudah, dan menghemat biaya dengan menonaktifkan cluster saat tidak diperlukan. Karena lebih sedikit waktu dan biaya yang dihabiskan untuk tugas administrasi, Anda dapat berfokus pada tugas dan data Anda.
Pertimbangkan untuk menggunakan Managed Apache Spark guna menyebarkan skala tugas sarat komputasi yang memenuhi karakteristik berikut:
- Tugas tersebut sangat paralel—dengan kata lain, Anda dapat memproses subset data yang berbeda di mesin yang berbeda.
- Anda sudah memiliki kode Apache Spark yang melakukan komputasi atau Anda sudah memahami Apache Spark.
- Distribusi tugas cukup seragam di seluruh subset data Anda.
Jika subset yang berbeda memerlukan jumlah pemrosesan yang berbeda (atau jika Anda belum mengetahui Apache Spark), Apache Beam di Cloud Dataflow adalah alternatif yang menarik karena menyediakan pipeline data penskalaan otomatis.
Dalam lab ini, tugas yang akan Anda jalankan membuat garis tepi wajah dalam gambar menggunakan serangkaian aturan pemrosesan gambar yang ditentukan di OpenCV. Vision API merupakan opsi yang lebih baik untuk tindakan ini, karena aturan yang dikodekan secara manual seperti ini tidak berfungsi dengan baik. Namun, lab ini merupakan contoh melakukan pekerjaan yang sarat komputasi secara terdistribusi.
Tugas 1. Membuat mesin pengembangan di Compute Engine
Pertama, Anda membuat virtual machine untuk menghosting layanan Anda.
- Di Konsol Cloud, buka Compute Engine > VM Instances > Create Instance.

-
Di Machine configuration.
Pilih nilai berikut:
-
Name:
devhost
-
Series:
E2
-
Machine Type:
e2-standard-2 (2 vCPUs)
-
Klik Security.
- Di bagian Access scopes, pilih Allow full access to all Cloud APIs.
-
Klik Create. Hal ini akan berfungsi sebagai host bastion pengembangan Anda.
Menguji tugas yang sudah selesai
Klik Periksa progres saya untuk memverifikasi tugas yang telah dijalankan.
Membuat mesin pengembangan di Compute Engine.
- Sekarang, lakukan SSH ke instance dengan mengklik tombol SSH di Konsol.
Tugas 2. Menginstal software
Sekarang siapkan software untuk menjalankan tugas. Dengan menggunakan sbt, alat build open source, Anda akan membangun JAR untuk tugas yang akan dikirim ke cluster Managed Apache Spark. JAR ini akan berisi program dan paket yang diperlukan untuk menjalankan tugas. Tugas ini akan mendeteksi wajah dalam sekumpulan file gambar yang disimpan di bucket Cloud Storage, dan menulis file gambar dengan wajah yang diberi garis tepi, ke bucket Cloud Storage yang sama atau bucket Cloud Storage lainnya.
- Siapkan Scala dan sbt. Di jendela SSH, instal
Scala dan sbt dengan perintah berikut agar Anda dapat mengompilasi kode:
sudo apt-get install -y dirmngr unzip apt-transport-https bc scala
sudo apt-get update
sudo mkdir -p /etc/apt/keyrings
curl -sL "https://keyserver.ubuntu.com/pks/lookup?op=get&search=0x99E82A75642AC823" | sudo gpg --dearmor -o /etc/apt/keyrings/scalasbt-archive-keyring.gpg
echo "deb [signed-by=/etc/apt/keyrings/scalasbt-archive-keyring.gpg] https://repo.scala-sbt.org/scalasbt/debian all main" | sudo tee /etc/apt/sources.list.d/sbt.list
sudo apt-get update
sudo apt-get install -y sbt
Sekarang Anda akan membuat file Detektor Fitur. Kode untuk lab ini adalah sedikit modifikasi pada solusi yang ada di repositori Managed Apache Spark di GitHub. Anda akan mendownload kode, lalu cd ke direktori untuk lab ini dan membuat "fat JAR" dari detektor fitur agar dapat dikirim ke Managed Apache Spark.
- Jalankan perintah berikut di jendela SSH:
gcloud storage cp gs://spls/gsp124/cloud-dataproc.zip .
unzip cloud-dataproc.zip
cd cloud-dataproc/codelabs/opencv-haarcascade
echo "sbt.version=1.9.8" > project/build.properties
- Luncurkan build. Perintah ini membangun "fat JAR" dari Detektor Fitur sehingga dapat dikirim ke Managed Apache Spark:
sed -i 's/scalaVersion := "2.12.*/scalaVersion := "2.12.19"/' build.sbt
sbt assembly
Catatan: Langkah ini akan memerlukan waktu beberapa menit untuk diproses, sekitar lima menit atau lebih. Harap bersabar.
Menguji tugas yang sudah selesai
Klik Periksa progres saya untuk memverifikasi tugas yang telah dijalankan.
Menginstal software di mesin pengembangan.
Tugas 3. Membuat bucket Cloud Storage dan mengumpulkan gambar
Setelah Anda membuat file Detektor Fitur, buat bucket Cloud Storage dan tambahkan beberapa gambar sampel ke dalamnya.
- Ambil Project ID untuk digunakan sebagai nama bucket Anda:
GCP_PROJECT=$(gcloud config get-value core/project)
- Namai bucket Anda dan tetapkan variabel shell ke nama bucket Anda. Variabel shell akan digunakan dalam perintah untuk merujuk kepada bucket Anda:
MYBUCKET="${USER//google}-image-${RANDOM}"
echo MYBUCKET=${MYBUCKET}
- Gunakan program
gsutil, yang disertakan dengan gcloud di Cloud SDK, untuk membuat bucket yang akan menyimpan gambar sampel Anda:
gcloud storage buckets create gs://${MYBUCKET}
Menguji tugas yang sudah selesai
Klik Periksa progres saya untuk memverifikasi tugas yang telah dijalankan.
Membuat bucket Cloud Storage.
- Download beberapa gambar sampel ke dalam bucket Anda:
curl https://www.publicdomainpictures.net/pictures/20000/velka/family-of-three-871290963799xUk.jpg | gcloud storage cp - gs://${MYBUCKET}/imgs/family-of-three.jpg
curl https://www.publicdomainpictures.net/pictures/10000/velka/african-woman-331287912508yqXc.jpg | gcloud storage cp - gs://${MYBUCKET}/imgs/african-woman.jpg
curl https://www.publicdomainpictures.net/pictures/10000/velka/296-1246658839vCW7.jpg | gcloud storage cp - gs://${MYBUCKET}/imgs/classroom.jpg
Anda baru saja mendownload gambar berikut ke bucket Cloud Storage Anda:



Menguji tugas yang sudah selesai
Klik Periksa progres saya untuk memverifikasi tugas yang telah dijalankan.
Mendownload beberapa gambar sampel ke bucket Anda.
- Jalankan perintah ini untuk melihat isi bucket Anda:
gcloud storage ls -R gs://${MYBUCKET}
Output:
gs://gcpstaging20392-student-image-23218/imgs/:
gs://gcpstaging20392-student-image-23218/imgs/african-woman.jpg
gs://gcpstaging20392-student-image-23218/imgs/classroom.jpg
gs://gcpstaging20392-student-image-23218/imgs/family-of-three.jpg
`
Tugas 4. Membuat cluster Managed Apache Spark
- Jalankan perintah berikut di jendela SSH untuk menamai cluster Anda dan menetapkan variabel
MYCLUSTER. Anda akan menggunakan variabel dalam perintah untuk merujuk kepada cluster Anda:
MYCLUSTER="${USER/_/-}-qwiklab"
echo MYCLUSTER=${MYCLUSTER}
- Tetapkan region Compute Engine global yang akan digunakan dan buat cluster baru:
gcloud config set dataproc/region {{{project_0.default_region | "REGION"}}}
gcloud dataproc clusters create ${MYCLUSTER} \
--bucket=${MYBUCKET} \
--worker-machine-type=e2-standard-2 \
--master-machine-type=e2-standard-2 \
--initialization-actions=gs://spls/gsp010/install-libgtk.sh \
--image-version=2.0 \
--worker-boot-disk-size=30GB \
--master-boot-disk-size=30GB
- Jika diminta menggunakan zona, bukan region, masukkan Y.
Proses ini mungkin memerlukan waktu beberapa menit. Setelan cluster default, yang mencakup dua worker node, sudah cukup untuk lab ini. e2-standard-2 ditentukan sebagai jenis mesin master dan worker node untuk mengurangi jumlah keseluruhan inti yang digunakan oleh cluster.
Untuk flag initialization-actions, Anda meneruskan skrip yang menginstal library libgtk2.0-dev di setiap mesin cluster Anda. Library ini diperlukan untuk menjalankan kode.
Catatan:
Jika cluster Anda gagal dibuat, coba hapus cluster Anda (gcloud dataproc clusters delete ${MYCLUSTER}), lalu coba lagi perintah pembuatan cluster sebelumnya.
Menguji tugas yang sudah selesai
Klik Periksa progres saya untuk memverifikasi tugas yang telah dijalankan.
Membuat cluster Managed Apache Spark.
Catatan: Untuk mempelajari lebih lanjut penggunaan tanda command line untuk menyesuaikan setelan cluster, baca referensi pembuatan cluster dataproc gcloud Cloud SDK.
Tugas 5. Mengirim tugas ke cluster Managed Apache Spark
Dalam lab ini, program yang Anda jalankan digunakan sebagai pendeteksi wajah, sehingga pengklasifikasi haar yang dimasukkan harus mendeskripsikan wajah. Pengklasifikasi haar adalah file XML yang digunakan untuk mendeskripsikan fitur yang akan dideteksi oleh program. Anda akan mendownload file pengklasifikasi haar dan menyertakan jalur Cloud Storage-nya dalam argumen pertama saat Anda mengirim tugas ke cluster Managed Apache Spark Anda.
- Jalankan perintah berikut di jendela SSH untuk memuat file konfigurasi deteksi wajah ke dalam bucket Anda:
curl https://raw.githubusercontent.com/opencv/opencv/master/data/haarcascades/haarcascade_frontalface_default.xml | gcloud storage cp - gs://${MYBUCKET}/haarcascade_frontalface_default.xml
- Gunakan kumpulan gambar yang Anda upload ke direktori
imgs di bucket Cloud Storage Anda sebagai input ke Detektor Fitur Anda. Anda harus menyertakan jalur ke direktori tersebut sebagai argumen kedua dari perintah pengiriman tugas Anda.
- Kirim tugas Anda ke Managed Apache Spark:
cd ~/cloud-dataproc/codelabs/opencv-haarcascade
gcloud dataproc jobs submit spark \
--cluster ${MYCLUSTER} \
--jar target/scala-2.12/feature_detector-assembly-1.0.jar -- \
gs://${MYBUCKET}/haarcascade_frontalface_default.xml \
gs://${MYBUCKET}/imgs/ \
gs://${MYBUCKET}/out/
Anda dapat menambahkan gambar lain untuk digunakan ke bucket Cloud Storage yang ditentukan dalam argumen kedua.
- Untuk memantau tugas, di Konsol Cloud Platform, pilih Navigation menu > View All Products. Kemudian, di bagian Analytics, klik Managed Apache Spark > Jobs.
Saat melihat status berhasil, Anda dapat melanjutkan ke langkah berikutnya.

Menguji tugas yang sudah selesai
Klik Periksa progres saya untuk memverifikasi tugas yang telah dijalankan.
Mengirim tugas ke cluster Managed Apache Spark.
-
Setelah tugas selesai, buka Navigation menu > Cloud Storage dan temukan bucket yang Anda buat (bucket tersebut akan memiliki nama pengguna Anda diikuti dengan student-image serta angka acak), lalu klik bucket tersebut.
-
Klik gambar di direktori Out.
-
Klik ikon Download, dan gambar tersebut akan didownload ke komputer Anda.
Seberapa akurat deteksi wajahnya? Vision API merupakan opsi yang lebih baik untuk tindakan ini, karena aturan yang dikodekan secara manual ini tidak berfungsi dengan baik. Anda dapat melihat cara kerjanya di bagian berikutnya.
-
(Opsional) Di bucket Anda, buka folder imgs, lalu klik gambar lain yang Anda upload ke bucket Anda. Tindakan ini akan mendownload tiga gambar sampel. Simpan ketiganya di komputer Anda.
-
Klik link ini untuk membuka halaman Vision API, scroll ke bawah ke bagian Try the API, lalu upload gambar yang Anda download dari bucket Anda. Anda akan melihat hasil deteksi gambar dalam hitungan detik. Model machine learning yang mendasarinya terus berkembang, sehingga hasil Anda mungkin tidak sama:

- (Opsional) Jika Anda ingin bereksperimen dengan meningkatkan kualitas Detektor Fitur, Anda dapat mengedit kode
FeatureDetector, lalu menjalankan ulang sbt assembly serta perintah gcloud dataproc dan jobs submit.
Tugas 6. Menguji pemahaman Anda
Di bawah ini terdapat beberapa pertanyaan pilihan ganda untuk memperkuat pemahaman Anda tentang konsep-konsep dalam lab ini. Jawab pertanyaan tersebut sebaik mungkin.
Selamat!
Anda telah mempelajari cara menjalankan cluster Managed Apache Spark dan menjalankan tugas.
Sertifikasi dan pelatihan Google Cloud
...membantu Anda mengoptimalkan teknologi Google Cloud. Kelas kami mencakup keterampilan teknis dan praktik terbaik untuk membantu Anda memahami dengan cepat dan melanjutkan proses pembelajaran. Kami menawarkan pelatihan tingkat dasar hingga lanjutan dengan opsi on demand, live, dan virtual untuk menyesuaikan dengan jadwal Anda yang sibuk. Sertifikasi membantu Anda memvalidasi dan membuktikan keterampilan serta keahlian Anda dalam teknologi Google Cloud.
Manual Terakhir Diperbarui: 06 Juli 2026
Lab Terakhir Diuji: 06 Juli 2026
Hak cipta 2026 Google LLC. Semua hak dilindungi undang-undang. Google dan logo Google adalah merek dagang dari Google LLC. Semua nama perusahaan dan produk lain mungkin adalah merek dagang masing-masing perusahaan yang bersangkutan.