done分区指南

创建done分区

参考MaxCompute分区文档

done分区自动触发回流

  • iGraph支持通过指定.done分区来标示对应分区可以回流

    • .done分区为一个无数据的空分区,只用来提供标识

    • 示例

      • ds=20160528这个分区, 如果您认为这个分区可以回流了,则需要产出对应的done分区: ds=20160528.done,

      • 此时,存在两个分区ds=20160528和ds=20160528.done,数据在ds=20160528中

  • 只支持数字分区,最好以时间命名如ds=20171111

    • 不支持类似于ds=abc这种非数据分区

    • 分区字段长度小于16个字节

    • 不符合规范者不保证回流的正确性

警告

  • .done分区产出间隔过小,不会被触发

  • 同一个.done分区只会被触发一次

  • 空分区不会被触发

  • 小时回流表可以只使用一级分区,直接产出新的done分区即可,比如ds=2017101011.done或ds=2017101012.done

  • 小时回流表若使用多级分区需要注意分区字段顺序,ds字段要在hh字段之前

  • 注意

    1)务必保证.done在分区字符串的末尾,'hh=12.done/ds=20170909’为错误格式:如ds=20110101/hh=11.done

    2)不解析分区内容,不解析具体’ds’,‘dt’,'hh’之类的含义,在探测过程中只对所取分区按照字典序倒序探测

  • 高级用法:如果传递odps分区的时候,想指定odps分区包含的全量数据的时间戳(这个主要用于全量+实时情况下全量切换完毕之后,从哪个时间点开始回追增量数据)[可选],可以将done分区格式定为:ds=20150105.base_timestamp#1505147960.done

    • base_timestamp#1505147960

    • 为回追增量的起始时间戳格式,单位秒

    • ds=20190606/hh=14.base_timestamp#1559802331.done为小时分区的写法

⚠️ 全量+增量表在done分区触发时未指定时间戳默认使用触发时间(检测到done的时间)