Ringkasan
Serverless for Apache Spark adalah layanan terkelola sepenuhnya yang mempermudah eksekusi pemrosesan data open source dan workload analisis tanpa perlu mengelola infrastruktur atau menyesuaikan workload secara manual.
Serverless for Apache Spark menyediakan lingkungan optimal yang dirancang untuk memindahkan workload Spark yang ada dengan mudah ke Google Cloud.
Di lab ini, Anda akan menjalankan workload Batch di lingkungan Serverless for Apache Spark. Workload tersebut akan menggunakan template 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
Catatan: 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 Qwiklabs ini dapat Anda gunakan untuk melakukan sendiri 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.
Yang Anda perlukan
Untuk menyelesaikan lab ini, Anda memerlukan:
- Akses ke browser internet standar (disarankan browser Chrome).
- Waktu untuk menyelesaikan lab.
Catatan: Jika Anda sudah memiliki akun atau project Google Cloud pribadi, jangan menggunakan akun atau project tersebut untuk lab ini.
Catatan: Jika Anda menggunakan Pixelbook, buka di jendela Samaran untuk menjalankan 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 eksekusi workload Serverless for Apache Spark.
- 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 BigQuery 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 Cloud Storage yang Anda buat sebelumnya sebagai lokasi staging.
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 untuk memuat data ke dalam BigQuery.
- Tetapkan variabel lingkungan berikut untuk lingkungan Serverless for Apache Spark.
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 boleh mengabaikan peringatan 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 gagal, tunggu lalu jalankan kembali perintah hingga tugas berhasil.
Mengonfigurasi dan mengeksekusi kode Spark
Tugas 4. Mengonfirmasi pemuatan data 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 mirip dengan respons 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 pemuatan data ke dalam BigQuery
Selamat
Anda berhasil menjalankan workload Batch menggunakan Serverless for Apache Spark untuk 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.