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
-
O padrão de integração Executar um trabalho (.sync) é compatível.
-
Não há otimizações para o padrão de integração Resposta de solicitação.
-
O padrão de integração Aguarde um retorno de chamada com o token de tarefa não é compatível.
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.