配置和状态文件通过提供身份验证信息,开始时间和有关以前调用的信息,帮助为Taps和Targets提供上下文

配置文件

配置文件包含tap 运行需要的信息,通常包含API,以及数据源的凭据

  • 特殊字段
    start_data ,首次同步时候使用,指定数据同步的范围
    user_agent 提供方便的问题解决,反馈的地址,一般可能是email 地址
  • 格式
    必须是json 格式文件,参考
 
{
  "api_key" : "ABC123ASDF5432",
  "start_date" : "2017-01-01T00:00:00Z",
  "user_agent" : "Stitch (+support@stitchdata.com)"
}
 

状态文件

状态文件是一个json map 被用来存储调用tap 的信息,对于需要处理状态的stream 必须定期的进行状态数据
写入stdout,同时应该支持解析--state 配置参数
状态常用来记录最后一次调用中断的记录点,此时状态通常包含 last_updated_at与源字段对应的时间戳,如果在
没有--state 参数,应该从头开始,或者某个适当的默认位置,如果包含了--state,就需要从状态记录文件开始

bookmark

用户记录当爱你tap 对于数据源处理的进度,如果tap 的stream 可以各自具有独立的状态,则Tap的状态输出
应符合以下格式:状态对象包含映射到对象的顶级属性“书签”。书签对象包含流标识符作为属性名称,
每个属性名称映射到描述相应流的状态的对象
参考:

 
{
  "bookmarks": {
    "orders": {
      "last_record": "2017-07-07T10:20:00Z"
    },
    "customers": {
      "last_record": 123
    }
  }
}

需要记住的事情

    • 写入状态时,将不会同步该状态之前的数据,因此在所有可能的异常都将被抛出之前不要更新状态。
    • 不支持按更新的时间戳过滤或包含更新的时间戳的端点不支持保存状态。
    • 如果API支持按更新的时间戳进行过滤,请使用该过滤进行过滤。如果API不支持过滤但确实返回更新的数据时间戳,
      请在流式传输数据之前按时间戳进行过滤。
    • 当流入数据时,尽可能按升序流式传输数据。
    • 工作可以在任何时候中断。保存的状态永远不应该是无效的。过早保存状态的中断作业将丢失数据。保存状态太晚的中
      断作业将导致复制的重复行增加

      参考资料

      https://github.com/singer-io/getting-started/blob/master/docs/CONFIG_AND_STATE.md

Singer 学习十一 配置以及状态管理的更多相关文章

  1. blfs(systemd版本)学习笔记-配置远程访问和管理lfs系统

    我的邮箱地址:zytrenren@163.com欢迎大家交流学习纠错! 要实现远程管理和配置lfs系统需要配置以下软件包: 前几页章节脚本的配置:https://www.cnblogs.com/ren ...

  2. blfs(systemv版本)学习笔记-配置远程访问和管理lfs系统

    我的邮箱地址:zytrenren@163.com欢迎大家交流学习纠错! 要实现远程管理和配置lfs系统需要配置以下软件包: 前几页章节脚本的配置:https://www.cnblogs.com/ren ...

  3. Hadoop学习17--yarn配置篇-内存管理

    这篇文章来自于:董的博客,记录备查 内存管理,主要是管理nodemanager上的物理内存和虚拟内存. YARN允许用户配置每个节点上可用的物理内存资源,注意,这里是“可用的”,因为一个节点上的内存会 ...

  4. JMeter学习-018-JMeter 配置元件之-HTTP信息头管理器-实现 Cookie 登录

    之前写过一篇通过[HTTP Cookie管理器]实现登录态操作的文章,使用时需要配置每个键值对(如下图所示),相对来讲配置比较繁琐.其实,我们也可通过在[HTTP信息头管理器]添加 Cookie 信息 ...

  5. JMeter学习-012-JMeter 配置元件之-HTTP Cookie管理器-实现 Cookie 登录

    前文我们讲过了若何获取登录后的 Cookie 信息,不知如何获取登录 Cookie 的朋友,敬请参阅我之前写的博文:Fiddler-005-获取 Cookie 信息.参阅上篇文章,获取到 Cookie ...

  6. 前端MVC Vue2学习总结(八)——Vue Router路由、Vuex状态管理、Element-UI

    一.Vue Router路由 二.Vuex状态管理 三.Element-UI Element-UI是饿了么前端团队推出的一款基于Vue.js 2.0 的桌面端UI框架,手机端有对应框架是 Mint U ...

  7. [原创]java WEB学习笔记28: 会话与状态管理Cookie 机制

    本博客为原创:综合 尚硅谷(http://www.atguigu.com)的系统教程(深表感谢)和 网络上的现有资源(博客,文档,图书等),资源的出处我会标明 本博客的目的:①总结自己的学习过程,相当 ...

  8. 前端MVC Vue2学习总结(九)——Vuex状态管理插件

    一.概要 1.1.Vuex定义与注意事项 Vuex是为vue.js框架更好的管理状态而设计一个插件.Vuex 是一个专为 Vue.js 应用程序开发的状态管理模式.它采用集中式存储管理应用的所有组件的 ...

  9. 【Vue】Vue学习(四)-状态管理中心Vuex的简单使用

    一.vuex的简介 Vuex 是一个专为 Vue.js 应用程序开发的状态管理模式.Vuex背后的基本思想,就是前面所说的单向数据流.图4就是Vuex实现单向数据流的示意图.    Store     ...

随机推荐

  1. 异常处理机制中的return关键字

    Java中,执行try-catch-finally语句需要注意: 第一:return语句并不是函数的最终出口,如果有finally语句,这在return之后还会执行finally(return的值会暂 ...

  2. Spring MVC中注解: @ModelAttribute 与@RequestParam区别

    相关链接 : https://blog.csdn.net/huang343/article/details/77491096

  3. IDEA中不同项目配置不同JDK

    安装JDK后,选择其中一个配置环境变量,在IDEA中可以给不同项目选择不同的JDK版本.如下图两个项目:

  4. AntPathMatcher做路径匹配

    转发自: http://www.cnblogs.com/leftthen/p/5212221.html 需要看详细的请看上面的链接 这里以我这里的一个Filter 中需要对路径做例外处理,filter ...

  5. mybatis 异常 There is no getter for property named 'bizId' in 'class java.lang.Long'

    mybatis 异常 There is no getter for property named 'bizId' in 'class java.lang.Long' 当使用mybatis进行传参的时候 ...

  6. spoon 更新数据

    一个小需求,被要求使用spoon 来同步数据 主要流程为: 1.查询A库未同步数据 id 2.根据步骤1查到的id,作为条件更新B库数据 3.更新B库数据成功则更改库A中的数据状态为已同步. 4.添加 ...

  7. phpexcel 的使用

    首先到phpexcel官网上下载最新的phpexcel类,下周解压缩一个classes文件夹,里面包含了PHPExcel.php和PHPExcel的文件夹,这个类文件和文件夹是我们需要的,把class ...

  8. Dubbo/jupiterSPI 扩展引用

    ProviderTenantService providerResourceService = ExtensionLoader.getExtension(ProviderTenantService.c ...

  9. 2--JAVA+Maven+TestNG搭建接口测试框架搭建

    1.配置JDK 2.安装Eclipse以及TestNG Eclipse下载地址:http://beust.com/eclipse TestNG安装过程:输入网址:http://beust.com/ec ...

  10. Centos7 zip unzip 安装和使用

    安装: yum install -y unzip zip: 解压 unzip filename.zip