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

Singer 学习十 同步模式的更多相关文章

  1. Singer 学习十二 指南

    版本0.3.0 tap是一个应用程序,需要一个配置文件和可选的状态文件作为输入,并产生有序的流记录, 状态和模式信息作为输出. 一个记录是任何类型的JSON编码的数据.tap 状态消息用于保留一个调用 ...

  2. Singer 学习十三 发现模式

    发现模式 发现模式提供了一种描述tap 支持数据流的方式,使用了json schema 做为描述数据的结构以及每个数据流的 类型,发现模式的实现依赖tap 的数据源,有些taps 将硬编码每个流的模式 ...

  3. 强化学习(十五) A3C

    在强化学习(十四) Actor-Critic中,我们讨论了Actor-Critic的算法流程,但是由于普通的Actor-Critic算法难以收敛,需要一些其他的优化.而Asynchronous Adv ...

  4. Java设计模式学习记录-状态模式

    前言 状态模式是一种行为模式,用于解决系统中复杂的对象状态转换以及各个状态下的封装等问题.状态模式是将一个对象的状态从该对象中分离出来,封装到专门的状态类中,使得对象的状态可以灵活多变.这样在客户端使 ...

  5. Swoole协程与传统fpm同步模式比较

    如果说数组是 PHP 的精髓,数组玩得不6的,根本不能算是会用PHP.那协程对于 Swoole 也是同理,不理解协程去用 Swoole,那就是在瞎用. 首先,Swoole 只能运行在命令行(Cli)模 ...

  6. DSP基础学习-ADC同步采样

    DSP基础学习-ADC同步采样 彭会锋 2015-04-28 20:31:06 在DSP28027 LauchPad学习过程中,关于ADC同步采样和顺序采样的区别稍加研究了一下,发现里面还真有些门道, ...

  7. CDC不同模式在ODI中体现系列之一 同步模式

    CDC不同模式在ODI中体现系列之一 同步模式 Oracle Database Change Data Capture feature 变化数据捕获是一个通称,是用来描述捕捉增量变化应用到数据存储.随 ...

  8. 设计模式 ( 二十 ) 访问者模式Visitor(对象行为型)

    设计模式 ( 二十 ) 访问者模式Visitor(对象行为型) 1.概述 在软件开发过程中,对于系统中的某些对象,它们存储在同一个集合collection中,且具有不同的类型,而且对于该集合中的对象, ...

  9. 跟着ZHONGHuan学习设计模式--桥接模式

    转载请注明出处! ! !http://blog.csdn.net/zhonghuan1992 全部配套代码均在github上:https://github.com/ZHONGHuanGit/Desig ...

随机推荐

  1. Python select 详解(转)

    I/O多路复用是在单线程模式下实现多线程的效果,实现一个多I/O并发的效果.看一个简单socket例子: import socket SOCKET_FAMILY = socket.AF_INET SO ...

  2. pytorch加载和保存模型

    在模型完成训练后,我们需要将训练好的模型保存为一个文件供测试使用,或者因为一些原因我们需要继续之前的状态训练之前保存的模型,那么如何在PyTorch中保存和恢复模型呢? 方法一(推荐): 第一种方法也 ...

  3. 给rm命令设置别名防止误操作

    1通过alias命令查看别名格式并按照格式修改 alias rm='rm -i' 修改为 alias rm='echo command not found' 2通过编辑vim /etc/profile ...

  4. Configuring Ubuntu for deep learning with Python in Ubuntu16.04

    博主最近浏览到一个网站PyImageSearch,看到里面的项目还不错,就顺手配置一下环境,试着去跑下里面的模型. 首先,需要配置好需要运行模型的环境,其实主要的步骤分为以下三步: 1. 安装Ubun ...

  5. spring源码研究1 如何导入源码

    环境 jdk8 windows8 1.下载源码 https://github.com/spring-projects/spring-framework 2.编译为eclipse项目 源码下载无法直接导 ...

  6. 实力封装:Unity打包AssetBundle(番外篇)

    前情提要:第二种打包方式. 自定义AssetBundle包扩展名 在之前的教程中,我们已经多次提到过扩展名了,并且也已经说明了如何设置自定义的AssetBundle扩展名.至于为什么还要把它单独拿出来 ...

  7. background低版本安卓浏览器不支持复合属性,要分开写

    background:url("http://..../xxx.jpg") no-repeat center/cover; 这种复合形式在有些低端安卓浏览器中不支持,最好分开写: ...

  8. 20165326 java第二周学习笔记

    学习笔记 一.理论学习 基本数据类型与数组 标识符的第一个字符不能是数字:标识符不能为关键字. 基本数据类型多数与c语言相同.重点如下: 1.逻辑类型boolean赋值true/false 2.浮点数 ...

  9. 解决jsp表达式不能解析的问题

    在jsp页面用了表达式,但是出现了表达式不能解析的问题 出现的页面如下 原因:web.xml的版本过低,maven自动生成的web.xml版本为2.3,只有2.3以上的版本才支持表达式 解决方法:改w ...

  10. Python Counter

    from collections import Counter print(Counter("宝宝今年特别喜欢王宝强")) # 计数 lst = ["jay", ...