Hue oozie bundles submit 跳转500 error

大数据开发过程中一步一个坑,为了能不再犯错,现在开始记录各种进坑和出坑过程

需求:数据仓库的ETL过程,涉及到sqoop抽取,spark的数据清洗和数据增量更新三个过程,共建立的三个workflow,需要建立coordinator实现每天0点定时触发,顺序是sqoop->数据清洗->数据增量更新(增量更新到DW层),下面是我的工作流配置。

1、sqoop

Hue oozie bundles submit 跳转500 error
插一句:sqoop import中,当包含--where 或者--query的时候,如果sql语句中需要添加空格,通过Hue来执行sqoop会报错,因此需要通过参数的方式设置sqoop
Hue oozie bundles submit 跳转500 error

2、数据清洗workflow
Hue oozie bundles submit 跳转500 error

3、数据增量更新workflow
Hue oozie bundles submit 跳转500 error

然后对每一个workflow建立了coordinator,并将coordinator进行捆绑bundles

Hue oozie bundles submit 跳转500 error
提交执行bundles,出现如下的错误




Hue oozie bundles submit 跳转500 error

首先进行工作流的解释:sqoop抽取结束后,需要通过FS插件自动的创建一个目录,目录地址为${sqoopdir},并且在改目录下创建一个_SUCCESS文件,代表sqoop抽取正常结束了,在数据清洗的时候,首先通过coordinator的input path查询${sqoopdir}目录下的_SUCCESS文件是否存在,存在情况下才允许执行数据清洗的workflow,数据增量更新同理需要判断数据清洗的_SUCCESS。

在了解工作流的过程后,接下来就看一下上面标注的错误原因,这个是在数据增量更新的时候,判断数据清洗的_SUCCESS是否存在时出现的,这里move的数据文件,应该是放在spark之上执行的,但我放在了spark之后,当时的目的也是为了实验看input path的done flag是否对设置位置有要求,但奇葩的来了,上面的那个错误配置,单独执行coordinator时,是可以按照逻辑执行的,没有任何问题!!!只有在绑定bundles后,才会报错,很奇怪

现在列上数据增量更新正确的workflow
Hue oozie bundles submit 跳转500 error