arrow_back

Menggunakan Dataproc Serverless untuk Spark guna Memuat BigQuery

Login Gabung
Dapatkan akses ke 700+ lab dan kursus

Menggunakan Dataproc Serverless untuk Spark guna Memuat BigQuery

Lab 45 menit universal_currency_alt 5 Kredit show_chart Pengantar
info Lab ini mungkin menggabungkan alat AI untuk mendukung pembelajaran Anda.
Dapatkan akses ke 700+ lab dan kursus

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

  1. 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.

    Panel kredensial

  2. 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.
  3. Di halaman Choose an account, klik Use Another Account. Halaman Login akan terbuka.

    Pilih kotak dialog akun dengan opsi Use Another Account yang disorot

  4. 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.
  1. 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. Menu Konsol Cloud

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.

  1. Di Cloud Console, pada toolbar di kanan atas, klik tombol Open Cloud Shell.

    Ikon Cloud Shell yang diperjelas

  2. 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:

Project ID yang diperjelas di Terminal Cloud Shell

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.

  1. 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
  1. 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}}}
  1. 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
  1. 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.

  1. 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.

Halaman Instance VM GCE

  1. 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
  1. 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}}}
  1. 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
  1. Ekstrak arsip.
unzip dataproc-templates.zip
  1. 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.

  1. 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
  1. 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.

  1. Lihat data tersebut di tabel baru di BigQuery.
bq query \ --use_legacy_sql=false \ 'SELECT * FROM `loadavro.campaigns`;'
  1. 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.

Sebelum memulai

  1. Lab membuat project dan resource Google Cloud untuk jangka waktu tertentu
  2. Lab memiliki batas waktu dan tidak memiliki fitur jeda. Jika lab diakhiri, Anda harus memulainya lagi dari awal.
  3. Di kiri atas layar, klik Start lab untuk memulai

Gunakan penjelajahan rahasia

  1. Salin Nama Pengguna dan Sandi yang diberikan untuk lab tersebut
  2. Klik Open console dalam mode pribadi

Login ke Konsol

  1. Login menggunakan kredensial lab Anda. Menggunakan kredensial lain mungkin menyebabkan error atau dikenai biaya.
  2. Setujui persyaratan, dan lewati halaman resource pemulihan
  3. Jangan klik End lab kecuali jika Anda sudah menyelesaikan lab atau ingin mengulanginya, karena tindakan ini akan menghapus pekerjaan Anda dan menghapus project

Konten ini tidak tersedia untuk saat ini

Kami akan memberi tahu Anda melalui email saat konten tersedia

Bagus!

Kami akan menghubungi Anda melalui email saat konten tersedia

Satu lab dalam satu waktu

Konfirmasi untuk mengakhiri semua lab yang ada dan memulai lab ini

Gunakan penjelajahan rahasia untuk menjalankan lab

Gunakan jendela Samaran atau browser pribadi untuk menjalankan lab ini. Langkah ini akan mencegah konflik antara akun pribadi Anda dan akun Siswa yang dapat menyebabkan tagihan ekstra pada akun pribadi Anda.