我想在EMR作业中设置一个变量,然后将其传递给步进功能的下一个状态。 我进行了很多搜索,但找不到任何方法。
完整的用例是从s3中读取文件,如果目录中没有文件,我将得到一个异常,并且在除了block之外,我将设置一个值,以便在AWS Step功能的下一个状态下可以选择状态决定,要么移到下一个Job,要么终止集群并退出。
try:
spark.read.csv("path goes here")
except:
## set parameter here
一个解决方案是使用Lambda并检查目录中是否存在文件并设置一个值并返回,我将在选择状态中接收该值。但是我想直接做而不添加Lambda。
我也尝试过生成自定义异常并将其捕获到状态功能的“捕获块”中,但这也无法正常工作。
答案 0 :(得分:0)
我找不到任何直接方法,因此我使用Lambda函数检查该文件是否存在于S3上,并相应地设置该值并将其传递给Choice状态。