翻訳は機械翻訳により提供されています。提供された翻訳内容と英語版の間で齟齬、不一致または矛盾がある場合、英語版が優先します。
EKS を使用して で Amazon EMRクラスターを作成および管理する AWS Step Functions
Amazon EMR on EKSサービス統合 EKSを使用して、 EMRで Amazon AWS Step Functions と統合する方法について説明しますAPIs。サービス統合APIsは、 EMRの対応する Amazon EKS と同じですがAPIs、次の表に示すように、すべての がすべての統合パターンAPIsをサポートしているわけではありません。
Step Functions は、 Amazon ステートメント言語 () から直接特定の AWS サービスを制御できますASL。詳細については、「他のサービスの統合」および「Step Functions APIのサービスへのパラメータの受け渡し」を参照してください。
Optimized Amazon EMR on EKS統合と Amazon EMR on EKS AWS SDK統合の違い
-
ジョブの実行 (.sync) 統合パターンがサポートされています。
-
レスポンスのリクエスト 統合パターンの最適化はありません。
-
タスクトークンのコールバックまで待機する 統合パターンはサポートされていません。
注記
Amazon との統合の場合EMR、Step Functions には、最初の 10 分から 300 秒までのハードコードされた 60 秒のジョブポーリング頻度があります。
API | リクエストレスポンス | ジョブの実行 (.sync) |
---|---|---|
CreateVirtualCluster | ✓ | |
DeleteVirtualCluster | ✓ | ✓ |
StartJobRun | ✓ | ✓ |
EMR でサポートされている AmazonEKSAPIs:
注記
Step Functions のタスクには入力データまたは結果データの最大サイズにはクォータがあります。これにより、別のサービスとの間でデータを送受信するときに、UTF-8 でエンコードされた文字列として 256 KB のデータに制限されます。「ステートマシンの実行に関連するクォータ」を参照してください。
以下には仮想クラスターを作成する Task
状態が含まれています。
"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
}
以下には、 ジョブを仮想クラスターに送信し、完了するまで待機する Task
状態が含まれます。
"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://<mybucket>
/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://<mylogsbucket>
"
}
}
},
"Tags": {
"taskType"
: "jobName"
}
},
"End": true
}
以下には、仮想クラスターを削除し、削除が完了するまで待機する Task
状態が含まれます。
"Delete_Virtual_Cluster": {
"Type": "Task",
"Resource": "arn:aws:states:::emr-containers:deleteVirtualCluster.sync",
"Parameters": {
"Id.$": "$.VirtualClusterId"
},
"End": true
}
を他の AWS サービスStep Functionsで使用するときにIAMアクセス許可を設定する方法については、「」を参照してくださいStep Functions が統合サービスのIAMポリシーを生成する方法。