

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

# Hasilkan data pengujian menggunakan pekerjaan AWS Glue dan Python
<a name="generate-test-data-using-an-aws-glue-job-and-python"></a>

*Moinul Al-Mamun, Amazon Web Services*

## Ringkasan
<a name="generate-test-data-using-an-aws-glue-job-and-python-summary"></a>

Pola ini menunjukkan kepada Anda cara cepat dan mudah menghasilkan jutaan file sampel secara bersamaan dengan membuat pekerjaan AWS Glue yang ditulis dengan Python. File sampel disimpan dalam bucket Amazon Simple Storage Service (Amazon S3) Simple Storage Service (Amazon S3). Kemampuan untuk menghasilkan sejumlah besar file sampel dengan cepat penting untuk menguji atau mengevaluasi layanan di AWS Cloud. Misalnya, Anda dapat menguji kinerja DataBrew pekerjaan AWS Glue Studio atau AWS Glue dengan melakukan analisis data pada jutaan file kecil dalam awalan Amazon S3.

Meskipun Anda dapat menggunakan layanan AWS lainnya untuk menghasilkan kumpulan data sampel, kami menyarankan Anda menggunakan AWS Glue. Anda tidak perlu mengelola infrastruktur apa pun karena AWS Glue adalah layanan pemrosesan data tanpa server. Anda bisa membawa kode Anda dan menjalankannya di klaster AWS Glue. Selain itu, AWS Glue menyediakan, mengonfigurasi, dan menskalakan sumber daya yang diperlukan untuk menjalankan pekerjaan Anda. Anda hanya membayar untuk sumber daya yang digunakan pekerjaan Anda saat menjalankan.

## Prasyarat dan batasan
<a name="generate-test-data-using-an-aws-glue-job-and-python-prereqs"></a>

**Prasyarat**
+ Akun AWS yang aktif
+ AWS Command Line Interface (AWS CLI)[,](https://docs.aws.amazon.com/cli/latest/userguide/getting-started-install.html) diinstal [dan](https://docs.aws.amazon.com/cli/latest/userguide/cli-chap-configure.html) dikonfigurasi untuk bekerja dengan akun AWS

**Versi produk**
+ Python 3.9
+ AWS CLI versi 2

**Batasan**

Jumlah maksimum pekerjaan AWS Glue per pemicu adalah 50. Untuk informasi selengkapnya, lihat [titik akhir dan kuota AWS Glue](https://docs.aws.amazon.com/general/latest/gr/glue.html).

## Arsitektur
<a name="generate-test-data-using-an-aws-glue-job-and-python-architecture"></a>

Diagram berikut menggambarkan contoh arsitektur yang berpusat di sekitar pekerjaan AWS Glue yang menulis outputnya (yaitu, file sampel) ke bucket S3.

![Alur kerja menunjukkan AWS CLI memulai pekerjaan AWS Glue yang menulis output ke bucket S3.](http://docs.aws.amazon.com/id_id/prescriptive-guidance/latest/patterns/images/pattern-img/f35943e8-3b2b-410e-a3f0-05e1ebd357d0/images/452ccbda-71f2-42b8-976d-bcc968bb1dab.png)


Diagram mencakup alur kerja berikut:

1. Anda menggunakan AWS CLI, AWS Management Console, atau API untuk memulai pekerjaan AWS Glue. AWS CLI atau API memungkinkan Anda mengotomatiskan paralelisasi pekerjaan yang dipanggil dan mengurangi runtime untuk menghasilkan file sampel.

1. Pekerjaan AWS Glue menghasilkan konten file secara acak, mengonversi konten menjadi format CSV, dan kemudian menyimpan konten sebagai objek Amazon S3 di bawah awalan umum. Setiap file kurang dari satu kilobyte. Pekerjaan AWS Glue menerima dua parameter pekerjaan yang ditentukan pengguna: dan. `START_RANGE` `END_RANGE` Anda dapat menggunakan parameter ini untuk mengatur nama file dan jumlah file yang dihasilkan di Amazon S3 oleh setiap pekerjaan yang dijalankan. Anda dapat menjalankan beberapa instance pekerjaan ini secara paralel (misalnya, 100 instance).

## Alat
<a name="generate-test-data-using-an-aws-glue-job-and-python-tools"></a>
+ [Amazon Simple Storage Service (Amazon S3](https://docs.aws.amazon.com/AmazonS3/latest/userguide/Welcome.html)) adalah layanan penyimpanan objek berbasis cloud yang membantu Anda menyimpan, melindungi, dan mengambil sejumlah data.
+ [AWS Command Line Interface (AWS CLI](https://docs.aws.amazon.com/cli/latest/userguide/cli-chap-welcome.html)) adalah alat sumber terbuka yang membantu Anda berinteraksi dengan layanan AWS melalui perintah di shell baris perintah Anda.
+ [AWS Glue](https://docs.aws.amazon.com/glue/latest/dg/what-is-glue.html) adalah layanan ekstrak, transformasi, dan beban (ETL) yang dikelola sepenuhnya. Ini membantu Anda mengkategorikan, membersihkan, memperkaya, dan memindahkan data dengan andal antara penyimpanan data dan aliran data.
+ [AWS Identity and Access Management (IAM)](https://docs.aws.amazon.com/IAM/latest/UserGuide/introduction.html) membantu Anda mengelola akses ke sumber daya AWS dengan aman dengan mengontrol siapa yang diautentikasi dan diberi wewenang untuk menggunakannya.

## Praktik terbaik
<a name="generate-test-data-using-an-aws-glue-job-and-python-best-practices"></a>

Pertimbangkan praktik terbaik AWS Glue berikut saat Anda menerapkan pola ini:
+ **Gunakan jenis pekerja AWS Glue yang tepat untuk mengurangi biaya.** Kami menyarankan Anda memahami properti yang berbeda dari jenis pekerja, dan kemudian memilih jenis pekerja yang tepat untuk beban kerja Anda berdasarkan persyaratan CPU dan memori. Untuk pola ini, kami menyarankan Anda menggunakan pekerjaan shell Python sebagai jenis pekerjaan Anda untuk meminimalkan DPU dan mengurangi biaya. Untuk informasi selengkapnya, lihat [Menambahkan lowongan di AWS Glue](https://docs.aws.amazon.com/glue/latest/dg/add-job.html) di Panduan Pengembang AWS Glue.
+ **Gunakan batas konkurensi yang tepat untuk skala pekerjaan Anda.** Kami menyarankan Anda mendasarkan konkurensi maksimum pekerjaan AWS Glue Anda pada kebutuhan waktu Anda dan jumlah file yang diperlukan.
+ **Mulailah membuat sejumlah kecil file pada awalnya.** Untuk mengurangi biaya dan menghemat waktu saat Anda membangun pekerjaan AWS Glue, mulailah dengan sejumlah kecil file (seperti 1.000). Ini dapat membuat pemecahan masalah lebih mudah. Jika menghasilkan sejumlah kecil file berhasil, maka Anda dapat menskalakan ke jumlah file yang lebih besar.
+ **Jalankan secara lokal terlebih dahulu.** Untuk mengurangi biaya dan menghemat waktu saat Anda membangun pekerjaan AWS Glue, mulailah pengembangan secara lokal dan uji kode Anda. Untuk petunjuk tentang menyiapkan wadah Docker yang dapat membantu Anda menulis pekerjaan AWS Glue extract, transform, and load (ETL) baik di shell maupun di lingkungan pengembangan terintegrasi (IDE), lihat pekerjaan [Mengembangkan AWS Glue ETL secara lokal menggunakan postingan kontainer](https://aws.amazon.com/blogs/big-data/developing-aws-glue-etl-jobs-locally-using-a-container/) di AWS Big Data Blog.

Untuk praktik terbaik AWS Glue lainnya, lihat [Praktik terbaik](https://docs.aws.amazon.com/prescriptive-guidance/latest/serverless-etl-aws-glue/best-practices.html) dalam dokumentasi AWS Glue.

## Epik
<a name="generate-test-data-using-an-aws-glue-job-and-python-epics"></a>

### Buat bucket S3 tujuan dan peran IAM
<a name="create-a-destination-s3-bucket-and-iam-role"></a>


| Tugas | Deskripsi | Keterampilan yang dibutuhkan | 
| --- | --- | --- | 
| Buat bucket S3 untuk menyimpan file. | Buat [bucket S3](https://docs.aws.amazon.com/AmazonS3/latest/userguide/create-bucket-overview.html) dan [awalan](https://docs.aws.amazon.com/AmazonS3/latest/userguide/using-prefixes.html) di dalamnya.Pola ini menggunakan `s3://{your-s3-bucket-name}/small-files/` lokasi untuk tujuan demonstrasi. | Pengembang aplikasi | 
| Buat dan konfigurasikan peran IAM. | Anda harus membuat peran IAM yang dapat digunakan oleh pekerjaan AWS Glue Anda untuk menulis ke bucket S3 Anda.[See the AWS documentation website for more details](http://docs.aws.amazon.com/id_id/prescriptive-guidance/latest/patterns/generate-test-data-using-an-aws-glue-job-and-python.html) | Pengembang aplikasi | 

### Membuat dan mengonfigurasi pekerjaan AWS Glue untuk menangani proses bersamaan
<a name="create-and-configure-an-aws-glue-job-to-handle-concurrent-runs"></a>


| Tugas | Deskripsi | Keterampilan yang dibutuhkan | 
| --- | --- | --- | 
| Buat pekerjaan AWS Glue. | Anda harus membuat pekerjaan AWS Glue yang menghasilkan konten Anda dan menyimpannya di bucket S3.<br />Buat [pekerjaan AWS Glue](https://docs.aws.amazon.com/glue/latest/dg/console-jobs.html), lalu konfigurasikan pekerjaan Anda dengan menyelesaikan langkah-langkah berikut:[See the AWS documentation website for more details](http://docs.aws.amazon.com/id_id/prescriptive-guidance/latest/patterns/generate-test-data-using-an-aws-glue-job-and-python.html) | Pengembang aplikasi | 
| Perbarui kode pekerjaan. | [See the AWS documentation website for more details](http://docs.aws.amazon.com/id_id/prescriptive-guidance/latest/patterns/generate-test-data-using-an-aws-glue-job-and-python.html) | Pengembang aplikasi | 

### Jalankan pekerjaan AWS Glue dari baris perintah atau konsol
<a name="run-the-aws-glue-job-from-the-command-line-or-console"></a>


| Tugas | Deskripsi | Keterampilan yang dibutuhkan | 
| --- | --- | --- | 
| Jalankan pekerjaan AWS Glue dari baris perintah. | Untuk menjalankan tugas AWS Glue Anda dari AWS CLI, jalankan perintah berikut menggunakan nilai Anda:<pre>cmd:~$ aws glue start-job-run --job-name create_small_files --arguments '{"--START_RANGE":"0","--END_RANGE":"1000000"}'<br />cmd:~$ aws glue start-job-run --job-name create_small_files --arguments '{"--START_RANGE":"1000000","--END_RANGE":"2000000"}'</pre>Untuk petunjuk tentang menjalankan tugas AWS Glue dari AWS Management Console, lihat *tugas Jalankan AWS Glue di cerita AWS Management Console* dalam pola ini.Sebaiknya gunakan AWS CLI untuk menjalankan pekerjaan AWS Glue jika Anda ingin menjalankan beberapa eksekusi sekaligus dengan parameter berbeda, seperti yang ditunjukkan pada contoh di atas.<br />Untuk menghasilkan semua perintah AWS CLI yang diperlukan untuk menghasilkan sejumlah file yang ditentukan menggunakan faktor paralelisasi tertentu, jalankan kode bash berikut (menggunakan nilai Anda):<pre># define parameters<br />NUMBER_OF_FILES=10000000;<br />PARALLELIZATION=50; <br /> <br /># initialize<br />_SB=0;<br />      <br /># generate commands<br />for i in $(seq 1 $PARALLELIZATION); <br />do <br />      echo aws glue start-job-run --job-name create_small_files --arguments "'"'{"--START_RANGE":"'$(((NUMBER_OF_FILES/PARALLELIZATION) * (i-1) + _SB))'","--END_RANGE":"'$(((NUMBER_OF_FILES/PARALLELIZATION) * (i)))'"}'"'";<br />      _SB=1; <br />done</pre><br />Jika Anda menggunakan skrip di atas, pertimbangkan hal berikut:[See the AWS documentation website for more details](http://docs.aws.amazon.com/id_id/prescriptive-guidance/latest/patterns/generate-test-data-using-an-aws-glue-job-and-python.html) Untuk melihat contoh output dari skrip di atas, lihat *Output skrip Shell* di bagian *Informasi tambahan* dari pola ini. | Pengembang aplikasi | 
| Jalankan pekerjaan AWS Glue di AWS Management Console. | [See the AWS documentation website for more details](http://docs.aws.amazon.com/id_id/prescriptive-guidance/latest/patterns/generate-test-data-using-an-aws-glue-job-and-python.html) | Pengembang aplikasi | 
| Periksa status pekerjaan AWS Glue Anda. | [See the AWS documentation website for more details](http://docs.aws.amazon.com/id_id/prescriptive-guidance/latest/patterns/generate-test-data-using-an-aws-glue-job-and-python.html) | Pengembang aplikasi | 

## Sumber daya terkait
<a name="generate-test-data-using-an-aws-glue-job-and-python-resources"></a>

**Referensi**
+ [Registri Data Terbuka di AWS](https://registry.opendata.aws/)
+ [Kumpulan data untuk analitik](https://aws.amazon.com/marketplace/solutions/data-analytics/data-sets)
+ [Buka Data di AWS](https://aws.amazon.com/opendata/)
+ [Menambahkan pekerjaan di AWS Glue](https://docs.aws.amazon.com/glue/latest/dg/add-job.html)
+ [Memulai AWS Glue](https://aws.amazon.com/glue/getting-started/)

**Panduan dan pola**
+ [Praktik terbaik AWS Glue](https://docs.aws.amazon.com/prescriptive-guidance/latest/serverless-etl-aws-glue/best-practices.html)
+ [Aplikasi pengujian beban](https://docs.aws.amazon.com/prescriptive-guidance/latest/load-testing/welcome.html)

## Informasi tambahan
<a name="generate-test-data-using-an-aws-glue-job-and-python-additional"></a>

**Tes benchmarking**

Pola ini digunakan untuk menghasilkan 10 juta file menggunakan parameter paralelisasi yang berbeda sebagai bagian dari uji benchmarking. Tabel berikut menunjukkan output dari tes:


| 
| 
| Paralelisasi | Jumlah file yang dihasilkan oleh pekerjaan yang dijalankan | Durasi Job | Kecepatan | 
| --- |--- |--- |--- |
| 10 | 1.000.000 | 6 jam, 40 menit | Sangat lambat | 
| 50 | 200.000 | 80 menit | Sedang | 
| 100 | 100.000 | 40 menit | Cepat | 

Jika Anda ingin membuat proses lebih cepat, Anda dapat mengonfigurasi lebih banyak proses bersamaan dalam konfigurasi pekerjaan Anda. Anda dapat dengan mudah menyesuaikan konfigurasi pekerjaan berdasarkan kebutuhan Anda, tetapi perlu diingat bahwa ada batas kuota layanan AWS Glue. Untuk informasi selengkapnya, lihat [titik akhir dan kuota AWS Glue](https://docs.aws.amazon.com/general/latest/gr/glue.html).

**Keluaran skrip shell**

Contoh berikut menunjukkan output skrip shell dari *pekerjaan Jalankan AWS Glue dari cerita baris perintah* dalam pola ini.

```
user@MUC-1234567890 MINGW64 ~
  $ # define parameters
  NUMBER_OF_FILES=10000000;
  PARALLELIZATION=50;
  # initialize
  _SB=0;
   
  # generate commands
  for i in $(seq 1 $PARALLELIZATION);
   do
         echo aws glue start-job-run --job-name create_small_files --arguments "'"'{"--START_RANGE":"'$(((NUMBER_OF_FILES/PARALLELIZATION)  (i-1) + SB))'","--ENDRANGE":"'$(((NUMBER_OF_FILES/PARALLELIZATION)  (i)))'"}'"'";
         _SB=1;
   done
   
  aws glue start-job-run --job-name create_small_files --arguments '{"--START_RANGE":"0","--END_RANGE":"200000"}'
  aws glue start-job-run --job-name create_small_files --arguments '{"--START_RANGE":"200001","--END_RANGE":"400000"}'
  aws glue start-job-run --job-name create_small_files --arguments '{"--START_RANGE":"400001","--END_RANGE":"600000"}'
  aws glue start-job-run --job-name create_small_files --arguments '{"--START_RANGE":"600001","--END_RANGE":"800000"}'
  aws glue start-job-run --job-name create_small_files --arguments '{"--START_RANGE":"800001","--END_RANGE":"1000000"}'
  aws glue start-job-run --job-name create_small_files --arguments '{"--START_RANGE":"1000001","--END_RANGE":"1200000"}'
  aws glue start-job-run --job-name create_small_files --arguments '{"--START_RANGE":"1200001","--END_RANGE":"1400000"}'
  aws glue start-job-run --job-name create_small_files --arguments '{"--START_RANGE":"1400001","--END_RANGE":"1600000"}'
  aws glue start-job-run --job-name create_small_files --arguments '{"--START_RANGE":"1600001","--END_RANGE":"1800000"}'
  aws glue start-job-run --job-name create_small_files --arguments '{"--START_RANGE":"1800001","--END_RANGE":"2000000"}'
  aws glue start-job-run --job-name create_small_files --arguments '{"--START_RANGE":"2000001","--END_RANGE":"2200000"}'
  aws glue start-job-run --job-name create_small_files --arguments '{"--START_RANGE":"2200001","--END_RANGE":"2400000"}'
  aws glue start-job-run --job-name create_small_files --arguments '{"--START_RANGE":"2400001","--END_RANGE":"2600000"}'
  aws glue start-job-run --job-name create_small_files --arguments '{"--START_RANGE":"2600001","--END_RANGE":"2800000"}'
  aws glue start-job-run --job-name create_small_files --arguments '{"--START_RANGE":"2800001","--END_RANGE":"3000000"}'
  aws glue start-job-run --job-name create_small_files --arguments '{"--START_RANGE":"3000001","--END_RANGE":"3200000"}'
  aws glue start-job-run --job-name create_small_files --arguments '{"--START_RANGE":"3200001","--END_RANGE":"3400000"}'
  aws glue start-job-run --job-name create_small_files --arguments '{"--START_RANGE":"3400001","--END_RANGE":"3600000"}'
  aws glue start-job-run --job-name create_small_files --arguments '{"--START_RANGE":"3600001","--END_RANGE":"3800000"}'
  aws glue start-job-run --job-name create_small_files --arguments '{"--START_RANGE":"3800001","--END_RANGE":"4000000"}'
  aws glue start-job-run --job-name create_small_files --arguments '{"--START_RANGE":"4000001","--END_RANGE":"4200000"}'
  aws glue start-job-run --job-name create_small_files --arguments '{"--START_RANGE":"4200001","--END_RANGE":"4400000"}'
  aws glue start-job-run --job-name create_small_files --arguments '{"--START_RANGE":"4400001","--END_RANGE":"4600000"}'
  aws glue start-job-run --job-name create_small_files --arguments '{"--START_RANGE":"4600001","--END_RANGE":"4800000"}'
  aws glue start-job-run --job-name create_small_files --arguments '{"--START_RANGE":"4800001","--END_RANGE":"5000000"}'
  aws glue start-job-run --job-name create_small_files --arguments '{"--START_RANGE":"5000001","--END_RANGE":"5200000"}'
  aws glue start-job-run --job-name create_small_files --arguments '{"--START_RANGE":"5200001","--END_RANGE":"5400000"}'
  aws glue start-job-run --job-name create_small_files --arguments '{"--START_RANGE":"5400001","--END_RANGE":"5600000"}'
  aws glue start-job-run --job-name create_small_files --arguments '{"--START_RANGE":"5600001","--END_RANGE":"5800000"}'
  aws glue start-job-run --job-name create_small_files --arguments '{"--START_RANGE":"5800001","--END_RANGE":"6000000"}'
  aws glue start-job-run --job-name create_small_files --arguments '{"--START_RANGE":"6000001","--END_RANGE":"6200000"}'
  aws glue start-job-run --job-name create_small_files --arguments '{"--START_RANGE":"6200001","--END_RANGE":"6400000"}'
  aws glue start-job-run --job-name create_small_files --arguments '{"--START_RANGE":"6400001","--END_RANGE":"6600000"}'
  aws glue start-job-run --job-name create_small_files --arguments '{"--START_RANGE":"6600001","--END_RANGE":"6800000"}'
  aws glue start-job-run --job-name create_small_files --arguments '{"--START_RANGE":"6800001","--END_RANGE":"7000000"}'
  aws glue start-job-run --job-name create_small_files --arguments '{"--START_RANGE":"7000001","--END_RANGE":"7200000"}'
  aws glue start-job-run --job-name create_small_files --arguments '{"--START_RANGE":"7200001","--END_RANGE":"7400000"}'
  aws glue start-job-run --job-name create_small_files --arguments '{"--START_RANGE":"7400001","--END_RANGE":"7600000"}'
  aws glue start-job-run --job-name create_small_files --arguments '{"--START_RANGE":"7600001","--END_RANGE":"7800000"}'
  aws glue start-job-run --job-name create_small_files --arguments '{"--START_RANGE":"7800001","--END_RANGE":"8000000"}'
  aws glue start-job-run --job-name create_small_files --arguments '{"--START_RANGE":"8000001","--END_RANGE":"8200000"}'
  aws glue start-job-run --job-name create_small_files --arguments '{"--START_RANGE":"8200001","--END_RANGE":"8400000"}'
  aws glue start-job-run --job-name create_small_files --arguments '{"--START_RANGE":"8400001","--END_RANGE":"8600000"}'
  aws glue start-job-run --job-name create_small_files --arguments '{"--START_RANGE":"8600001","--END_RANGE":"8800000"}'
  aws glue start-job-run --job-name create_small_files --arguments '{"--START_RANGE":"8800001","--END_RANGE":"9000000"}'
  aws glue start-job-run --job-name create_small_files --arguments '{"--START_RANGE":"9000001","--END_RANGE":"9200000"}'
  aws glue start-job-run --job-name create_small_files --arguments '{"--START_RANGE":"9200001","--END_RANGE":"9400000"}'
  aws glue start-job-run --job-name create_small_files --arguments '{"--START_RANGE":"9400001","--END_RANGE":"9600000"}'
  aws glue start-job-run --job-name create_small_files --arguments '{"--START_RANGE":"9600001","--END_RANGE":"9800000"}'
  aws glue start-job-run --job-name create_small_files --arguments '{"--START_RANGE":"9800001","--END_RANGE":"10000000"}'
  
  user@MUC-1234567890 MINGW64 ~
```

**FAQ**

*Berapa banyak pekerjaan yang berjalan bersamaan atau paralel yang harus saya gunakan?*

Jumlah proses bersamaan dan pekerjaan paralel tergantung pada kebutuhan waktu Anda dan jumlah file pengujian yang diinginkan. Kami menyarankan Anda memeriksa ukuran file yang Anda buat. Pertama, periksa berapa lama waktu yang dibutuhkan pekerjaan AWS Glue untuk menghasilkan jumlah file yang Anda inginkan. Kemudian, gunakan jumlah lari bersamaan yang tepat untuk memenuhi tujuan Anda. Misalnya, jika Anda berasumsi bahwa 100.000 file membutuhkan waktu 40 menit untuk menyelesaikan proses tetapi waktu target Anda adalah 30 menit, maka Anda harus meningkatkan pengaturan konkurensi untuk pekerjaan AWS Glue Anda.

*Jenis konten apa yang dapat saya buat menggunakan pola ini?*

Anda dapat membuat semua jenis konten, seperti file teks dengan pembatas yang berbeda (misalnya, PIPE, JSON, atau CSV). Pola ini menggunakan Boto3 untuk menulis ke file dan kemudian menyimpan file dalam ember S3.

*Tingkat izin IAM apa yang saya perlukan di bucket S3?*

Anda harus memiliki kebijakan berbasis identitas yang memungkinkan `Write` akses ke objek di bucket S3 Anda. Untuk informasi selengkapnya, lihat [Amazon S3: Mengizinkan akses baca dan tulis ke objek dalam bucket S3 dalam dokumentasi](https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_policies_examples_s3_rw-bucket.html) Amazon S3.