Memproses data dalam bucket Amazon S3 dengan Peta Terdistribusi - AWS Step Functions

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

Memproses data dalam bucket Amazon S3 dengan Peta Terdistribusi

Proyek sampel ini menunjukkan bagaimana Anda dapat menggunakan status Peta Terdistribusi untuk memproses data skala besar, misalnya, menganalisis data cuaca historis dan mengidentifikasi stasiun cuaca yang memiliki suhu rata-rata tertinggi di planet ini setiap bulan. Data cuaca direkam di lebih dari 12.000 CSV file, yang pada gilirannya disimpan dalam ember Amazon S3.

Proyek sampel ini mencakup dua status Peta Terdistribusi bernama NOA Data salinan S3 Terdistribusi dan P rocessNOAAData. Salinan S3 terdistribusi NOA Data berulang di atas CSV file dalam bucket Amazon S3 publik noaa-gsod-pdsbernama dan menyalinnya ke bucket Amazon S3 di bucket Anda. Akun AWSP rocessNOAAData iterasi atas file yang disalin dan menyertakan fungsi Lambda yang melakukan analisis suhu.

Proyek sampel pertama-tama memeriksa isi bucket Amazon S3 dengan panggilan ke tindakan ListObjectsV2API. Berdasarkan jumlah kunci yang dikembalikan sebagai tanggapan atas panggilan ini, proyek sampel mengambil salah satu keputusan berikut:

  • Jika jumlah kunci lebih dari atau sama dengan 1, proyek transisi ke rocessNOAAData status P. Status Peta Terdistribusi ini mencakup Lambda fungsi bernama TemperatureFunctionyang menemukan stasiun cuaca yang memiliki suhu rata-rata tertinggi setiap bulan. Fungsi ini mengembalikan kamus dengan year-month sebagai kunci dan kamus yang berisi informasi tentang stasiun cuaca sebagai nilai.

  • Jika jumlah kunci yang dikembalikan tidak melebihi 1, status NOAData salinan S3 Terdistribusi akan mencantumkan semua objek dari bucket publik noaa-gsod-pdsdan secara berulang menyalin masing-masing objek ke bucket lain di akun Anda dalam batch 100. Peta Inline melakukan penyalinan objek secara berulang.

    Setelah semua objek disalin, proyek transisi ke rocessNOAAData status P untuk memproses data cuaca.

Proyek sampel akhirnya beralih ke peredam Lambda fungsi yang melakukan agregasi akhir dari hasil yang dikembalikan oleh TemperatureFunctionfungsi dan menulis hasilnya ke Amazon DynamoDB meja.

Dengan Distributed Map, Anda dapat menjalankan hingga 10.000 eksekusi alur kerja anak paralel sekaligus. Dalam proyek sampel ini, konkurensi maksimum P rocessNOAAData Distributed Map ditetapkan pada 3000 yang membatasi hingga 3000 eksekusi alur kerja anak paralel.

Proyek sampel ini membuat mesin status, AWS sumber daya pendukung, dan mengonfigurasi IAM izin terkait. Jelajahi proyek sampel ini untuk mempelajari tentang menggunakan Peta Terdistribusi untuk mengatur beban kerja paralel skala besar, atau menggunakannya sebagai titik awal untuk proyek Anda sendiri.

penting

Proyek sampel ini hanya tersedia di Wilayah AS Timur (Virginia N.).

Langkah 1: Buat mesin negara

  1. Buka Konsol Step Functions dan pilih Buat mesin status.

  2. Temukan dan pilih template pemula yang ingin Anda kerjakan. Pilih Next untuk melanjutkan.

  3. Pilih Jalankan demo untuk membuat read-only dan ready-to-deploy alur kerja, atau pilih Bangun di atasnya untuk membuat definisi mesin status yang dapat diedit yang dapat Anda buat dan kemudian terapkan.

  4. Pilih Gunakan templat untuk melanjutkan pilihan Anda.

Langkah selanjutnya tergantung pada pilihan Anda sebelumnya:

  1. Jalankan demo — Anda dapat meninjau mesin status sebelum Anda membuat proyek hanya-baca dengan sumber daya yang digunakan oleh AWS CloudFormation Anda. Akun AWS

    Anda dapat melihat definisi mesin status, dan ketika Anda siap, pilih Deploy dan jalankan untuk menyebarkan proyek dan membuat sumber daya.

    Penyebaran dapat memakan waktu hingga 10 menit untuk membuat sumber daya dan izin. Anda dapat menggunakan tautan Stack ID untuk memantau kemajuan dalam AWS CloudFormation.

    Setelah penerapan selesai, Anda akan melihat mesin status baru Anda di konsol.

  2. Bangun di atasnya - Anda dapat meninjau dan mengedit definisi alur kerja. Anda mungkin perlu menetapkan nilai untuk placeholder dalam proyek sampel sebelum mencoba untuk menjalankan alur kerja kustom Anda.

catatan

Biaya standar mungkin berlaku untuk layanan yang diterapkan ke akun Anda.

Langkah 2: Jalankan mesin negara

  1. Pada halaman mesin Negara, pilih proyek sampel Anda.

  2. Pada halaman proyek sampel, pilih Mulai eksekusi.

  3. Dalam kotak dialog Mulai eksekusi, lakukan hal berikut:

    1. (Opsional) Masukkan nama eksekusi khusus untuk mengganti default yang dihasilkan.

      Non- ASCII nama dan logging

      Step Functions menerima nama untuk mesin negara, eksekusi, aktivitas, dan label yang berisi ASCII non-karakter. Karena karakter seperti itu tidak akan berfungsi dengan Amazon CloudWatch, kami sarankan hanya menggunakan ASCII karakter sehingga Anda dapat melacak metrik. CloudWatch

    2. (Opsional) Dalam Input kotak, masukkan nilai masukan sebagaiJSON. Anda dapat melewati langkah ini jika Anda menjalankan demo.

    3. Pilih Mulai Eksekusi.

    Konsol Step Functions akan mengarahkan Anda ke halaman Detail Eksekusi di mana Anda dapat memilih status dalam tampilan Grafik untuk menjelajahi informasi terkait di Detail langkah panel.

Selamat!

Anda sekarang harus memiliki demo yang sedang berjalan atau definisi mesin status yang dapat Anda sesuaikan.