大数据场景下,每天可能都要在离线集群,运行大量的任务来支持产品、运营的分析查询。任务越来越多的时候,就会有越来越多的依赖关系,每一个任务都需要等需要的input表生产出来后,再去生产自己的output表。最开始的时候,依赖关系自然是可以通过管理员来管理,随着任务量的加大,就需要一个分析工具来解析SQL的血缘关系,并且自行依赖上血缘表。
血缘解析本身如果数据层级就一层的话,实际上解析就不那么重要,因为肉眼就可以找到,但是实际情况是随着数据量的增加,字段不仅仅依赖一层就可以解决,原生字段固然重要,但是随着etl过程开始也要产生衍生字段,而且随着维度的增加,不得不从原来一层级拓宽到多层应用,仓库--落到集市---集市落到应用,应用落到报表,一层层来说,如果不做好血缘解析,基本一个数据项的来源就显得可信度不高,其次对应数据项报送,必须要有哪里来的萝卜,哪个组件种的,要填入到哪个报表的坑位,这个必须要有一个明确的来源和结束点。
血缘解析好比是从报表报送的那个数据项看做一个垃圾,那么这个从消费到回溯到生产到原料进而细分到加工原料的组成成分,那么这个就是一个完整的血缘解析过程,我们要从这个垃圾进入垃圾桶,还要知道垃圾的来源出处,进而判断这个垃圾进的垃圾桶对不对,是不是可再生垃圾,还是不可再生垃圾,银行报送端是否采纳对应的数据。