Terjemahan disediakan oleh mesin penerjemah. Jika konten terjemahan yang diberikan bertentangan dengan versi bahasa Inggris aslinya, utamakan versi bahasa Inggris.
Buat dan kelola kluster EMR Amazon di EKS dengan AWS Step Functions
Pelajari cara mengintegrasikan AWS Step Functions dengan Amazon EMR di EKS menggunakan Amazon EMR pada integrasi layanan EKS. APIs Integrasi APIs layanan sama dengan EMR Amazon yang sesuai di EKS APIs, tetapi tidak semua APIs mendukung semua pola integrasi, seperti yang ditunjukkan pada tabel berikut.
Untuk mempelajari tentang mengintegrasikan dengan AWS layanan di Step Functions, lihat Integrasi layanan danMeneruskan parameter ke API layanan di Step Functions.
Bagaimana EMR Amazon yang Dioptimalkan pada integrasi EKS berbeda dari EMR Amazon pada integrasi EKS SDK AWS
-
Pola Jalankan Tugas (.sync) integrasi didukung.
-
Tidak ada pengoptimalan untuk pola Minta Tanggapan integrasi.
-
Pola Tunggu Callback dengan Task Token integrasi tidak didukung.
catatan
Untuk integrasi dengan Amazon EMR, Step Functions memiliki frekuensi polling pekerjaan 60 detik hard-code selama 10 menit pertama dan 300 detik setelah itu.
API | Respons permintaan | Jalankan tugas (.sync) |
---|---|---|
CreateVirtualCluster | Didukung | Tidak didukung |
DeleteVirtualCluster | Didukung | Didukung |
StartJobRun | Didukung | Didukung |
EMR Amazon yang didukung di EKS: APIs
catatan
Ada kuota untuk input maksimum atau ukuran data hasil untuk tugas di Step Functions. Ini membatasi Anda untuk 256 KiB data sebagai string UTF-8 yang dikodekan ketika Anda mengirim ke, atau menerima data dari, layanan lain. Lihat Kuota yang berkaitan dengan eksekusi mesin status.
Berikut ini mencakup status Task
yang membuat sebuah klaster virtual.
"Create_Virtual_Cluster": {
"Type": "Task",
"Resource": "arn:aws:states:::emr-containers:createVirtualCluster",
"Parameters": {
"Name": "MyVirtualCluster",
"ContainerProvider": {
"Id": "EKSClusterName",
"Type": "EKS",
"Info": {
"EksInfo": {
"Namespace": "Namespace"
}
}
}
},
"End": true
}
Berikut ini mencakup status Task
yang menyerahkan tugas ke klaster virtual dan menunggunya untuk menyelesaikan.
"Submit_Job": {
"Type": "Task",
"Resource": "arn:aws:states:::emr-containers:startJobRun.sync",
"Parameters": {
"Name": "MyJobName",
"VirtualClusterId.$": "$.VirtualClusterId",
"ExecutionRoleArn": "arn:aws:iam::<accountId>
:role/job-execution-role",
"ReleaseLabel": "emr-6.2.0-latest",
"JobDriver": {
"SparkSubmitJobDriver": {
"EntryPoint": "s3://<amzn-s3-demo-bucket>
/jobs/trip-count.py",
"EntryPointArguments": [
"60"
],
"SparkSubmitParameters": "--conf spark.driver.cores=2 --conf spark.executor.instances=10 --conf spark.kubernetes.pyspark.pythonVersion=3 --conf spark.executor.memory=10G --conf spark.driver.memory=10G --conf spark.executor.cores=1 --conf spark.dynamicAllocation.enabled=false"
}
},
"ConfigurationOverrides": {
"ApplicationConfiguration": [
{
"Classification": "spark-defaults",
"Properties": {
"spark.executor.instances": "2",
"spark.executor.memory": "2G"
}
}
],
"MonitoringConfiguration": {
"PersistentAppUI": "ENABLED",
"CloudWatchMonitoringConfiguration": {
"LogGroupName": "MyLogGroupName",
"LogStreamNamePrefix": "MyLogStreamNamePrefix"
},
"S3MonitoringConfiguration": {
"LogUri": "s3://<amzn-s3-demo-logging-bucket1>
"
}
}
},
"Tags": {
"taskType"
: "jobName"
}
},
"End": true
}
Berikut ini mencakup status Task
yang menghapus klaster virtual dan menunggu penghapusan selesai.
"Delete_Virtual_Cluster": {
"Type": "Task",
"Resource": "arn:aws:states:::emr-containers:deleteVirtualCluster.sync",
"Parameters": {
"Id.$": "$.VirtualClusterId"
},
"End": true
}
Untuk mempelajari tentang mengkonfigurasi IAM izin saat menggunakan Step Functions dengan AWS layanan lain, lihatBagaimana Step Functions menghasilkan kebijakan IAM untuk layanan terintegrasi.