arrow_back

Pemrosesan ETL di Google Cloud Menggunakan Dataflow dan BigQuery (Python)

Login Gabung
Dapatkan akses ke 700+ lab dan kursus

Pemrosesan ETL di Google Cloud Menggunakan Dataflow dan BigQuery (Python)

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

GSP290

Ringkasan

Dataflow adalah layanan Google Cloud yang menyediakan pemrosesan data batch dan streaming terpadu dalam skala besar. Layanan ini dibuat di project Apache Beam, yang merupakan model open source untuk menentukan pipeline pemrosesan paralel data batch dan streaming. Dengan menggunakan salah satu Apache Beam SDK open source, Anda dapat membangun program yang menentukan pipeline, lalu menggunakan Dataflow untuk menjalankan pipeline.

Di lab ini, Anda akan menggunakan Apache Beam SDK untuk Python guna membangun dan menjalankan pipeline di Dataflow untuk menyerap data dari Cloud Storage ke BigQuery, lalu mengubah dan memperkaya data di BigQuery.

Catatan: Pastikan untuk membuka file Python dan membaca komentarnya saat diminta. Hal ini akan memberikan pemahaman tentang hal yang dilakukan kode tersebut.

Yang akan Anda lakukan

Di lab ini, Anda akan mempelajari cara:

  • Membangun dan menjalankan pipeline Dataflow (Python) untuk menyerap data dari Cloud Storage ke BigQuery.
  • Membangun dan menjalankan pipeline Dataflow (Python) untuk mengubah dan memperkaya data di BigQuery.
  • Membangun dan menjalankan pipeline Dataflow (Python) untuk menggabungkan data di BigQuery dan menulis hasilnya ke tabel baru.

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 Google Cloud Console

  1. Klik tombol Start Lab. Jika Anda perlu membayar lab, dialog akan terbuka untuk memilih metode pembayaran. Di sebelah kiri ada panel Lab Details yang berisi hal-hal berikut:

    • Tombol Open Google Cloud console
    • Waktu tersisa
    • Kredensial sementara yang harus Anda gunakan untuk lab ini
    • Informasi lain, jika diperlukan, untuk menyelesaikan lab ini
  2. 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.
  3. Jika perlu, salin Username di bawah dan tempel ke dialog Sign in.

    {{{user_0.username | "Username"}}}

    Anda juga dapat menemukan Username di panel Lab Details.

  4. Klik Next.

  5. Salin Password di bawah dan tempel ke dialog Welcome.

    {{{user_0.password | "Password"}}}

    Anda juga dapat menemukan Password di panel Lab Details.

  6. Klik Next.

    Penting: Anda harus menggunakan kredensial yang diberikan lab. Jangan menggunakan kredensial akun Google Cloud Anda. Catatan: Menggunakan akun Google Cloud sendiri untuk lab ini dapat dikenai biaya tambahan.
  7. Klik halaman berikutnya:

    • Setujui persyaratan dan ketentuan.
    • Jangan tambahkan opsi pemulihan atau autentikasi 2 langkah (karena ini akun sementara).
    • Jangan mendaftar 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.

Mengaktifkan Cloud Shell

Cloud Shell adalah mesin virtual yang dilengkapi dengan berbagai alat pengembangan. Mesin virtual ini menawarkan direktori beranda persisten berkapasitas 5 GB dan berjalan di Google Cloud. Cloud Shell menyediakan akses command-line untuk resource Google Cloud Anda.

  1. Klik Activate Cloud Shell di bagian atas Konsol Google Cloud.

  2. Klik jendela berikut:

    • Lanjutkan melalui jendela informasi Cloud Shell.
    • Beri otorisasi ke Cloud Shell untuk menggunakan kredensial Anda guna melakukan panggilan Google Cloud API.

Setelah terhubung, Anda sudah diautentikasi, dan project ditetapkan ke Project_ID, . Output berisi baris yang mendeklarasikan Project_ID untuk sesi ini:

Project Cloud Platform Anda dalam sesi ini disetel ke {{{project_0.project_id | "PROJECT_ID"}}}

gcloud adalah alat command line untuk Google Cloud. Alat ini sudah terinstal di Cloud Shell dan mendukung pelengkapan command line.

  1. (Opsional) Anda dapat menampilkan daftar nama akun yang aktif dengan perintah ini:
gcloud auth list
  1. Klik Authorize.

Output:

ACTIVE: * ACCOUNT: {{{user_0.username | "ACCOUNT"}}} Untuk menetapkan akun aktif, jalankan: $ gcloud config set account `ACCOUNT`
  1. (Opsional) Anda dapat menampilkan daftar ID project dengan perintah ini:
gcloud config list project

Output:

[core] project = {{{project_0.project_id | "PROJECT_ID"}}} Catatan: Untuk mendapatkan dokumentasi gcloud yang lengkap di Google Cloud, baca panduan ringkasan gcloud CLI.

Tugas 1. Memastikan Dataflow API berhasil diaktifkan

Untuk memastikan akses ke API yang diperlukan, mulai ulang koneksi ke Dataflow API.

Penting: Meskipun API saat ini diaktifkan, ikuti langkah 1-4 di bawah guna menonaktifkan dan mengaktifkan kembali API untuk memulai ulang API dengan benar.
  1. Di kolom judul Konsol Google Cloud, ketik Dataflow API di kolom Search, lalu klik Dataflow API dari hasil penelusuran.

  2. Klik Manage.

  3. Klik Disable API.

Jika diminta untuk mengonfirmasi, klik Disable.

  1. Klik Enable.

Jika API telah diaktifkan kembali, halaman akan menampilkan opsi Disable.

Klik Periksa progres saya untuk memverifikasi tugas yang telah dijalankan.

Menonaktifkan dan mengaktifkan kembali Dataflow API.

Tugas 2. Mendownload kode awal

Download contoh Dataflow Python untuk digunakan di lab ini.

  1. Jalankan perintah berikut di Cloud Shell untuk mendapatkan contoh Dataflow Python dari GitHub layanan profesional Google Cloud:
gcloud storage cp -r gs://spls/gsp290/dataflow-python-examples .
  1. Tetapkan variabel untuk Project ID Anda.
export PROJECT={{{ project_0.project_id }}} gcloud config set project $PROJECT

Tugas 3. Membuat bucket Cloud Storage dan menyalin file ke bucket

Di Cloud Shell, buat bucket Cloud Storage, lalu salin file ke bucket. File ini adalah contoh Dataflow Python.

Membuat bucket Cloud Storage

  • Gunakan perintah untuk membuat bucket di Cloud Shell guna membuat bucket regional baru di region dalam project Anda:
gcloud storage buckets create gs://$PROJECT --location={{{ project_0.default_region | REGION }}}

Klik Periksa progres saya untuk memverifikasi tugas yang telah dijalankan.

Membuat bucket Cloud Storage.

Menyalin file ke bucket Anda

  • Di Cloud Shell, gunakan perintah gsutil untuk menyalin file ke bucket Cloud Storage yang baru saja Anda buat:
gcloud storage cp gs://spls/gsp290/data_files/usa_names.csv gs://$PROJECT/data_files/ gcloud storage cp gs://spls/gsp290/data_files/head_usa_names.csv gs://$PROJECT/data_files/

Klik Periksa progres saya untuk memverifikasi tugas yang telah dijalankan.

Menyalin File ke Bucket Anda.

Tugas 4. Membuat set data BigQuery

Buat set data di BigQuery. Di sinilah tabel Anda akan dimuat di BigQuery.

Di Cloud Shell, buat set data bernama lake:

bq mk lake

Klik Periksa progres saya untuk memverifikasi tugas yang telah dijalankan.

Membuat Set Data BigQuery bernama lake.

Tugas 5. Meninjau dan menjalankan pipeline penyerapan data

Dalam tugas ini, Anda akan meninjau kode pipeline untuk melihat cara kerjanya. Kemudian, Anda akan menyiapkan dan menjalankan pipeline.

Pipeline penyerapan data menyerap data dari Cloud Storage ke tabel BigQuery menggunakan sumber TextIO dan tujuan BigQueryIO. Secara khusus, tugas pipeline adalah:

  • Menyerap file dari Cloud Storage.
  • Memfilter baris header dalam file.
  • Mengonversi baris yang dibaca ke objek kamus.
  • Menghasilkan output baris ke BigQuery.

Meninjau kode Python untuk pipeline penyerapan data

Gunakan Editor Kode Cloud Shell untuk meninjau kode pipeline.

  1. Di panel menu Cloud Shell, klik Open Editor.

  2. Buka dataflow_python_examples > dataflow_python_examples, lalu buka file data_ingestion.py.

  3. Baca komentar dalam file yang menjelaskan hal yang dilakukan kode tersebut.

Kode ini akan mengisi tabel BigQuery dengan file data dari Cloud Storage.

  1. Untuk kembali ke Cloud Shell, klik Open Terminal.

Menyiapkan container Docker untuk tugas Dataflow

  1. Kembali ke sesi Cloud Shell untuk menyiapkan library Python yang diperlukan.

Tugas Dataflow di lab ini memerlukan Python3.8. Untuk memastikan kesesuaian versi, jalankan proses Dataflow di container Docker Python 3.8.

  1. Jalankan perintah berikut di Cloud Shell untuk memulai container Python:
cd ~ docker run -it -e PROJECT=$PROJECT -v $(pwd)/dataflow-python-examples:/dataflow python:3.8 /bin/bash

Perintah ini akan mengambil container Docker dengan versi stabil terbaru Python 3.8 dan mengeksekusi shell perintah untuk menjalankan perintah berikutnya dalam container. Flag -v menyediakan kode sumber sebagai volume untuk container sehingga memungkinkan kita melakukan pengeditan di editor Cloud Shell sambil tetap mengaksesnya dalam container yang sedang berjalan.

  1. Setelah selesai mengambil container dan mulai menjalankannya di Cloud Shell, jalankan perintah berikut untuk menginstal apache-beam pada container yang sedang berjalan tersebut:
pip install apache-beam[gcp]==2.59.0
  1. Selanjutnya, di container yang sedang berjalan di Cloud Shell, ubah direktori ke lokasi tempat Anda menautkan kode sumber:
cd dataflow/
  1. Tetapkan project ID di container:
export PROJECT={{{ project_0.project_id }}}

Menjalankan pipeline penyerapan data di cloud

  1. Jalankan kode berikut untuk menjalankan pipeline penyerapan data:
python dataflow_python_examples/data_ingestion.py \ --project=$PROJECT \ --region={{{ project_0.default_region | REGION }}} \ --runner=DataflowRunner \ --machine_type=e2-standard-2 \ --staging_location=gs://$PROJECT/test \ --temp_location gs://$PROJECT/test \ --input gs://$PROJECT/data_files/head_usa_names.csv \ --save_main_session

Kode ini akan menjalankan worker yang diperlukan, lalu menghentikannya setelah pipeline selesai.

  1. Di kolom judul konsol, ketik Dataflow di kolom Search, lalu klik Dataflow di hasil penelusuran.

Saat halaman Dataflow terbuka, lihat status tugas Anda.

  1. Klik nama tugas tersebut untuk melihat progresnya.

Setelah Job Status Anda berstatus Succeeded, Anda dapat melanjutkan proses ke langkah berikutnya. Pipeline penyerapan ini memerlukan waktu sekitar lima menit untuk memulai, menyelesaikan tugas, dan melakukan penghentian.

  1. Buka BigQuery (Navigation menu > BigQuery) untuk melihat bahwa data Anda telah diisi.

  2. Klik nama project untuk melihat tabel usa_names di bagian set data lake.

  1. Klik tabel, lalu buka tab Preview untuk melihat contoh data usa_names.
Catatan: Jika Anda tidak melihat tabel usa_names, coba refresh halaman atau lihat tabel menggunakan UI BigQuery klasik.

Klik Periksa progres saya untuk memverifikasi tugas yang telah dijalankan.

Membangun pipeline penyerapan data.

Tugas 6. Meninjau dan menjalankan pipeline transformasi data

Dalam tugas ini, Anda akan meninjau pipeline transformasi data untuk mempelajari cara kerjanya. Kemudian, Anda akan menjalankan pipeline untuk memproses file Cloud Storage dan menampilkan hasilnya ke BigQuery.

Pipeline transformasi data juga menyerap data dari Cloud Storage ke tabel BigQuery menggunakan sumber TextIO dan tujuan BigQueryIO, tetapi dengan transformasi data tambahan. Secara khusus, tugas pipeline adalah:

  • Menyerap file dari Cloud Storage.
  • Mengonversi baris yang dibaca ke objek kamus.
  • Mengubah data yang berisi tahun menjadi format yang dipahami BigQuery sebagai tanggal.
  • Menghasilkan output baris ke BigQuery.

Meninjau kode Python untuk pipeline transformasi data

  • Di Editor Kode, buka data_transformation.py.

Baca komentar dalam file yang menjelaskan hal yang dilakukan kode tersebut.

Menjalankan pipeline transformasi data di cloud

  1. Jalankan kode berikut untuk menjalankan pipeline transformasi data:
python dataflow_python_examples/data_transformation.py \ --project=$PROJECT \ --region={{{ project_0.default_region | REGION }}} \ --runner=DataflowRunner \ --machine_type=e2-standard-2 \ --staging_location=gs://$PROJECT/test \ --temp_location gs://$PROJECT/test \ --input gs://$PROJECT/data_files/head_usa_names.csv \ --save_main_session
  1. Di kolom judul Konsol Google Cloud, ketik Dataflow di kolom Search, lalu klik Dataflow dari hasil penelusuran.

  2. Klik nama tugas ini untuk melihat status tugas Anda.

Pipeline Dataflow ini memerlukan waktu sekitar lima menit untuk memulai, menyelesaikan tugas, dan melakukan penghentian.

  1. Setelah Job Status Anda berstatus Succeeded di layar Dataflow Job Status, buka BigQuery untuk memeriksa apakah data Anda telah diisi atau belum.

Anda akan melihat tabel usa_names_transformed di bagian set data lake.

  1. Klik tabel dan buka tab Preview untuk melihat contoh data usa_names_transformed.
Catatan: Jika Anda tidak melihat tabel usa_names_transformed, coba refresh halaman atau lihat tabel menggunakan UI BigQuery klasik.

Klik Periksa progres saya untuk memverifikasi tugas yang telah dijalankan.

Membangun pipeline transformasi data.

Tugas 7. Meninjau dan menjalankan pipeline pengayaan data

Sekarang Anda akan membangun pipeline pengayaan data untuk mencapai hal berikut:

  • Menyerap file dari Cloud Storage.
  • Memfilter baris header dalam file.
  • Mengonversi baris yang dibaca pada objek kamus.
  • Menghasilkan output baris ke BigQuery.

Meninjau dan mengedit kode Python untuk pipeline pengayaan data

  1. Di Editor Kode, buka data_enrichment.py.

  2. Baca komentar yang menjelaskan hal yang dilakukan kode tersebut. Kode ini mengisi data di BigQuery.

Baris 83 saat ini akan terlihat seperti berikut:

values = [x.decode('utf8') for x in csv_row]
  1. Edit baris tersebut agar terlihat seperti berikut:
values = [x for x in csv_row]
  1. Setelah selesai mengedit baris ini, jangan lupa untuk Save (menyimpan) file yang telah diupdate ini dengan memilih opsi File di Editor Kode dan mengklik Save.

Menjalankan pipeline pengayaan data

  1. Jalankan kode berikut untuk menjalankan pipeline pengayaan data:
python dataflow_python_examples/data_enrichment.py \ --project=$PROJECT \ --region={{{ project_0.default_region | REGION }}} \ --runner=DataflowRunner \ --machine_type=e2-standard-2 \ --staging_location=gs://$PROJECT/test \ --temp_location gs://$PROJECT/test \ --input gs://$PROJECT/data_files/head_usa_names.csv \ --save_main_session
  1. Di halaman Dataflow, klik tugas Anda untuk melihat Job status.

Pipeline Dataflow ini memerlukan waktu sekitar lima menit untuk memulai, menyelesaikan tugas, dan melakukan penghentian.

  1. Setelah Job Status Anda berstatus Succeed di layar Dataflow Job Status, di konsol, klik Navigation menu > BigQuery untuk memeriksa apakah data Anda telah diisi atau belum.

Anda akan melihat tabel usa_names_enriched di bagian set data lake.

  1. Klik tabel dan buka tab Preview untuk melihat contoh data usa_names_enriched.
Catatan: Jika Anda tidak melihat tabel usa_names_enriched, coba refresh halaman atau lihat tabel menggunakan UI BigQuery klasik.

Klik Periksa progres saya untuk memverifikasi tugas yang telah dijalankan.

Membangun pipeline pengayaan data.

Tugas 8. Meninjau dan menjalankan pipeline data lake ke data mart

Sekarang, Anda akan membangun pipeline Dataflow yang membaca data dari dua sumber data BigQuery, lalu menggabungkan keduanya. Secara spesifik, Anda akan:

  • Menyerap file dari dua sumber BigQuery.
  • Menggabungkan kedua sumber data tersebut.
  • Memfilter baris header dalam file.
  • Mengonversi baris yang dibaca pada objek kamus.
  • Menghasilkan output baris ke BigQuery.

Menjalankan pipeline penyerapan data untuk melakukan penggabungan data dan menulis tabel yang dihasilkan ke BigQuery

Pertama-tama, Anda akan meninjau kode data_lake_to_mart.py untuk mendapatkan pemahaman tentang fungsinya. Kemudian, Anda akan menjalankan pipeline di cloud.

  1. Di Editor Kode, buka file data_lake_to_mart.py.

Baca komentar dalam file yang menjelaskan hal yang dilakukan kode tersebut. Kode ini menggabungkan dua tabel dan menulis hasilnya ke tabel baru di BigQuery.

  1. Jalankan blok kode berikut untuk mengeksekusi pipeline:
python dataflow_python_examples/data_lake_to_mart.py \ --worker_disk_type="compute.googleapis.com/projects//zones//diskTypes/pd-ssd" \ --max_num_workers=4 \ --project=$PROJECT \ --runner=DataflowRunner \ --machine_type=e2-standard-2 \ --staging_location=gs://$PROJECT/test \ --temp_location gs://$PROJECT/test \ --save_main_session \ --region={{{ project_0.default_region | REGION }}}
  1. Di kolom judul Konsol Google Cloud, ketik Dataflow di kolom Search, lalu klik Dataflow dari hasil penelusuran.

  2. Klik tugas baru ini untuk melihat statusnya.

Pipeline Dataflow ini memerlukan waktu sekitar lima menit untuk memulai, menyelesaikan tugas, dan melakukan penghentian.

  1. Setelah Job Status Anda berstatus Succeeded di layar Dataflow Job Status, klik Navigation menu > BigQuery untuk memeriksa apakah data Anda telah diisi atau belum.

Anda akan melihat tabel orders_denormalized_sideinput di bagian set data lake.

  1. Klik tabel dan buka bagian Preview untuk melihat contoh data orders_denormalized_sideinput.
Catatan: Jika Anda tidak melihat tabel orders_denormalized_sideinput, coba refresh halaman atau lihat tabel menggunakan UI BigQuery klasik.

Klik Periksa progres saya untuk memverifikasi tugas yang telah dijalankan.

Membangun Data lake untuk Pipeline Dataflow Mart

Uji pemahaman Anda

Berikut ini beberapa pertanyaan pilihan ganda untuk memperkuat pemahaman Anda terhadap konsep lab ini. Jawab pertanyaan tersebut sebaik mungkin.

Selamat!

Anda telah berhasil menjalankan kode Python menggunakan Dataflow untuk menyerap data dari Cloud Storage ke BigQuery, lalu mengubah dan memperkaya data di BigQuery.

Langkah berikutnya/Pelajari lebih lanjut

Ingin mempelajari lebih lanjut? Baca dokumentasi resmi di:

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 pada 1 April 2025

Lab Terakhir Diuji pada 1 April 2025

Hak cipta 2025 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

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.