问题描述
我正在使用 EMR 开发 AWS StepFunction。 我的输入看起来像这样。
{
"dt":"20210101"
}
因为我想在 EMR 中运行 spark-submit,所以我用 HadoopJarStep 添加了一个步骤。 我的步骤是这样的。
"Run first step": {
"Type": "Task","Resource": "arn:aws:states:::elasticmapreduce:addStep.sync","Parameters": {
"ClusterId.$": "$.cluster.ClusterId","Step": {
"Name": "My first EMR step","ActionOnFailure": "CONTINUE","HadoopJarStep": {
"Jar": "command-runner.jar","Args.$": "States.Array('spark-submit','--deploy-mode','client','s3://script_path.py','s3://some_path','$.dt')"
}
}
},"ResultPath": "$.firstStep","Next": "Terminate Cluster"
我的问题点在这里"Args.$": "States.Array('spark-submit','$.dt')"
。
我必须将参数作为该步骤的数组传递,但“$.dt”无法正常工作。
我尝试了以下各种方法
"Args.$": "States.Array('spark-submit','States.Format(\\'s3://some_path\\',$.dt)')"
"Args.$": "States.Array('spark-submit','States.Format(s3://some_path,$.dt)')"
"Args.$": "['spark-submit','s3://some_path/$.dt']"
但它永远不会成功。
如何将参数作为带插值的数组传递?
解决方法
暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!
如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。
小编邮箱:dio#foxmail.com (将#修改为@)