

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

# Memulai dari AWS CLI
<a name="gs-cli"></a>

Memulai EMR Serverless dari perintah AWS CLI with untuk membuat aplikasi, menjalankan pekerjaan, memeriksa output job run, dan menghapus sumber daya Anda.

## Langkah 1: Buat aplikasi EMR Tanpa Server
<a name="gs-application-cli"></a>

Gunakan [https://docs.aws.amazon.com/emr-serverless/latest/APIReference/API_CreateApplication.html](https://docs.aws.amazon.com/emr-serverless/latest/APIReference/API_CreateApplication.html)perintah untuk membuat aplikasi EMR Serverless pertama Anda. Anda perlu menentukan jenis aplikasi dan label rilis Amazon EMR yang terkait dengan versi aplikasi yang ingin Anda gunakan. Nama aplikasi adalah opsional.

------
#### [ Spark ]

Untuk membuat aplikasi Spark, jalankan perintah berikut.

```
aws emr-serverless create-application \
    --release-label emr-6.6.0 \
    --type "SPARK" \
    --name my-application
```

------
#### [ Hive ]

Untuk membuat aplikasi Hive, jalankan perintah berikut. 

```
aws emr-serverless create-application \
    --release-label emr-6.6.0 \
    --type "HIVE" \
    --name my-application
```

------

Perhatikan ID aplikasi yang dikembalikan dalam output. Anda akan menggunakan ID untuk memulai aplikasi dan selama pengiriman pekerjaan, yang disebut setelah ini sebagai. `application-id`

Sebelum Anda melanjutkan ke[Langkah 2: Kirimkan pekerjaan ke aplikasi EMR Tanpa Server Anda](#gs-job-run-cli), pastikan bahwa aplikasi Anda telah mencapai `CREATED` status dengan [https://docs.aws.amazon.com/emr-serverless/latest/APIReference/API_GetApplication.html](https://docs.aws.amazon.com/emr-serverless/latest/APIReference/API_GetApplication.html)API.

```
aws emr-serverless get-application \
    --application-id application-id
```

EMR Tanpa Server menciptakan pekerja untuk mengakomodasi pekerjaan yang Anda minta. Secara default, ini dibuat sesuai permintaan, tetapi Anda juga dapat menentukan kapasitas pra-inisialisasi dengan mengatur `initialCapacity` parameter saat Anda membuat aplikasi. Anda juga dapat membatasi total kapasitas maksimum yang dapat digunakan aplikasi dengan `maximumCapacity` parameter tersebut. Untuk mempelajari selengkapnya tentang opsi ini, lihat [Mengkonfigurasi aplikasi saat bekerja dengan EMR Serverless](application-capacity.md).

## Langkah 2: Kirimkan pekerjaan ke aplikasi EMR Tanpa Server Anda
<a name="gs-job-run-cli"></a>

Sekarang aplikasi EMR Serverless Anda siap menjalankan pekerjaan.

------
#### [ Spark ]

Pada langkah ini, kami menggunakan PySpark skrip untuk menghitung jumlah kemunculan kata-kata unik di beberapa file teks. Bucket S3 publik dan hanya-baca menyimpan skrip dan kumpulan data. Aplikasi mengirimkan file output dan data log dari runtime Spark ke `/output` dan `/logs` direktori di bucket S3 yang Anda buat. 

**Untuk menjalankan pekerjaan Spark**

1. Gunakan perintah berikut untuk menyalin skrip sampel yang akan kami jalankan ke bucket baru Anda.

   ```
   aws s3 cp s3://us-east-1.elasticmapreduce/emr-containers/samples/wordcount/scripts/wordcount.py s3://amzn-s3-demo-bucket/scripts/
   ```

1. Dalam perintah berikut, ganti `application-id` dengan ID aplikasi Anda. Gantikan `job-role-arn` dengan peran runtime ARN yang Anda buat. [Buat peran runtime pekerjaan](getting-started.md#gs-runtime-role) Gantilah *`job-run-name`* dengan nama yang ingin Anda sebut pekerjaan Anda berjalan. Ganti semua `amzn-s3-demo-bucket` string dengan bucket Amazon S3 yang Anda buat, dan `/output` tambahkan ke path. Ini membuat folder baru di bucket Anda di mana EMR Serverless dapat menyalin file keluaran aplikasi Anda.

   ```
   aws emr-serverless start-job-run \
       --application-id application-id \
       --execution-role-arn job-role-arn \
       --name job-run-name \
       --job-driver '{
           "sparkSubmit": {
             "entryPoint": "s3://amzn-s3-demo-bucket/scripts/wordcount.py",
             "entryPointArguments": ["s3://amzn-s3-demo-bucket/emr-serverless-spark/output"],
             "sparkSubmitParameters": "--conf spark.executor.cores=1 --conf spark.executor.memory=4g --conf spark.driver.cores=1 --conf spark.driver.memory=4g --conf spark.executor.instances=1"
           }
       }'
   ```

1. Perhatikan ID job run yang dikembalikan dalam output. Ganti `job-run-id` dengan ID ini dalam langkah-langkah berikut.

------
#### [ Hive ]

Dalam tutorial ini, kita membuat tabel, menyisipkan beberapa catatan, dan menjalankan kueri agregasi hitungan. Untuk menjalankan pekerjaan Hive, pertama-tama buat file yang berisi semua kueri Hive untuk dijalankan sebagai bagian dari pekerjaan tunggal, unggah file ke S3, dan tentukan jalur S3 ini saat Anda memulai pekerjaan Hive.

**Untuk menjalankan pekerjaan Hive**

1. Buat file bernama `hive-query.ql` yang berisi semua kueri yang ingin Anda jalankan dalam pekerjaan Hive Anda.

   ```
   create database if not exists emrserverless;
   use emrserverless;
   create table if not exists test_table(id int);
   drop table if exists Values__Tmp__Table__1;
   insert into test_table values (1),(2),(2),(3),(3),(3);
   select id, count(id) from test_table group by id order by id desc;
   ```

1. Unggah `hive-query.ql` ke bucket S3 Anda dengan perintah berikut.

   ```
   aws s3 cp hive-query.ql s3://amzn-s3-demo-bucket/emr-serverless-hive/query/hive-query.ql
   ```

1. Dalam perintah berikut, ganti `application-id` dengan ID aplikasi Anda sendiri. Gantikan `job-role-arn` dengan peran runtime ARN yang Anda buat. [Buat peran runtime pekerjaan](getting-started.md#gs-runtime-role) Ganti semua `amzn-s3-demo-bucket` string dengan bucket Amazon S3 yang Anda buat, lalu `/output` tambahkan `/logs` dan ke path. Ini membuat folder baru di bucket Anda, di mana EMR Serverless dapat menyalin file output dan log aplikasi Anda.

   ```
   aws emr-serverless start-job-run \
       --application-id application-id \
       --execution-role-arn job-role-arn \
       --job-driver '{
           "hive": {
             "query": "s3://amzn-s3-demo-bucket/emr-serverless-hive/query/hive-query.ql",
             "parameters": "--hiveconf hive.log.explain.output=false"
           }
       }' \
       --configuration-overrides '{
         "applicationConfiguration": [{
           "classification": "hive-site",
             "properties": {
               "hive.exec.scratchdir": "s3://amzn-s3-demo-bucket/emr-serverless-hive/hive/scratch",
               "hive.metastore.warehouse.dir": "s3://amzn-s3-demo-bucket/emr-serverless-hive/hive/warehouse",
               "hive.driver.cores": "2",
               "hive.driver.memory": "4g",
               "hive.tez.container.size": "4096",
               "hive.tez.cpu.vcores": "1"
               }
           }],
           "monitoringConfiguration": {
             "s3MonitoringConfiguration": {
               "logUri": "s3://amzn-s3-demo-bucket/emr-serverless-hive/logs"
              }
           }
       }'
   ```

1. Perhatikan ID job run yang dikembalikan dalam output. Ganti `job-run-id` dengan ID ini dalam langkah-langkah berikut.

------

## Langkah 3: Tinjau output pekerjaan Anda
<a name="gs-output-cli"></a>

Jalankan pekerjaan biasanya membutuhkan waktu 3-5 menit untuk menyelesaikannya. 

------
#### [ Spark ]

Anda dapat memeriksa status pekerjaan Spark Anda dengan perintah berikut.

```
aws emr-serverless get-job-run \
    --application-id application-id \
    --job-run-id job-run-id
```

Dengan tujuan log Anda disetel ke`s3://amzn-s3-demo-bucket/emr-serverless-spark/logs`, Anda dapat menemukan log untuk pekerjaan khusus ini berjalan di bawah`s3://amzn-s3-demo-bucket/emr-serverless-spark/logs/applications/application-id/jobs/job-run-id`. 

Untuk aplikasi Spark, EMR Serverless mendorong log peristiwa setiap 30 detik ke `sparklogs` folder di tujuan log S3 Anda. Ketika pekerjaan Anda selesai, log runtime Spark untuk driver dan pelaksana mengunggah ke folder yang diberi nama sesuai dengan jenis pekerja, seperti atau. `driver` `executor` Output dari PySpark pekerjaan diunggah ke`s3://amzn-s3-demo-bucket/output/`.

------
#### [ Hive ]

Anda dapat memeriksa status pekerjaan Hive Anda dengan perintah berikut.

```
aws emr-serverless get-job-run \
    --application-id application-id \
    --job-run-id job-run-id
```

Dengan tujuan log Anda disetel ke`s3://amzn-s3-demo-bucket/emr-serverless-hive/logs`, Anda dapat menemukan log untuk pekerjaan khusus ini berjalan di bawah`s3://amzn-s3-demo-bucket/emr-serverless-hive/logs/applications/application-id/jobs/job-run-id`. 

Untuk aplikasi Hive, EMR Serverless terus mengunggah driver Hive ke folder, dan tugas Tez log ke folder, `HIVE_DRIVER` dari tujuan log S3 Anda`TEZ_TASK`. Setelah job run mencapai `SUCCEEDED` status, output kueri Hive Anda akan tersedia di lokasi Amazon S3 yang Anda tentukan `monitoringConfiguration` di bidang. `configurationOverrides` 

------

## Langkah 4: Membersihkan
<a name="gs-cleanup-cli"></a>

Setelah selesai mengerjakan tutorial ini, pertimbangkan untuk menghapus sumber daya yang Anda buat. Kami menyarankan Anda merilis sumber daya yang tidak ingin Anda gunakan lagi.

### Hapus aplikasi Anda
<a name="delete-application-cli"></a>

Untuk menghapus aplikasi, gunakan perintah berikut. 

```
aws emr-serverless delete-application \
    --application-id application-id
```

### Hapus bucket log S3 Anda
<a name="delete-s3-bucket-cli"></a>

Untuk menghapus bucket logging dan output S3 Anda, gunakan perintah berikut. Ganti `amzn-s3-demo-bucket` dengan nama sebenarnya dari bucket S3 yang dibuat di.. [Siapkan penyimpanan untuk EMR Tanpa Server](getting-started.md#gs-prepare-storage)

```
aws s3 rm s3://amzn-s3-demo-bucket --recursive
aws s3api delete-bucket --bucket amzn-s3-demo-bucket
```

### Hapus peran runtime pekerjaan Anda
<a name="delete-runtime-role-cli"></a>

Untuk menghapus peran runtime, lepaskan kebijakan dari peran. Anda kemudian dapat menghapus peran dan kebijakan.

```
aws iam detach-role-policy \
    --role-name EMRServerlessS3RuntimeRole \
    --policy-arn policy-arn
```

Untuk menghapus peran, gunakan perintah berikut.

```
aws iam delete-role \
    --role-name EMRServerlessS3RuntimeRole
```

Untuk menghapus kebijakan yang dilampirkan pada peran, gunakan perintah berikut.

```
aws iam delete-policy \
    --policy-arn policy-arn
```

Untuk lebih banyak contoh menjalankan pekerjaan Spark dan Hive, lihat [Menggunakan konfigurasi Spark saat Anda menjalankan pekerjaan EMR Tanpa Server](jobs-spark.md) dan. [Menggunakan konfigurasi Hive saat Anda menjalankan pekerjaan EMR Tanpa Server](jobs-hive.md)