如何在 EMR 步骤函数中硬编码集群 ID
How to hardcode a cluster ID in EMR step function
我正在尝试创建 EMR 阶跃函数,我想在其中指定始终为 运行 的 EMR 集群。我在网上看到的所有例子,告诉你如何创建一个集群,然后在工作完成后终止它。
我的EMR步进函数如下:
{
"Comment": "My EMR Step",
"StartAt": "Config_Meta",
"States": {
"Config_Meta": {
"Type": "Task",
"Resource": "arn:aws:states:::elasticmapreduce:addStep.sync",
"InputPath": "$",
"Parameters": {
"ClusterId.$": "j-4ABCDEFGHIK",
"Step": {
"Name": "Config_Meta",
"ActionOnFailure": "CONTINUE",
"HadoopJarStep": {
"Jar": "command-runner.jar",
"Args": [
"bash",
"-c",
"source /home/hadoop/.bashrc && spark-submit --deploy-mode cluster --executor-cores 4 --driver-cores 4 --executor-memory 19g --driver-memory 19g --num-executors 27 --conf spark.default.parallelism=100 --conf spark.yarn.executor.memoryOverhead=9g --conf spark.shuffle.io.retryWait=180s --conf spark.network.timeout=500s --conf maximizeResourceAllocation=true s3://path/config_meta.py"
]
}
}
},
"End": true
}
}
}
我在 "ClusterId.$": "j-4ABCDEFGHIK"
中指定了集群 ID。但是,当我尝试保存时出现以下错误。
The value for the field 'ClusterId.$' must be a valid JSONPath
有什么办法可以克服这个问题吗?
解决方案是从集群变量定义中删除 $
。
改变
"ClusterId.$": "j-4ABCDEFGHIK"
至
"ClusterId": "j-4ABCDEFGHIK"
我正在尝试创建 EMR 阶跃函数,我想在其中指定始终为 运行 的 EMR 集群。我在网上看到的所有例子,告诉你如何创建一个集群,然后在工作完成后终止它。
我的EMR步进函数如下:
{
"Comment": "My EMR Step",
"StartAt": "Config_Meta",
"States": {
"Config_Meta": {
"Type": "Task",
"Resource": "arn:aws:states:::elasticmapreduce:addStep.sync",
"InputPath": "$",
"Parameters": {
"ClusterId.$": "j-4ABCDEFGHIK",
"Step": {
"Name": "Config_Meta",
"ActionOnFailure": "CONTINUE",
"HadoopJarStep": {
"Jar": "command-runner.jar",
"Args": [
"bash",
"-c",
"source /home/hadoop/.bashrc && spark-submit --deploy-mode cluster --executor-cores 4 --driver-cores 4 --executor-memory 19g --driver-memory 19g --num-executors 27 --conf spark.default.parallelism=100 --conf spark.yarn.executor.memoryOverhead=9g --conf spark.shuffle.io.retryWait=180s --conf spark.network.timeout=500s --conf maximizeResourceAllocation=true s3://path/config_meta.py"
]
}
}
},
"End": true
}
}
}
我在 "ClusterId.$": "j-4ABCDEFGHIK"
中指定了集群 ID。但是,当我尝试保存时出现以下错误。
The value for the field 'ClusterId.$' must be a valid JSONPath
有什么办法可以克服这个问题吗?
解决方案是从集群变量定义中删除 $
。
改变
"ClusterId.$": "j-4ABCDEFGHIK"
至
"ClusterId": "j-4ABCDEFGHIK"