Checkpoint
Create Cloud Composer environment.
/ 25
Create two Cloud Storage buckets.
/ 25
Create a dataset.
/ 25
Uploading the DAG and dependencies to Cloud Storage
/ 25
Cloud Composer: Menyalin Tabel BigQuery di Berbagai Lokasi
- GSP283
- Ringkasan
- Penyiapan dan persyaratan
- Tugas 1. Membuat lingkungan Cloud Composer
- Tugas 2. Membuat bucket Cloud Storage
- Tugas 3. Membuat set data tujuan BigQuery
- Tugas 4. Airflow dan konsep inti, pengantar singkat
- Tugas 5. Menentukan alur kerja
- Tugas 6. Menampilkan informasi lingkungan
- Tugas 7. Membuat variabel untuk bucket Cloud Storage DAG
- Tugas 8. Menyetel variable Airflow
- Tugas 9. Mengupload DAG dan dependensinya ke Cloud Storage
- Tugas 10. Menjelajahi UI Airflow
- Tugas 11. Memvalidasi hasil
- Menghapus Lingkungan Cloud Composer
- Selamat!
- Langkah berikutnya
GSP283
Ringkasan
Bayangkan Anda memiliki set data yang berada di lokasi berbeda di seluruh dunia, dan data Anda ada di bucket Google Cloud Storage atau di tabel BigQuery. Bagaimana Anda dapat mengatur data tersebut sehingga dapat dikonsolidasikan dan dianalisis untuk memberikan insight tentang bisnis Anda?
Cloud Composer dapat membantu Anda membangun alur kerja dan memindahkan data di antara region dan sistem penyimpanan, dengan tampilan grafis yang intuitif. Di antara manfaat lainnya, alat ini memiliki template untuk transfer data yang mudah dan andal antara BigQuery dan Cloud Storage, baik dari BigQuery ke Cloud Storage maupun sebaliknya.
Di lab ini, Anda membuat dan menjalankan alur kerja Apache Airflow di Cloud Composer untuk menyelesaikan beberapa tugas berikut:
- Membaca informasi dari file konfigurasi berisi daftar tabel yang akan disalin
- Mengekspor daftar tabel dari set data BigQuery yang berlokasi di AS ke Cloud Storage
- Menyalin tabel yang diekspor dari AS ke bucket Cloud Storage UE
- Mengimpor daftar tabel ke Set Data BigQuery target di UE
Yang akan Anda lakukan
Di lab ini, Anda akan mempelajari cara:
- Membuat lingkungan Cloud Composer
- Membuat bucket Cloud Storage
- Membuat set data BigQuery
- Membuat dan menjalankan alur kerja Apache Airflow di Cloud Composer untuk memindahkan data antara Cloud Storage dan BigQuery
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. Membuat lingkungan Cloud Composer
-
Di kolom judul Konsol Google Cloud, ketik Composer di kolom Search, lalu klik Composer di bagian Products & Pages untuk membuat lingkungan Cloud Composer.
-
Selanjutnya, klik Create environment.
-
Pada menu dropdown, pilih Composer 3.
-
Tetapkan parameter berikut untuk lingkungan Anda:
-
Name: composer-advanced-lab
-
Location:
-
Image Version: composer-3-airflow-n.n.n-build.n (pilih image dengan versi terbaru yang tersedia)
-
Di bagian Environment resources, pilih Small.
-
Klik dropdown Show Advanced Configuration, lalu pilih Airflow database zone sebagai
.
Tetap gunakan setelan default untuk semua setelan lainnya.
- Klik Create.
Proses pembuatan lingkungan selesai ketika tanda centang hijau muncul di sebelah kiri nama lingkungan pada halaman Environments di Konsol Cloud.
Membuat bucket Cloud Storage dan set data tujuan BigQuery
.Klik Check my progress untuk memverifikasi tujuan.
Tugas 2. Membuat bucket Cloud Storage
Dalam tugas ini Anda akan membuat dua bucket Cloud Storage Multi-Region. Bucket ini akan digunakan untuk menyalin tabel yang diekspor di antara kedua lokasi, yaitu, AS ke UE.
Membuat bucket di AS
- Buka Cloud Storage > Bucket lalu klik Create.
- Berikan nama unik universal pada bucket termasuk project ID (mis.
-us). - Untuk Location Type pilih us (multiple regions in United States).
- Biarkan nilai lainnya dalam setelan default lalu klik Create.
- Centang kotak
Enforce public access prevention on this bucket
lalu klik Confirm pada pesan pop-upPublic access will be prevented
jika diminta.
Membuat bucket di UE
Ulangi langkah-langkah tersebut untuk membuat bucket lain di region EU
. Nama yang unik secara universal harus menyertakan lokasi sebagai akhiran pada bucket Anda (mis.
Klik Check my progress untuk memverifikasi tujuan.
Tugas 3. Membuat set data tujuan BigQuery
-
Buat Set Data BigQuery tujuan di UE dari UI web baru BigQuery.
-
Buka Navigation menu > BigQuery.
Kotak pesan Welcome to BigQuery in the Cloud Console akan terbuka. Kotak pesan ini menyediakan link ke panduan memulai dan membuat daftar update UI.
-
Klik Done.
-
Setelah itu, klik titik tiga di samping project ID Qwiklabs Anda dan pilih Create dataset.
- Gunakan ID set data nyc_tlc_EU, untuk jenis lokasi, pilih Multi-region lalu pilih UE dari menu dropdown.
- Klik CREATE DATASET.
Klik Check my progress untuk memverifikasi tujuan.
Tugas 4. Airflow dan konsep inti, pengantar singkat
- Saat lingkungan Anda dibangun, baca tentang file contoh yang akan Anda gunakan di lab ini.
Airflow adalah platform untuk menulis, menjadwalkan, dan memantau alur kerja secara terprogram.
Gunakan Airflow untuk menulis alur kerja sebagai directed acyclic graph (DAG) tugas. Scheduler Airflow menjalankan tugas Anda pada array worker sambil mengikuti dependensi yang ditentukan.
Konsep inti
DAG - Directed Acyclic Graph adalah kumpulan tugas, yang disusun untuk mencerminkan hubungan dan dependensinya.
Operator - Deskripsi tugas tunggal, umumnya bersifat atomik. Sebagai contoh, BashOperatordigunakan untuk menjalankan perintah bash.
Task - Instance Operator yang diparameterisasi; sebuah node di DAG.
Task Instance - Operasi spesifik dari suatu tugas; dicirikan sebagai: DAG, Tugas, dan titik waktu. Operasi ini memiliki status indikatif: running, success, failed, skipped, ...
Pelajari lebih lanjut konsep Airflow dari Dokumentasi konsep.
Tugas 5. Menentukan alur kerja
Alur kerja Cloud Composer terdiri dari DAG (Directed Acyclic Graphs). Kode yang ditunjukkan dalam bq_copy_across_locations.py adalah kode alur kerja, yang juga disebut sebagai DAG. Buka filenya sekarang untuk mengetahui bagaimana DAG tersebut dibangun. Selanjutnya adalah detail tampilan beberapa komponen kunci dari file tersebut.
Untuk mengorkestrasi semua tugas alur kerja, DAG mengimpor operator berikut:
-
DummyOperator
: Membuat tugas contoh Mulai dan Akhir untuk representasi visual DAG yang lebih baik. -
BigQueryToCloudStorageOperator
: Mengekspor tabel BigQuery ke bucket Cloud Storage menggunakan format Avro. -
GoogleCloudStorageToGoogleCloudStorageOperator
: Menyalin file di seluruh bucket Cloud Storage. -
GoogleCloudStorageToBigQueryOperator
: Mengimpor tabel dari file Avro di bucket Cloud Storage.
- Dalam contoh ini, fungsi
read_table_list()
ditentukan untuk membaca file konfigurasi dan membuat daftar tabel yang akan disalin:
- Nama dari DAG adalah
bq_copy_us_to_eu_01
, dan DAG tidak dijadwalkan secara default sehingga perlu dipicu secara manual.
- Untuk menentukan plugin Cloud Storage, class
Cloud StoragePlugin(AirflowPlugin)
ditentukan, dengan memetakan hook dan operator yang telah di-download dari cabang stabil Airflow 1.10.
Tugas 6. Menampilkan informasi lingkungan
-
Buka kembali Composer untuk memeriksa status lingkungan Anda.
-
Setelah lingkungan Anda dibuat, klik nama lingkungan untuk melihat detailnya.
Halaman Environmental details memberikan informasi, seperti URL UI web Airflow, ID cluster Google Kubernetes Engine, nama bucket Cloud Storage yang terhubung ke folder DAG.
Langkah selanjutnya harus diselesaikan di Cloud Shell.
Menciptakan lingkungan virtual
Lingkungan virtual python digunakan untuk mengisolasi penginstalan paket dari sistem.
- Instal lingkungan
virtualenv
:
- Bangun lingkungan virtual:
- Aktifkan lingkungan virtual.
Tugas 7. Membuat variabel untuk bucket Cloud Storage DAG
- Di Cloud Shell, jalankan perintah berikut untuk menyalin nama bucket DAG dari halaman Environment Details Anda dan tetapkan variabel untuk merujuknya di Cloud Shell:
-composer-advanced-YOURDAGSBUCKET-bucket
.Anda akan menggunakan variabel ini beberapa kali selama lab.
Tugas 8. Menyetel variable Airflow
Variabel Airflow adalah konsep khusus Airflow yang berbeda dengan variabel lingkungan. Pada langkah ini, Anda akan menyetel tiga variabel Airflow berikut yang digunakan oleh DAG yang akan kita deploy: table_list_file_path
, gcs_source_bucket
, dan gcs_dest_bucket
.
Kunci | Nilai | Detail |
---|---|---|
table_list_file_path |
/home/airflow/gcs/dags/bq_copy_eu_to_us_sample.csv | File CSV yang membuat daftar tabel sumber dan target, termasuk set data |
gcs_source_bucket |
{UNIQUE ID}-us | Bucket Cloud Storage yang digunakan untuk mengekspor tabledest_bbucks BigQuery dari sumber |
gcs_dest_bucket |
{UNIQUE ID}-eu | Bucket Cloud Storage yang digunakan untuk mengimpor tabel BigQuery di tujuan |
Perintah gcloud composer
selanjutnya mengeksekusi variabel sub-perintah Airflow CLI. Sub-perintah meneruskan argumen ke alat command line gcloud
.
Untuk menetapkan ketiga variabel, Anda akan menjalankan composer command
satu kali untuk setiap baris dari tabel di atas. Bentuk perintahnya seperti ini:
(ERROR: gcloud crashed (TypeError): 'NoneType' object is not callable)
. This is a known issue with using gcloud composer environments run
with the 410.0.0 version of gcloud. Your variables will still be set accordingly despite the error message.
-
ENVIRONMENT_NAME
adalah nama lingkungan. -
LOCATION
adalah region Compute Engine tempat lingkungan tersebut berada. Perintah komposer gcloud memerlukan penyertaan flag--location
atau penyetelan lokasi default sebelum menjalankan perintah gcloud. -
KEY
danVALUE
menentukan variabel dan nilainya yang akan disetel. Sertakan spasi, dua tanda hubung, dan spasi (--
) di antara perintahgcloud
dengan argumen terkait gcloud di sisi kiri, dan argumen terkait sub-perintah Airflow di sisi kanan. Sertakan juga spasi di antara argumenKEY
danVALUE
menggunakan perintahgcloud composer environments run
dengan sub-perintah variabel.
Jalankan perintah ini di Cloud Shell, dengan mengganti gcs_source_bucket
dan gcs_dest_bucket
dengan nama bucket yang Anda buat pada Tugas 2.
Untuk melihat nilai suatu variabel, jalankan variabel sub-perintah Airflow CLI dengan argumen get
atau gunakan UI Airflow.
Misalnya, jalankan perintah berikut:
Tugas 9. Mengupload DAG dan dependensinya ke Cloud Storage
- Salin file contoh dokumen Python Google Cloud ke Cloud Shell Anda:
- Upload salinan hook dan operator pihak ketiga ke folder plugin di bucket Cloud Storage Composer DAG Anda:
- Selanjutnya, upload DAG dan file konfigurasi ke bucket Cloud Storage DAG lingkungan Anda:
Cloud Composer mendaftarkan DAG di lingkungan Airflow Anda secara otomatis, dan perubahan DAG terjadi dalam 3-5 menit. Anda dapat melihat status tugas di antarmuka web Airflow dan mengonfirmasi bahwa DAG tidak dijadwalkan sesuai setelan.
Tugas 10. Menjelajahi UI Airflow
Untuk mengakses antarmuka web Airflow menggunakan Konsol Cloud:
- Kembali ke halaman Composer Environments.
- Pada kolom Airflow webserver untuk lingkungan, klik link Airflow.
- Klik kredensial lab Anda.
- UI web Airflow terbuka di jendela browser baru. Data akan sedang dimuat saat Anda tiba di sini. Anda dapat melanjutkan lab selama hal ini berlangsung.
Melihat variabel
Variabel yang Anda tetapkan sebelumnya akan tetap ada di lingkungan Anda.
- Lihat variabel dengan memilih Admin >Variables dari panel menu Airflow.
Memicu DAG untuk berjalan secara manual
-
Klik pada tab DAGs dan tunggu hingga link selesai dimuat.
-
Untuk memicu DAG secara manual, klik tombol putar
composer_sample_bq_copy_across_locations
:
- Klik Trigger DAG untuk mengonfirmasi tindakan ini.
Klik Check my progress untuk memverifikasi tujuan.
Menjelajahi operasi DAG
Saat Anda mengupload file DAG ke folder DAG di Cloud Storage, Cloud Composer akan menguraikan file tersebut. Jika tidak ditemukan error, nama alur kerja muncul di daftar DAG, dan alur kerja dimasukkan dalam antrean untuk segera dijalankan jika kondisi jadwal terpenuhi, dalam hal ini, Tidak ada sesuai setelan.
Status Runs berubah menjadi hijau setelah tombol putar ditekan:
- Klik nama DAG untuk membuka halaman detail DAG. Halaman ini menyertakan representasi grafis dari tugas dan dependensi alur kerja.
- Sekarang, di toolbar, klik Graph, lalu arahkan mouse ke gambar setiap tugas untuk melihat statusnya. Perhatikan bahwa batas di sekitar setiap tugas juga menunjukkan statusnya (hijau = running; merah = failed, etc.).
Untuk menjalankan alur kerja lagi dari tampilan Graph:
- Dalam Tampilan Grafik UI Airflow, klik gambar start.
- Klik Clear untuk mereset semua tugas, lalu klik OK untuk mengonfirmasi.
Muat ulang browser Anda saat proses sedang berjalan untuk melihat informasi terbaru.
Tugas 11. Memvalidasi hasil
Sekarang periksa status dan hasil alur kerja dengan membuka halaman Konsol Cloud berikut:
- Tabel yang diekspor disalin dari bucket AS ke bucket Cloud Storage UE. Klik Cloud Storage untuk melihat file Avro perantara di bucket sumber (AS) dan tujuan (UE).
- Daftar tabel diimpor ke Set Data BigQuery target. Klik BigQuery, lalu klik nama project Anda dan set data nyc_tlc_EU untuk memvalidasi bahwa tabel dapat diakses dari set data yang Anda buat.
Menghapus Lingkungan Cloud Composer
-
Kembali ke halaman Environments di Composer.
-
Pilih kotak centang di sebelah lingkungan Composer.
-
Klik DELETE.
-
Konfirmasi pop-up dengan mengklik DELETE kembali.
Selamat!
Anda menyalin tabel secara terprogram dari AS ke UE! Lab ini didasarkan pada postingan blog yang ditulis oleh David Sabater Dinter.
Langkah berikutnya
- Pelajari lebih lanjut penggunaan Airflow di situs Airflow atau project GitHub Airflow.
- Ada banyak referensi lain yang tersedia untuk Airflow, termasuk grup diskusi.
- Mendaftarlah untuk akun Apache JIRA dan buka kembali masalah apa pun yang Anda anggap penting dalam project Apache Airflow JIRA.
- Untuk mengetahui informasi tentang UI Airflow, baca artikel Mengakses antarmuka web.
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 21 Juni 2024
Lab Terakhir Diuji pada 21 Juni 2024
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.