数据汇集层

当各类数据从源端抽取后,首先应当被写入一个数据汇集层,然后再进行后继的转换处理,直至将最终结果写入目的地。数据汇集层的作用主要有两点:

  • 数据汇集层将异构的数据源数据存储为统一的格式,并且为后继的处理提供一致的访问接口。这就将处理逻辑和数据源解耦开来,同时屏蔽了数据抽取过程中可能发生的异常对后继作业的影响。

  • 数据汇集层独立于数据源,可被多次访问,亦可根据业务需要缓存全部或一定期限的原始数据,这为转换分析提供了更高的灵活度。当业务需求发生变化时,无需重复读取源端数据,直接基于数据汇集层就可以开发新的模型和应用。数据汇集层可基于任意支持海量 / 高可用的文件系统、数据仓库或者消息队列构建,常见的方案包括 HDFS、HBase、Kafka 等。

针对实时 ETL 场景,推荐使用 Kafka 或类似具有海量数据持久化能力的消息队列来做数据汇集层,这会为后继的流式处理提供便捷。同时,利用 Kafka 的数据回收机制,可以根据业务需要自动保留一定时间或大小的原始数据。