Crie e gerencie EMR clusters da Amazon EKS com AWS Step Functions - AWS Step Functions

As traduções são geradas por tradução automática. Em caso de conflito entre o conteúdo da tradução e da versão original em inglês, a versão em inglês prevalecerá.

Crie e gerencie EMR clusters da Amazon EKS com AWS Step Functions

Saiba como integrar AWS Step Functions com a Amazon EMR sobre o EKS uso da integração EMR de EKS serviços Amazon onAPIs. A integração de serviços APIs é igual à da EMR Amazon correspondente EKSAPIs, mas nem todas APIs oferecem suporte a todos os padrões de integração, conforme mostrado na tabela a seguir.

Para saber mais sobre a integração com AWS serviços em Step Functions, consulte e. Integração de produtos da Passando parâmetros para um serviço API em Step Functions

Como a EKS integração otimizada do Amazon EMR on é diferente da Amazon EMR on EKS AWS SDKintegração
nota

Para integração com a AmazonEMR, o Step Functions tem uma frequência de pesquisa de trabalhos codificada de 60 segundos nos primeiros 10 minutos e 300 segundos depois disso.

API Resposta de solicitação Executar um trabalho (.sync)
CreateVirtualCluster Compatível Sem compatibilidade
DeleteVirtualCluster Compatível Compatível
StartJobRun Compatível Compatível

Compatível com EMR a Amazon em EKSAPIs:

nota

Há uma cota para o tamanho máximo de dados de entrada ou resultado para uma tarefa no Step Functions. Isso restringe você a 256 KB de dados como uma string codificada em UTF -8 quando você envia ou recebe dados de outro serviço. Consulte Cotas relacionadas a execuções de máquina de estado.

Veja a seguir um estado Task que cria um cluster 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 }

Veja a seguir um Task estado que envia um trabalho a um cluster virtual e aguarde até que ele seja concluído.

"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 }

Veja a seguir um Task estado que exclui um cluster virtual e aguarde a conclusão da exclusão.

"Delete_Virtual_Cluster": { "Type": "Task", "Resource": "arn:aws:states:::emr-containers:deleteVirtualCluster.sync", "Parameters": { "Id.$": "$.VirtualClusterId" }, "End": true }

Para saber mais sobre a configuração IAM permissões ao usar Step Functions com outros AWS serviços, vejaComo o Step Functions gera IAM políticas para serviços integrados.