(整个流程涉及到的组件比较多 ,流程也有点复杂 建议先看本人博客当中 Oracle CDC Client 实施步骤 (二) 实时同步数据)
1.简介
Streamsets是一款大数据实时采集和ETL工具,可以实现不写一行代码完成数据的采集和流转。通过拖拽式的可视化界面,实现数据管道(Pipelines)的设计和定时任务调度。最大的特点有:可视化界面操作,不写代码完成数据的采集和流转内置监控,可是实时查看数据流传输的基本信息和数据的质量强大的整合力,对现有常用组件全力支持,包括50种数据源、44种数据操作、46种目的地。对于Streamsets来说,最重要的概念就是数据(Origins)、操作(Processors)、目的地(Destinations)。创建一个Pipelines管道配置也基本是这三个方面。常见的Origins有Kafka、HTTP、UDP、JDBC、HDFS等;Processors可以实现对每个字段的过滤、更改、编码、聚合等操作;Destinations跟Origins差不多,可以写入Kafka、Flume、JDBC、HDFS、Redis等
2.认识常见的SDC组件
1.Kafka Consumer 数据接收组件
2. 数据处理处理组件(如:日期转换)
3.JDBC Lookup 数据库查询组件
4.Field Remover 字段过滤组件
5.Stream Selector 数据判断 分流组件
6.Trash 数据直接丢弃
7.Local FS 将数据写入磁盘的组件
8.JDBC Producer 数据库入库组件
3.流程(画流程图软件过期了)
1. 从kafka 集群中获取数据(数据结构:有字段 table,operation,timestamp,data)
2. 构建sdc记录
3.判断数据是否需要采集(通过data中的key与数据库进行匹配,查询是否需要采集)
4.否:直接trush
5.是: 查询转换关系(比如一行映射成多行)
6.业务处理 (获取指定定数据时间转换等等,比如:时间减一小时)
7.过滤不需要的字段
8.入库