Menerapkan pekerjaan AWS Glue dengan pipeline AWS CodePipeline CI/CD - AWS Prescriptive Guidance

Terjemahan disediakan oleh mesin penerjemah. Jika konten terjemahan yang diberikan bertentangan dengan versi bahasa Inggris aslinya, utamakan versi bahasa Inggris.

Menerapkan pekerjaan AWS Glue dengan pipeline AWS CodePipeline CI/CD

Bruno Klein dan Luis Henrique Massao Yamada, Amazon Web Services

Ringkasan

Pemberitahuan: AWS CodeCommit tidak lagi tersedia untuk pelanggan baru. Pelanggan yang sudah ada AWS CodeCommit dapat terus menggunakan layanan seperti biasa. Pelajari selengkapnya

Pola ini menunjukkan bagaimana Anda dapat mengintegrasikan AWS CodeCommit dan AWS CodePipeline dengan AWS Glue, dan menggunakan AWS Lambda untuk meluncurkan pekerjaan segera setelah pengembang mendorong perubahan mereka ke repositori AWS jarak jauh. CodeCommit  

Saat pengembang mengirimkan perubahan ke repositori ekstrak, transformasi, dan muat (ETL) dan mendorong perubahan ke AWS CodeCommit, pipeline baru akan dipanggil. Pipeline memulai fungsi Lambda yang meluncurkan pekerjaan AWS Glue dengan perubahan ini. Pekerjaan AWS Glue melakukan tugas ETL.

Solusi ini sangat membantu dalam situasi di mana bisnis, pengembang, dan insinyur data ingin meluncurkan pekerjaan segera setelah perubahan dilakukan dan didorong ke repositori target. Ini membantu mencapai tingkat otomatisasi dan reproduktifitas yang lebih tinggi, sehingga menghindari kesalahan selama peluncuran pekerjaan dan siklus hidup.

Prasyarat dan batasan

Prasyarat

Batasan

  • Pipeline selesai segera setelah pekerjaan AWS Glue berhasil diluncurkan. Itu tidak menunggu kesimpulan dari pekerjaan.

  • Kode yang disediakan dalam lampiran dimaksudkan untuk tujuan demo saja.

Arsitektur

Tumpukan teknologi target

  • AWS Glue

  • AWS Lambda

  • AWS CodePipeline

  • AWS CodeCommit

Arsitektur target

Menggunakan Lambda untuk meluncurkan pekerjaan Glue segera setelah pengembang mendorong perubahan ke repo. CodeCommit

Prosesnya terdiri dari langkah-langkah ini:

  1. Pengembang atau insinyur data membuat modifikasi dalam kode ETL, melakukan, dan mendorong perubahan ke AWS. CodeCommit

  2. Dorongan memulai pipa.

  3. Pipeline memulai fungsi Lambda, yang codecommit:GetFile memanggil repositori dan mengunggah file ke Amazon Simple Storage Service (Amazon S3).

  4. Fungsi Lambda meluncurkan pekerjaan AWS Glue baru dengan kode ETL.

  5. Fungsi Lambda menyelesaikan pipeline.

Otomatisasi dan skala

Lampiran sampel menunjukkan bagaimana Anda dapat mengintegrasikan AWS Glue dengan AWS CodePipeline. Ini memberikan contoh dasar yang dapat Anda sesuaikan atau perluas untuk penggunaan Anda sendiri. Untuk detailnya, lihat bagian Epik.

Alat

  • AWS CodePipeline — AWS CodePipeline adalah layanan pengiriman berkelanjutan yang dikelola sepenuhnya yang membantu Anda mengotomatiskan saluran pipa rilis untuk pembaruan aplikasi dan infrastruktur yang cepat dan andal.

  • AWS CodeCommit — AWS CodeCommit adalah layanan kontrol sumber terkelola penuh yang menampung repositori berbasis Git yang aman.

  • AWS Lambda — AWS Lambda adalah layanan komputasi tanpa server yang memungkinkan Anda menjalankan kode tanpa menyediakan atau mengelola server.

  • AWS Glue — AWS Glue adalah layanan integrasi data tanpa server yang memudahkan untuk menemukan, menyiapkan, dan menggabungkan data untuk analitik, pembelajaran mesin, dan pengembangan aplikasi.

  • Klien Git — Git menyediakan alat GUI, atau Anda dapat menggunakan baris perintah atau alat desktop untuk memeriksa artefak yang diperlukan. GitHub 

  • AWS CDK — AWS CDK adalah kerangka kerja pengembangan perangkat lunak open source yang membantu Anda menentukan sumber daya aplikasi cloud Anda dengan menggunakan bahasa pemrograman yang sudah dikenal.

Epik

TugasDeskripsiKeterampilan yang dibutuhkan

Mengonfigurasi AWS CLI.

Konfigurasikan AWS Command Line Interface (AWS CLI) untuk menargetkan dan mengautentikasi dengan akun AWS Anda saat ini. Untuk petunjuk, lihat dokumentasi AWS CLI.

Pengembang, DevOps insinyur

Ekstrak file proyek sampel.

Ekstrak file dari lampiran untuk membuat folder yang berisi file proyek sampel.

Pengembang, DevOps insinyur

Menyebarkan kode sampel.

Setelah Anda mengekstrak file, jalankan perintah berikut dari lokasi ekstrak untuk membuat contoh dasar:

cdk bootstrap cdk deploy git init git remote add origin <code-commit-repository-url> git stage . git commit -m "adds sample code" git push --set-upstream origin main

Setelah perintah terakhir, Anda dapat memantau status pipeline dan pekerjaan AWS Glue.

Pengembang, DevOps insinyur

Sesuaikan kode.

Sesuaikan kode untuk file etl.py sesuai dengan kebutuhan bisnis Anda. Anda dapat merevisi kode ETL, memodifikasi tahapan pipeline, atau memperluas solusi.

Insinyur data

Sumber daya terkait

Lampiran

Untuk mengakses konten tambahan yang terkait dengan dokumen ini, unzip file berikut: attachment.zip