[英]How to get AWS EMR cluster id and step id from inside the spark application step submitted
[英]How to hardcode a cluster ID in EMR step function
我正在嘗試創建 EMR 步進函數,我想在其中指定始終運行的 EMR 集群。 我在網上遇到的所有示例都告訴您如何創建一個集群,然后在工作完成后終止它。
我的 EMR 步驟 function 如下:
{
"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。 但是,當我嘗試保存它時出現以下錯誤。
字段“ClusterId.$”的值必須是有效的 JSONPath
有什么辦法可以克服這個嗎?
解決方案是從集群變量定義中刪除$
。
改變
"ClusterId.$": "j-4ABCDEFGHIK"
至
"ClusterId": "j-4ABCDEFGHIK"
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.