Ringkasan
Dataproc Serverless adalah layanan terkelola sepenuhnya yang mempermudah aktivitas menjalankan pemrosesan data open source dan workload analisis tanpa perlu mengelola infrastruktur atau menyesuaikan workload secara manual.
Dataproc Serverless untuk Spark menyediakan lingkungan yang dioptimalkan dan dirancang untuk memindahkan workload Spark yang ada dengan mudah ke Google Cloud.
Di lab ini, Anda akan menjalankan workload Batch di lingkungan Dataproc Serverless. Workload ini akan menggunakan template Spark untuk memproses file Avro guna membuat dan memuat Tabel BigQuery.
Yang akan Anda lakukan
- Mengonfigurasi lingkungan
- Mendownload aset lab
- Mengonfigurasi dan mengeksekusi kode Spark
- Melihat data di BigQuery
Penyiapan
Sebelum mengklik tombol Start Lab (Mulai Lab)
Baca petunjuk ini. Lab memiliki timer dan Anda tidak dapat menjedanya. Timer, yang dimulai saat Anda mengklik Start Lab (Mulai Lab), menampilkan lamanya resource Cloud akan tersedia untuk Anda.
Lab praktis Qwiklabs ini memungkinkan Anda melakukan aktivitas lab sendiri di lingkungan cloud nyata, bukan di lingkungan demo atau simulasi. Yaitu dengan cara memberi Anda kredensial sementara yang baru yang digunakan untuk login dan mengakses Google Cloud Platform selama durasi lab.
Yang diperlukan
Untuk menyelesaikan lab ini, Anda memerlukan:
- Akses ke browser internet standar (disarankan browser Chrome).
- Waktu untuk menyelesaikan lab.
Catatan: Jika Anda sudah memiliki project atau akun GCP pribadi, jangan gunakan project atau akun tersebut untuk lab ini.
Cara memulai lab dan login ke Console
-
Klik tombol Start Lab. Jika Anda perlu membayar lab, jendela pop-up akan terbuka untuk memilih metode pembayaran.
Di sebelah kiri terdapat panel berisi kredensial sementara yang harus Anda gunakan untuk lab ini.

-
Salin nama pengguna, lalu klik Open Google Console.
Lab akan menjalankan resource, lalu membuka tab lain yang menampilkan halaman Choose an account.
Tips: Buka tab di jendela terpisah secara berdampingan.
-
Di halaman Choose an account, klik Use Another Account. Halaman Login akan terbuka.

-
Tempel nama pengguna yang telah disalin dari panel Connection Details. Lalu, salin dan tempel sandinya.
Catatan: Anda harus menggunakan kredensial dari panel Connection Details. Jangan menggunakan kredensial Google Cloud Skills Boost. Jangan menggunakan akun Google Cloud pribadi Anda untuk lab ini agar terhindar dari tagihan.
- Klik 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 Cloud akan terbuka di tab ini.
Catatan: Anda dapat melihat menu berisi daftar Produk dan Layanan Google Cloud dengan mengklik Navigation menu di kiri atas.
Mengaktifkan Google Cloud Shell
Google Cloud Shell adalah virtual machine yang dilengkapi dengan berbagai fitur pengembangan. Virtual machine ini menawarkan direktori beranda persisten berkapasitas 5 GB dan berjalan di Google Cloud.
Google Cloud Shell menyediakan akses command line untuk resource Google Cloud Anda.
-
Di Cloud Console, pada toolbar di kanan atas, klik tombol Open Cloud Shell.

-
Klik Continue.
Proses menyediakan dan menghubungkan ke lingkungan memerlukan waktu beberapa saat. Setelah terhubung, Anda sudah diautentikasi, dan project ditetapkan ke PROJECT_ID Anda. Contoh:

gcloud adalah alat command line untuk Google Cloud. Alat ini sudah terinstal di Cloud Shell dan mendukung pelengkapan command line.
- Anda dapat menampilkan daftar nama akun yang aktif dengan perintah ini:
gcloud auth list
Output:
Akun berkredensial:
- @.com (aktif)
Contoh output:
Akun berkredensial:
- google1623327_student@qwiklabs.net
- Anda dapat menampilkan daftar project ID dengan perintah ini:
gcloud config list project
Output:
[core]
project =
Contoh output:
[core]
project = qwiklabs-gcp-44776a13dea667a6
Catatan:
Dokumentasi lengkap gcloud tersedia dalam
panduan ringkasan gcloud CLI
.
Tugas 1. Menyelesaikan tugas konfigurasi lingkungan
Pertama, Anda akan menjalankan beberapa tugas konfigurasi lingkungan untuk mendukung proses eksekusi workload Dataproc Serverless.
- Di Cloud Shell, jalankan perintah berikut untuk mengaktifkan Akses IP Pribadi:
gcloud compute networks subnets update default --region={{{project_0.default_region |REGION}}} --enable-private-ip-google-access
- Gunakan perintah berikut untuk membuat bucket Cloud Storage baru sebagai lokasi staging:
gsutil mb -p {{{project_0.project_id |PROJECT_ID}}} gs://{{{project_0.project_id |PROJECT_ID}}}
- Gunakan perintah berikut untuk membuat bucket Cloud Storage baru sebagai lokasi sementara untuk BigQuery selagi tabel dibuat dan dimuat:
gsutil mb -p {{{project_0.project_id |PROJECT_ID}}} gs://{{{project_0.project_id |PROJECT_ID}}}-bqtemp
- Buat set data BQ untuk menyimpan data tersebut.
bq mk -d loadavro
Menyelesaikan tugas konfigurasi lingkungan
Tugas 2. Mendownload aset lab
Selanjutnya, Anda akan mendownload beberapa aset yang diperlukan untuk menyelesaikan lab ke dalam VM Compute Engine yang disediakan lab. Anda akan menjalankan langkah-langkah selanjutnya di lab dalam VM Compute Engine.
- Dari Navigation menu, klik Compute Engine. Di sini, Anda akan melihat VM linux yang disediakan untuk Anda. Klik tombol SSH di samping instance lab-vm.

- Di terminal prompt VM, download file Avro yang akan diproses untuk penyimpanan di BigQuery.
wget https://storage.googleapis.com/cloud-training/dataengineering/lab_assets/idegc/campaigns.avro
- Selanjutnya, pindahkan file Avro ke bucket staging Cloud Storage yang telah Anda buat sebelumnya.
gcloud storage cp campaigns.avro gs://{{{project_0.project_id |PROJECT_ID}}}
- Download arsip yang berisi kode Spark yang akan dieksekusi di lingkungan Serverless.
wget https://storage.googleapis.com/cloud-training/dataengineering/lab_assets/idegc/dataproc-templates.zip
- Ekstrak arsip.
unzip dataproc-templates.zip
- Ubah ke direktori Python.
cd dataproc-templates/python
Mendownload aset lab
Tugas 3. Mengonfigurasi dan mengeksekusi kode Spark
Selanjutnya, Anda akan menetapkan beberapa variabel lingkungan ke terminal instance VM dan mengeksekusi template Spark guna memuat data ke dalam BigQuery.
- Tetapkan variabel lingkungan berikut untuk lingkungan Dataproc Serverless.
export GCP_PROJECT={{{project_0.project_id |PROJECT_ID}}}
export REGION={{{project_0.default_region |REGION}}}
export GCS_STAGING_LOCATION=gs://{{{project_0.project_id |PROJECT_ID}}}
export JARS=gs://cloud-training/dataengineering/lab_assets/idegc/spark-bigquery_2.12-20221021-2134.jar
- Jalankan kode berikut untuk mengeksekusi template Spark Cloud Storage ke BigQuery guna memuat file Avro ke dalam BigQuery.
./bin/start.sh \
-- --template=GCSTOBIGQUERY \
--gcs.bigquery.input.format="avro" \
--gcs.bigquery.input.location="gs://{{{project_0.project_id |PROJECT_ID}}}" \
--gcs.bigquery.input.inferschema="true" \
--gcs.bigquery.output.dataset="loadavro" \
--gcs.bigquery.output.table="campaigns" \
--gcs.bigquery.output.mode=overwrite\
--gcs.bigquery.temp.bucket.name="{{{project_0.project_id |PROJECT_ID}}}-bqtemp"
Catatan: Anda dapat mengabaikan peringatan yang bertuliskan: WARN FileStreamSink: Assume no metadata directory. Error while looking for metadata directory in the path... Karena pengujian ini berskala kecil, direktori metadata tidak diperlukan.
Catatan: Jika Anda melihat pesan error yang menyatakan bahwa tugas batch telah gagal, harap tunggu, lalu jalankan kembali perintah hingga tugas berhasil.
Mengonfigurasi dan mengeksekusi kode Spark
Tugas 4. Mengonfirmasi bahwa data telah dimuat ke dalam BigQuery
Setelah berhasil mengeksekusi template Spark, sekarang saatnya memeriksa hasilnya di BigQuery.
- Lihat data tersebut di tabel baru di BigQuery.
bq query \
--use_legacy_sql=false \
'SELECT * FROM `loadavro.campaigns`;'
- Kueri akan menampilkan hasil yang serupa dengan contoh berikut:
Contoh output:
+------------+--------+---------------------+--------+---------------------+----------+-----+
| created_at | period | campaign_name | amount | advertising_channel | bid_type | id |
+------------+--------+---------------------+--------+---------------------+----------+-----+
| 2020-09-17 | 90 | NA - Video - Other | 41 | Video | CPC | 81 |
| 2021-01-19 | 30 | NA - Video - Promo | 325 | Video | CPC | 137 |
| 2021-06-28 | 30 | NA - Video - Promo | 78 | Video | CPC | 214 |
| 2021-03-15 | 30 | EU - Search - Brand | 465 | Search | CPC | 170 |
| 2022-01-01 | 30 | EU - Search - Brand | 83 | Search | CPC | 276 |
| 2020-02-18 | 30 | EU - Search - Brand | 30 | Search | CPC | 25 |
| 2021-06-08 | 30 | EU - Search - Brand | 172 | Search | CPC | 201 |
| 2020-11-29 | 60 | EU - Search - Other | 83 | Search | CPC | 115 |
| 2021-09-11 | 30 | EU - Search - Other | 86 | Search | CPC | 237 |
| 2022-02-17 | 30 | EU - Search - Other | 64 | Search | CPC | 296 |
+------------+--------+---------------------+--------+---------------------+----------+-----+
Mengonfirmasi bahwa data telah dimuat ke dalam BigQuery
Selamat!
Anda telah berhasil menjalankan workload Batch menggunakan Dataproc Serverless untuk Spark guna memuat file Avro ke dalam Tabel BigQuery.
Hak cipta 2020 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.