EKS에서 Amazon EMR에 전화하십시오. AWS Step Functions - AWS Step Functions

기계 번역으로 제공되는 번역입니다. 제공된 번역과 원본 영어의 내용이 상충하는 경우에는 영어 버전이 우선합니다.

EKS에서 Amazon EMR에 전화하십시오. AWS Step Functions

Step Functions는 Amazon States Language (ASL) 에서 직접 특정 AWS 서비스를 제어할 수 있습니다. 자세한 내용은 다른 서비스와 함께 사용파라미터를 서비스 API에 전달 섹션을 참조하세요.

EKS 기반 최적화된 Amazon EMR 통합이 EKS 기반 Amazon EMR SDK 통합과 어떻게 다른가요? AWS
참고

Amazon EMR과 통합을 위해 Step Functions는 처음 10분과 이후 300초 동안 작업 폴링 빈도를 60초로 하드 코딩합니다.

EKS의 Amazon AWS Step Functions EMR과 통합하려면 EKS 기반 Amazon EMR 서비스 통합 API를 사용하십시오. 서비스 통합 API는 해당 Amazon EMR on EKS API와 동일하지만 다음 표와 같이 모든 API에서 모든 통합 패턴을 지원하지 않습니다.

API 요청 및 응답 작업 실행(.sync)
CreateVirtualCluster
DeleteVirtualCluster
StartJobRun

지원되는 Amazon EMR on EKS API는 다음과 같습니다.

참고

Step Functions에는 작업의 최대 입력 또는 결과 데이터 크기에 대한 할당량이 있습니다. 이를 통해 다른 서비스에 데이터를 보내거나 다른 서비스로부터 데이터를 받을 때 UTF-8 인코딩 문자열로 데이터 256KB까지 제한됩니다. 상태 시스템 실행과 관련된 할당량 섹션을 참조하십시오.

다음에는 가상 클러스터를 만드는 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 }

다른 서비스와 Step Functions 함께 사용할 때 IAM 권한을 구성하는 방법에 대한 자세한 내용은 을 참조하십시오. AWS 통합 서비스용 IAM 정책