Singer 学习十 同步模式
sync 模式是属于tap 的操作,同步模式下,tap 需要提交 schema、 record 、state message, singer 指南对于每种
类型有详细的说明
streams
每个stream 的metadata 包含了详细的用来进行sync 操作的控制说明
replication 方法
taps 支持两种类型的同步
INCREMENTAL
进行增量同步申明,只有新数据,以及更新的数据在同步的时候会被复制FULL_TABLE
一般都是按照起始时间,在每次同步的时候都需要同步,实际上就是按照时间进行完整同步
stream/filed 的选择
taps 应该允许用户选择那个streams 以及fileds 会被复制,当前定义了以下关键字
- inclusion 只能应用到filed,如果被设置为automatic,那个filed 必须被同步,如果设置为unsupported,就不同同步,在
discovery 的时候编写 - selected 如果被设置为true stream (空breadcrumb) 或者filed 应该同步,如果设置为false,stream 或者filed 应该忽略,这个
元数据是有外部的服务编写的
遗留stream/filed 的选择
一些遗留的taps 处理stream 以及filed 的选择是通过"selected"=true
处理的
metric 消息
metric 消息主要是定义了一种结构化的消息格式,方便进行日志监控、分析
- 格式
INFO METRIC: <metrics-json>
- metrics-json 格式
metrivs-json 定义了type 、metrics key 、tags、value
当前的type 有两种 timer,counter
metrics key 定义了metrics 的名称
value 指定了metrics 的可以为整数或者浮点数
tags 包含 endpoint,http_status_code, job_type, status
参考数据:
INFO METRIC: {"type": "timer", "metric": "http_request_duration", "value": 30.01, "tags": {"endpoint": "orders", "http_status_code": 500, "status": "failed"}}
INFO METRIC: {"type": "counter", "metric": "record_count", "value": 100, "tags": {"endpoint: "orders"}}
参考资料
https://github.com/singer-io/getting-started/blob/master/docs/SYNC_MODE.md
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 记一次.NET内存居高不下排查解决与启示
· 探究高空视频全景AR技术的实现原理
· 理解Rust引用及其生命周期标识(上)
· 浏览器原生「磁吸」效果!Anchor Positioning 锚点定位神器解析
· 没有源码,如何修改代码逻辑?
· 全程不用写代码,我用AI程序员写了一个飞机大战
· DeepSeek 开源周回顾「GitHub 热点速览」
· 记一次.NET内存居高不下排查解决与启示
· MongoDB 8.0这个新功能碉堡了,比商业数据库还牛
· .NET10 - 预览版1新功能体验(一)