StreamSet学习(一)Pipeline Concepts and Design

一、数据流的合并和分支

二、Dropping Unwanted Records

      (1)required field可以在processor, executor, and most destination 节点,如果一个记录没人包含任何的必要字段那么这条记录将别丢给错误处理操作。

       (2)Preconditions  前置条件,数据必须满足前置条件的情况下才能进入相关的步骤进行数据的处理。前置条件可以在processor, executor, and most destination 中使用,在前置条件中可以使用function,变量和运行时的属性

     例如使用如下表达式排

${record:value('/COUNTRY') == 'US'}

三、Error Record Handling

record handling 可以在stage level 和 pipeline level进行定义,也可以将stage中定义的错误不进行处理,传给pipeline的错误处理。

stage中的错误处理机制会优先与pipeline的错误机制。

注意:缺少必要字段的记录将不会进入此stage,这些数据直接被pipeline的error handing进行处理

错误处理的常见方式:

pipeline error Handing

1.丢弃数据(discard) 2.写入管道(Write to Another Pipeline):此模式需要自己创建SDC RPC origin pipeline 3.写入文件系统 4.写入kafka

stage error handing

1.丢弃数据(discard)2.将error发送到pipeline error handing(Send to Error)进行处理 3.停止pipeline(Stop Pipeline):停止pipeline并记录相关错误信息,停止管道打错误在管道历史记录中显示为error .注意:集群模式暂不支持此模式

四、Processing Changed Data(处理变化的数据)

Steamsets可以捕获数据的变化,比如增删改查。

1.常用CDC-enabled stages:

       JDBC Query Consumer for Microsoft SQL Server

      MySQL Binary Log

     Oracle CDC Client

     PostgreSQL CDC Client

      SQL Parser,

      SQL Server CDC Client,

      SQL Server Change Tracking

2.CRUD enabled stages:

JDBC Tee processor

JDBC Producer destination

数据处理(processing the data),因为存储的log日志保存了不同格式的记录数据,使用 JDBC Tee processor and JDBC Producer能够解码大多数更改日志格式,从而根据原始更改日志生成记录数据。当使用其他的CRUD-enabled destinations,你需要添加其它stage用于处理数据格式

对应mysql的数据变更捕获:

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值