Checkpoint
Disable and re-enable the Dataflow API
/ 10
Create a Cloud Storage Bucket
/ 10
Copy Files to Your Bucket
/ 10
Create the BigQuery Dataset (name: lake)
/ 20
Build a Data Ingestion Dataflow Pipeline
/ 10
Build a Data Transformation Dataflow Pipeline
/ 10
Build a Data Enrichment Dataflow Pipeline
/ 10
Build a Data lake to Mart Dataflow Pipeline
/ 20
Pemrosesan ETL di Google Cloud Menggunakan Dataflow dan BigQuery (Python)
- GSP290
- Ringkasan
- Penyiapan dan persyaratan
- Tugas 1. Memastikan Dataflow API berhasil diaktifkan
- Tugas 2. Mendownload kode awal
- Tugas 3. Membuat bucket Cloud Storage
- Tugas 4. Menyalin file ke bucket Anda
- Tugas 5. Membuat set data BigQuery
- Tugas 6. Membangun pipeline Dataflow
- Tugas 7. Penyerapan data dengan Pipeline Dataflow
- Tugas 8. Meninjau kode Python pipeline
- Tugas 9. Menjalankan pipeline Apache Beam
- Tugas 10. Transformasi data
- Tugas 11. Menjalankan pipeline transformasi Dataflow
- Tugas 12. Pengayaan data
- Tugas 13. Meninjau kode python pipeline pengayaan data
- Tugas 14. Menjalankan pipeline Dataflow Pengayaan Data
- Tugas 15. Membangun data lake untuk Mart dan meninjau kode python pipeline
- Tugas 16. Menjalankan Pipeline Apache Beam untuk melakukan Penggabungan Data dan membuat tabel yang dihasilkan di BigQuery
- Uji pemahaman Anda
- Selamat!
GSP290
Ringkasan
Di Google Cloud, Anda dapat membangun pipeline data yang menjalankan kode Python untuk menyerap dan mengubah data dari set data yang tersedia secara publik ke BigQuery menggunakan layanan Google Cloud berikut:
- Cloud Storage
- Dataflow
- BigQuery
Di lab ini, Anda akan menggunakan layanan tersebut untuk membuat pipeline data sendiri, termasuk pertimbangan desain dan detail implementasi, guna memastikan prototipe Anda memenuhi persyaratan. Pastikan untuk membuka file Python dan membaca komentarnya saat diminta.
Yang akan Anda lakukan
Di lab ini, Anda akan mempelajari cara:
- Membangun dan menjalankan pipeline Dataflow (Python) untuk penyerapan data
- Membangun dan menjalankan pipeline Dataflow (Python) untuk transformasi dan pengayaan data
Penyiapan dan persyaratan
Sebelum mengklik tombol Mulai 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 praktik 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.
Untuk menyelesaikan lab ini, Anda memerlukan:
- Akses ke browser internet standar (disarankan browser Chrome).
- Waktu untuk menyelesaikan lab. Ingat, setelah dimulai, lab tidak dapat dijeda.
Cara memulai lab dan login ke Google Cloud Console
-
Klik tombol Start Lab. Jika Anda perlu membayar lab, jendela pop-up akan terbuka untuk memilih metode pembayaran. Di sebelah kiri adalah panel Lab Details dengan info 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
-
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 Details.
-
Klik Next.
-
Salin Password di bawah dan tempel ke dialog Welcome.
{{{user_0.password | "Password"}}} Anda juga dapat menemukan Password di panel Lab Details.
-
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. -
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.
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.
- Klik Activate Cloud Shell di bagian atas konsol Google Cloud.
Setelah terhubung, Anda sudah diautentikasi, dan project ditetapkan ke PROJECT_ID Anda. Output berisi baris yang mendeklarasikan PROJECT_ID untuk sesi ini:
gcloud
adalah alat command line untuk Google Cloud. Alat ini sudah terinstal di Cloud Shell dan mendukung pelengkapan command line.
- (Opsional) Anda dapat menampilkan daftar nama akun yang aktif dengan perintah ini:
-
Klik Authorize.
-
Output Anda sekarang akan terlihat seperti ini:
Output:
- (Opsional) Anda dapat menampilkan daftar project ID dengan perintah ini:
Output:
Contoh output:
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.
-
Di Konsol Cloud, masukkan "Dataflow API" di kotak penelusuran teratas. Klik hasil untuk Dataflow API.
-
Klik Manage.
-
Klik Disable API.
Jika diminta untuk mengonfirmasi, klik Disable.
- Klik Enable.
Jika API sudah diaktifkan kembali, halaman akan menampilkan opsi untuk menonaktifkannya.
Menguji tugas yang sudah selesai
Klik Check my progress untuk memverifikasi tugas yang telah dijalankan.
Tugas 2. Mendownload kode awal
- Jalankan perintah berikut di Cloud Shell untuk mendapatkan Contoh Python Dataflow dari GitHub, layanan profesional Google Cloud:
- Sekarang, di Cloud Shell, tetapkan variabel yang setara dengan ID project Anda.
Tugas 3. Membuat bucket Cloud Storage
- Gunakan perintah untuk membuat bucket di Cloud Shell guna membuat bucket regional baru di region
dalam project Anda:
Menguji tugas yang sudah selesai
Klik Check my progress untuk memverifikasi tugas yang telah dijalankan.
Tugas 4. Menyalin file ke bucket Anda
- Gunakan perintah
gsutil
di Cloud Shell untuk menyalin file ke bucket Cloud Storage yang telah Anda buat:
Menguji tugas yang sudah selesai
Klik Check my progress untuk memverifikasi tugas yang telah dijalankan.
Tugas 5. Membuat set data BigQuery
- Di Cloud Shell, buat set data di Set Data BigQuery bernama
lake
. Di sinilah tempat semua tabel Anda akan dimuat di BigQuery:
Menguji tugas yang sudah selesai
Klik Check my progress untuk memverifikasi tugas yang telah dijalankan.
Tugas 6. Membangun pipeline Dataflow
Di bagian ini, Anda akan membuat Dataflow append-only yang akan menyerap data ke tabel BigQuery. Anda dapat menggunakan editor kode bawaan yang memungkinkan Anda melihat dan mengedit kode di konsol Google Cloud.
Buka Editor Kode Cloud Shell
- Buka kode sumber dengan mengklik ikon Open Editor di Cloud Shell:
- Jika diminta, klik Open in a New Window. Editor kode akan terbuka di jendela baru. Cloud Shell Editor memungkinkan Anda mengedit file di lingkungan Cloud Shell. Dari Editor, Anda dapat kembali ke Cloud Shell dengan mengklik Open Terminal.
Tugas 7. Penyerapan data dengan Pipeline Dataflow
Sekarang Anda akan membangun pipeline Dataflow dengan sumber TextIO dan tujuan BigQueryIO untuk menyerap data ke BigQuery. Lebih spesifiknya, Anda akan:
- Menyerap file dari Cloud Storage.
- Memfilter baris header dalam file.
- Mengonversi baris yang dibaca pada objek kamus.
- Menghasilkan output baris ke BigQuery.
Tugas 8. Meninjau kode Python pipeline
Di Code Editor, buka dataflow-python-examples
> dataflow_python_examples
, lalu buka file data_ingestion.py
. Baca komentar dalam file, yang menjelaskan apa yang dilakukan kode tersebut. Kode ini akan mengisi set data lake dengan tabel di BigQuery.
Tugas 9. Menjalankan pipeline Apache Beam
- Untuk langkah ini, Anda perlu kembali ke sesi Cloud Shell. Anda akan melakukan beberapa penyiapan untuk 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.
- Jalankan perintah berikut di Cloud Shell untuk memulai Container Python:
Perintah ini akan menarik container Docker dengan versi stabil terbaru Python 3.8 dan mengeksekusi shell perintah untuk menjalankan perintah selanjutnya 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.
- Setelah selesai menarik container dan mulai menjalankannya di Cloud Shell, jalankan perintah berikut untuk menginstal
apache-beam
pada container yang sedang berjalan tersebut:
- Selanjutnya, di container yang sedang berjalan di Cloud Shell, ubah direktori ke lokasi tempat Anda menautkan kode sumber:
Menjalankan pipeline Dataflow penyerapan di cloud
- Perintah berikut akan menjalankan worker yang diperlukan, lalu menghentikannya setelah selesai:
- Kembali ke Konsol Cloud dan buka Navigation menu > Dataflow untuk melihat status tugas Anda.
-
Klik nama tugas untuk melihat progresnya. Setelah Job Status Anda berstatus Succeeded, Anda dapat melanjutkan ke langkah berikutnya. Pipeline Dataflow ini akan memerlukan waktu sekitar lima menit untuk memulai, menyelesaikan tugas, dan melakukan penghentian.
-
Buka BigQuery (Navigation menu > BigQuery) untuk melihat bahwa data Anda telah diisi.
- Klik nama project untuk melihat tabel usa_names di bagian set data
lake
.
- Klik tabel, lalu buka tab Preview untuk melihat contoh data
usa_names
.
usa_names
, coba refresh halaman atau lihat tabel menggunakan UI BigQuery klasik.
Menguji tugas yang sudah selesai
Klik Check my progress untuk memverifikasi tugas yang telah dijalankan.
Tugas 10. Transformasi data
Sekarang Anda akan membangun pipeline Dataflow dengan sumber TextIO dan tujuan BigQueryIO untuk menyerap data ke BigQuery. Lebih spesifiknya, Anda akan:
- Menyerap file dari Cloud Storage.
- Mengonversi baris yang dibaca pada objek kamus.
- Mengubah data yang berisi tahun menjadi format yang dipahami BigQuery sebagai tanggal.
- Menghasilkan output baris ke BigQuery.
Meninjau kode python pipeline transformasi
Di Editor Kode, buka file data_transformation.py
. Baca komentar dalam file yang menjelaskan apa yang dilakukan kode tersebut.
Tugas 11. Menjalankan pipeline transformasi Dataflow
Anda akan menjalankan pipeline Dataflow di cloud. Perintah ini akan menjalankan worker yang diperlukan, lalu menghentikannya setelah selesai.
- Jalankan perintah berikut untuk melakukannya:
-
Buka Navigation menu > Dataflow, lalu klik nama tugas ini untuk melihat status tugas. Pipeline Dataflow ini akan memerlukan waktu sekitar lima menit untuk memulai, menyelesaikan tugas, dan melakukan penghentian.
-
Setelah Job Status Anda berstatus Succeeded, di layar Status Tugas Dataflow, buka BigQuery untuk memeriksa apakah data Anda telah diisi.
-
Anda akan melihat tabel usa_names_transformed di bagian set data
lake
. -
Klik tabel dan buka tab Preview untuk melihat contoh data
usa_names_transformed
.
usa_names_transformed
, coba refresh halaman atau lihat tabel menggunakan UI BigQuery klasik.
Menguji tugas yang sudah selesai
Klik Check my progress untuk memverifikasi tugas yang telah dijalankan.
Tugas 12. Pengayaan data
Sekarang Anda akan membangun pipeline Dataflow dengan sumber TextIO dan tujuan BigQueryIO untuk menyerap data ke BigQuery. Lebih spesifiknya, Anda akan:
- Menyerap file dari Cloud Storage.
- Memfilter baris header dalam file.
- Mengonversi baris yang dibaca pada objek kamus.
- Menghasilkan output baris ke BigQuery.
Tugas 13. Meninjau kode python pipeline pengayaan data
-
Di Code Editor, buka file
data_enrichment.py
. -
Baca komentar yang menjelaskan apa yang dilakukan kode tersebut. Kode ini akan mengisi data di BigQuery.
Tampilan baris 83 saat ini:
- Edit baris tersebut agar terlihat seperti berikut:
- Setelah selesai mengedit baris ini, jangan lupa untuk Save (menyimpan) file yang telah diperbarui ini dengan memilih menu pull-down File di Editor dan mengklik Save
Tugas 14. Menjalankan pipeline Dataflow Pengayaan Data
Di sini, Anda akan menjalankan pipeline Dataflow di cloud.
- Jalankan kode berikut di Cloud Shell untuk menjalankan worker yang diperlukan, lalu menghentikannya setelah selesai:
-
Buka Navigation menu > Dataflow untuk melihat status tugas Anda. Pipeline Dataflow ini akan memerlukan waktu sekitar lima menit untuk memulai, menyelesaikan tugas, dan melakukan penghentian.
-
Setelah Job Status Anda berstatus Succeed, di layar Status Tugas Dataflow, buka BigQuery untuk memeriksa apakah data Anda telah diisi.
Anda akan melihat tabel usa_names_enriched di bagian set data lake
.
- Klik tabel dan buka tab Preview untuk melihat contoh data
usa_names_enriched
.
usa_names_enriched
, coba refresh halaman atau lihat tabel menggunakan UI BigQuery klasik.
Menguji tugas pengayaan data yang sudah selesai
Klik Check my progress untuk memverifikasi tugas yang telah dijalankan.
Tugas 15. Membangun data lake untuk Mart dan meninjau kode python pipeline
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.
Di Code Editor, buka file data_lake_to_mart.py
. Baca komentar dalam file yang menjelaskan apa yang dilakukan kode tersebut. Kode ini akan menggabungkan dua tabel dan mengisi data yang dihasilkan di BigQuery.
Tugas 16. Menjalankan Pipeline Apache Beam untuk melakukan Penggabungan Data dan membuat tabel yang dihasilkan di BigQuery
Sekarang, jalankan pipeline Dataflow di cloud.
- Jalankan blok kode berikut di Cloud Shell untuk menjalankan worker yang diperlukan, lalu menghentikannya setelah selesai:
-
Buka Navigation menu > Dataflow, lalu klik nama tugas baru ini untuk melihat statusnya. Pipeline Dataflow ini akan memerlukan waktu sekitar lima menit untuk memulai, menyelesaikan tugas, dan melakukan penghentian.
-
Setelah Job Status Anda berstatus Succeeded, di layar Status Tugas Dataflow, buka BigQuery untuk memeriksa apakah data Anda telah diisi.
Anda akan melihat tabel orders_denormalized_sideinput di bagian set data lake
.
- Klik tabel dan buka bagian Preview untuk melihat contoh data
orders_denormalized_sideinput
.
orders_denormalized_sideinput
, coba refresh halaman atau lihat tabel menggunakan UI BigQuery klasik.
Menguji tugas JOIN yang sudah selesai
Klik Check my progress untuk memverifikasi tugas yang telah dijalankan.
Uji pemahaman Anda
Di bawah ini terdapat pertanyaan pilihan ganda untuk memperkuat pemahaman Anda tentang konsep lab ini. Jawab pertanyaan tersebut sebaik mungkin.
Selamat!
Anda telah menjalankan kode Python menggunakan Dataflow untuk menyerap data ke BigQuery dan mengubah data.
Langkah berikutnya/pelajari lebih lanjut
Ingin mempelajari lebih lanjut? Baca dokumentasi resmi di:
- Dataflow
- BigQuery
- Tinjau Panduan Pemrograman Apache Beam untuk mengetahui konsep lanjutan.
- Lihat lab ini:
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 11 Februari 2024
Lab Terakhir Diuji pada 12 Oktober 2023
Hak cipta 2024 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.