

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

# Memulai dengan Amazon EMR Tanpa Server
<a name="getting-started"></a>

Tutorial ini membantu Anda memulai dengan EMR Serverless saat Anda menerapkan contoh beban kerja Spark atau Hive. Anda akan membuat, menjalankan, dan men-debug aplikasi Anda sendiri. Kami menampilkan opsi default di sebagian besar bagian tutorial ini.

Sebelum Anda meluncurkan aplikasi EMR Tanpa Server, selesaikan tugas-tugas berikut.

**Topics**
+ [Berikan izin untuk menggunakan EMR Tanpa Server](#gs-permissions)
+ [Siapkan penyimpanan untuk EMR Tanpa Server](#gs-prepare-storage)
+ [Buat EMR Studio untuk menjalankan beban kerja interaktif](#gs-interactive)
+ [Buat peran runtime pekerjaan](#gs-runtime-role)
+ [Memulai dengan EMR Serverless dari konsol](gs-console.md)
+ [Memulai dari AWS CLI](gs-cli.md)

## Berikan izin untuk menggunakan EMR Tanpa Server
<a name="gs-permissions"></a>

Untuk menggunakan EMR Tanpa Server, Anda memerlukan peran pengguna atau IAM dengan kebijakan terlampir yang memberikan izin untuk EMR Tanpa Server. Untuk membuat pengguna dan melampirkan kebijakan yang sesuai kepada pengguna tersebut, ikuti instruksi di[Berikan izin](setting-up.md#setting-up-iam).

## Siapkan penyimpanan untuk EMR Tanpa Server
<a name="gs-prepare-storage"></a>

Dalam tutorial ini, Anda akan menggunakan bucket S3 untuk menyimpan file output dan log dari sampel beban kerja Spark atau Hive yang akan Anda jalankan menggunakan aplikasi EMR Tanpa Server. Untuk membuat bucket, ikuti petunjuk dalam [Membuat bucket](https://docs.aws.amazon.com/AmazonS3/latest/user-guide/create-bucket.html) di *Panduan Pengguna Amazon Simple Storage Service Console*. Ganti referensi lebih lanjut `{{amzn-s3-demo-bucket}}` dengan nama bucket yang baru dibuat. 

## Buat EMR Studio untuk menjalankan beban kerja interaktif
<a name="gs-interactive"></a>

Jika Anda ingin menggunakan EMR Tanpa Server untuk menjalankan kueri interaktif melalui notebook yang di-host di EMR Studio, Anda perlu menentukan bucket S3 dan [peran layanan](https://docs.aws.amazon.com/emr/latest/ManagementGuide/emr-studio-service-role.html#emr-studio-service-role-serverless) minimum untuk EMR Serverless untuk membuat Workspace. Untuk langkah-langkah penyiapan, lihat [Menyiapkan Studio EMR di Panduan](https://docs.aws.amazon.com/emr/latest/ManagementGuide/emr-studio-set-up.html) Manajemen *EMR* Amazon. Untuk informasi selengkapnya tentang beban kerja interaktif, lihat[Jalankan beban kerja interaktif dengan EMR Serverless melalui EMR Studio](interactive-workloads.md).

## Buat peran runtime pekerjaan
<a name="gs-runtime-role"></a>

Job run di EMR Serverless menggunakan peran runtime yang memberikan izin terperinci untuk spesifik dan sumber daya saat runtime. Layanan AWS Dalam tutorial ini, bucket S3 publik menghosting data dan skrip. Ember `{{amzn-s3-demo-bucket}}` menyimpan output. 

Untuk menyiapkan peran runtime pekerjaan, pertama-tama buat peran runtime dengan kebijakan kepercayaan sehingga EMR Tanpa Server dapat menggunakan peran baru tersebut. Selanjutnya, lampirkan kebijakan akses S3 yang diperlukan ke peran itu. Langkah-langkah berikut memandu Anda melalui proses tersebut.

------
#### [ Console ]

1. Arahkan ke konsol IAM di[https://console.aws.amazon.com/iam/](https://console.aws.amazon.com/iam/).

1. Di panel navigasi di sebelah kiri, pilih **Kebijakan**.

1. Pilih **Buat Kebijakan**.

1. Halaman **Buat kebijakan** terbuka di tab baru. Pilih **editor Kebijakan** sebagai Json dan Tempel kebijakan JSON di bawah ini.
**penting**  
Ganti `{{amzn-s3-demo-bucket}}` dalam kebijakan di bawah ini dengan nama bucket aktual yang dibuat di[Siapkan penyimpanan untuk EMR Tanpa Server](#gs-prepare-storage). Ini adalah kebijakan dasar untuk akses S3. Untuk contoh peran runtime pekerjaan lainnya, lihat[Peran runtime Job untuk Amazon EMR Tanpa Server](security-iam-runtime-role.md).

------
#### [ JSON ]

****  

   ```
   {
     "Version":"2012-10-17",		 	 	 
     "Statement": [
       {
         "Sid": "ReadAccessForEMRSamples",
         "Effect": "Allow",
         "Action": [
           "s3:GetObject",
           "s3:ListBucket"
         ],
         "Resource": [
           "arn:aws:s3:::*.elasticmapreduce",
           "arn:aws:s3:::*.elasticmapreduce/*"
         ]
       },
       {
         "Sid": "FullAccessToOutputBucket",
         "Effect": "Allow",
         "Action": [
           "s3:PutObject",
           "s3:GetObject",
           "s3:ListBucket",
           "s3:DeleteObject"
         ],
         "Resource": [
           "arn:aws:s3:::{{amzn-s3-demo-bucket}}",
           "arn:aws:s3:::{{amzn-s3-demo-bucket}}/*"
         ]
       },
       {
         "Sid": "GlueCreateAndReadDataCatalog",
         "Effect": "Allow",
         "Action": [
           "glue:GetDatabase",
           "glue:CreateDatabase",
           "glue:GetDataBases",
           "glue:CreateTable",
           "glue:GetTable",
           "glue:UpdateTable",
           "glue:DeleteTable",
           "glue:GetTables",
           "glue:GetPartition",
           "glue:GetPartitions",
           "glue:CreatePartition",
           "glue:BatchCreatePartition",
           "glue:GetUserDefinedFunctions"
         ],
         "Resource": [
           "*"
         ]
       }
     ]
   }
   ```

------

1. Pilih **Berikutnya** untuk memasukkan nama kebijakan Anda, seperti `EMRServerlessS3AndGlueAccessPolicy` dan **Buat kebijakan** 

1. **Di panel navigasi kiri konsol IAM, pilih Peran.**

1. Pilih **Buat peran**.

1. Untuk jenis peran, pilih **Kebijakan kepercayaan khusus** dan tempel kebijakan kepercayaan berikut. Ini memungkinkan pekerjaan yang dikirimkan ke aplikasi Amazon EMR Tanpa Server Anda untuk mengakses orang lain Layanan AWS atas nama Anda.

------
#### [ JSON ]

****  

   ```
   {
     "Version":"2012-10-17",		 	 	 
     "Statement": [
       {
         "Sid": "AllowSTSAssumerole",
         "Effect": "Allow",
         "Principal": {
           "Service": "emr-serverless.amazonaws.com"
         },
         "Action": "sts:AssumeRole",
         "Condition": {
           "StringEquals": {
             "aws:SourceAccount": "{{123456789012}}"
           }
         }
       }
     ]
   }
   ```

------

1. Pilih **Berikutnya** untuk menavigasi ke halaman **Tambahkan izin**, lalu pilih **EMRServerlessAndGlueAccessPolicyS3**.

1. Di halaman **Nama, tinjau, dan buat**, untuk **nama Peran**, masukkan nama untuk peran Anda, misalnya,`EMRServerlessS3RuntimeRole`. Untuk membuat peran IAM ini, pilih **Buat peran**.

------
#### [ CLI ]

1. Buat file bernama `emr-serverless-trust-policy.json` yang berisi kebijakan kepercayaan yang akan digunakan untuk peran IAM. File harus berisi kebijakan berikut.

------
#### [ JSON ]

****  

   ```
   {
     "Version":"2012-10-17",		 	 	 
     "Statement": [
       {
         "Sid": "EMRServerlessTrustPolicy",
         "Effect": "Allow",
         "Principal": {
           "Service": "emr-serverless.amazonaws.com"
         },
         "Action": "sts:AssumeRole",
         "Condition": {
           "StringEquals": {
             "aws:SourceAccount": "{{123456789012}}"
           }
         }
       }
     ]
   }
   ```

------

1. Buat IAM role bernama `EMRServerlessS3RuntimeRole`. Gunakan kebijakan kepercayaan yang Anda buat di langkah sebelumnya.

   ```
   aws iam create-role \
       --role-name EMRServerlessS3RuntimeRole \
       --assume-role-policy-document file://emr-serverless-trust-policy.json
   ```

   Perhatikan ARN di output. Anda menggunakan ARN dari peran baru selama pengajuan pekerjaan, yang disebut setelah ini sebagai. `{{job-role-arn}}`

1. Buat file bernama `emr-sample-access-policy.json` yang mendefinisikan kebijakan IAM untuk beban kerja Anda. Ini menyediakan akses baca ke skrip dan data yang disimpan di bucket S3 publik dan akses baca-tulis ke. `{{amzn-s3-demo-bucket}}` 
**penting**  
Ganti `{{amzn-s3-demo-bucket}}` dalam kebijakan di bawah ini dengan nama bucket sebenarnya yang dibuat di[Siapkan penyimpanan untuk EMR Tanpa Server](#gs-prepare-storage).. Ini adalah kebijakan dasar untuk akses AWS Glue dan S3. Untuk contoh peran runtime pekerjaan lainnya, lihat[Peran runtime Job untuk Amazon EMR Tanpa Server](security-iam-runtime-role.md).

------
#### [ JSON ]

****  

   ```
   {
     "Version":"2012-10-17",		 	 	 
     "Statement": [
       {
         "Sid": "ReadAccessForEMRSamples",
         "Effect": "Allow",
         "Action": [
           "s3:GetObject",
           "s3:ListBucket"
         ],
         "Resource": [
           "arn:aws:s3:::*.elasticmapreduce",
           "arn:aws:s3:::*.elasticmapreduce/*"
         ]
       },
       {
         "Sid": "FullAccessToOutputBucket",
         "Effect": "Allow",
         "Action": [
           "s3:PutObject",
           "s3:GetObject",
           "s3:ListBucket",
           "s3:DeleteObject"
         ],
         "Resource": [
           "arn:aws:s3:::{{amzn-s3-demo-bucket}}",
           "arn:aws:s3:::{{amzn-s3-demo-bucket}}/*"
         ]
       },
       {
         "Sid": "GlueCreateAndReadDataCatalog",
         "Effect": "Allow",
         "Action": [
           "glue:GetDatabase",
           "glue:CreateDatabase",
           "glue:GetDataBases",
           "glue:CreateTable",
           "glue:GetTable",
           "glue:UpdateTable",
           "glue:DeleteTable",
           "glue:GetTables",
           "glue:GetPartition",
           "glue:GetPartitions",
           "glue:CreatePartition",
           "glue:BatchCreatePartition",
           "glue:GetUserDefinedFunctions"
         ],
         "Resource": [
           "*"
         ]
       }
     ]
   }
   ```

------

1. Buat kebijakan IAM bernama `EMRServerlessS3AndGlueAccessPolicy` dengan file kebijakan yang Anda buat di **Langkah 3**. Catat ARN di output, karena Anda akan menggunakan ARN dari kebijakan baru di langkah berikutnya. 

   ```
   aws iam create-policy \
       --policy-name EMRServerlessS3AndGlueAccessPolicy \
       --policy-document file://emr-sample-access-policy.json
   ```

   Perhatikan ARN kebijakan baru di output. Anda akan menggantinya `{{policy-arn}}` di langkah berikutnya.

1. Lampirkan kebijakan IAM `EMRServerlessS3AndGlueAccessPolicy` ke peran runtime pekerjaan. `EMRServerlessS3RuntimeRole`

   ```
   aws iam attach-role-policy \
       --role-name EMRServerlessS3RuntimeRole \
       --policy-arn {{policy-arn}}
   ```

------