1

有一种方法可以控制作业失败后在 Azkaban 中发生的情况,我的意思是如果特定作业失败,则执行特定的操作,让我们说 hive 的负载失败,我想将错误发送到 splank 是否可能?或者我应该创建将插入并处理故障的特定作业,如 python

谢谢

4

1 回答 1

1

我处理这个问题的方法是有一个运行具有command作业类型的脚本的以下作业。我让我的脚本检查错误情况,然后在发现错误时执行和操作。

#!/bin/bash
check=${./_check_script.sh $arg1 $arg2}
if [ -z $check ]; then 
  echo "ERROR FOUND"
  ./_error_action.sh $arg1 $arg2
fi

请注意,在运行脚本之前,您必须允许 Azkaban 用户 ( chmod +x) 对其中的任何脚本执行脚本。.zip由于使用上传格式,它们不会继承权限。

type=command
command=chmod +x _alert_for_error.sh
command.1=chmod +x _check_script.sh
command.2=chmod +x _error_action.sh
command.3=./_alert_for_error.sh
于 2017-01-27T14:32:09.563 回答