Terjemahan disediakan oleh mesin penerjemah. Jika konten terjemahan yang diberikan bertentangan dengan versi bahasa Inggris aslinya, utamakan versi bahasa Inggris.
Membuat dan mengelola EMR klaster Amazon dengan EKS AWS Step Functions
Pelajari cara mengintegrasikan AWS Step Functions dengan Amazon EMR tentang EKS penggunaan Amazon EMR pada integrasi EKS layananAPIs. Integrasi APIs layanan sama dengan EMR Amazon yang sesuai EKSAPIs, tetapi tidak semua APIs mendukung semua pola integrasi, seperti yang ditunjukkan pada tabel berikut.
Untuk belajar tentang berintegrasi dengan AWS servicesin Step Functions, lihat Integrasi layanan dan. Meneruskan parameter ke layanan API di Step Functions
Bagaimana Amazon yang Dioptimalkan EMR pada EKS integrasi berbeda dari Amazon EMR di EKS AWS SDKintegrasi
-
Pola Jalankan Tugas (.sync) integrasi didukung.
-
Tidak ada pengoptimalan untuk pola Minta Respons integrasi.
-
Pola Tunggu Callback dengan Task Token integrasi tidak didukung.
catatan
Untuk integrasi dengan AmazonEMR, Step Functions memiliki frekuensi polling pekerjaan 60 detik hard-code selama 10 menit dan 300 detik pertama setelah itu.
API | Respons permintaan | Jalankan tugas (.sync) |
---|---|---|
CreateVirtualCluster | Didukung | Tidak didukung |
DeleteVirtualCluster | Didukung | Didukung |
StartJobRun | Didukung | Didukung |
Amazon yang didukung EMR di EKSAPIs:
catatan
Ada kuota untuk input maksimum atau ukuran data hasil untuk tugas di Step Functions. Ini membatasi Anda untuk 256 KB data sebagai string yang dikodekan UTF -8 saat 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 yang lain AWS layanan, lihatBagaimana Step Functions menghasilkan IAM kebijakan untuk layanan terintegrasi.