You need to enable JavaScript to run this app.
导航

数据同步

最近更新时间2023.10.20 10:55:58

首次发布时间2021.06.08 18:58:58

同步阶段说明

数据同步环节包含三个阶段:测试数据接入、历史数据接入、增量数据接入

测试数据

正式数据接入前,通过少量测试数据对齐数据质量及各类校验阈值,强烈建议在测试数据阶段解决完大部分数据问题,再开始接入正式数据,减少修复数据的成本。一般建议同步1-2个星期数据即可。

历史数据

正式数据接入,基于已确认的阈值对历史数据进行校验。通常需要同步几个月甚至半年、一年的原始数据至平台。可同步的时间越长,效果往往会越好。数据校验不通过时,用户可选择重新同步数据,也可以继续调整阈值配置,直到对齐数据质量,输出符合预期的历史数据校验报告。

增量数据

传入后续新数据,可选择增量天级或增量实时。增量数据更新方式选择如下:

  • 实时更新:为保证推荐结果的实时性,建议优先选择实时更新。更新方式为实时更新的数据,也会dump成天级数据,供特征工程批式任务使用。
  • 天级更新:无法做到实时更新或者对实时性要求不高的数据,可选择天级更新。

注意

先接入增量天级数据后,还可再接入增量实时数据;但接入增量实时数据后,暂不支持再接入增量天级数据。

同步流程

平台限制必须要按照阶段同步和校验数据,即按照以下流程完成数据接入的整个流程。

同步测试数据-->校验测试数据-->同步历史数据-->校验历史数据-->同步增量数据-->校验增量数据

同步配置

每个阶段数据接入时,在同步列表点击“开始接入”,即可开始配置各个表的同步时间范围和同步方式。
图片
图片
同步配置说明:

  • 同步方式:默认为API同步,其他同步方式待拓展。
  • 时间范围:测试和历史数据选择一段固定时间,增量数据选择开始时间即可(增量实时接入开始时间默认为当天);注意行为表数据时间区间应覆盖用户表和商品表的时间区间。
  • 同步说明:
    • 行为表:需要每天同步当天数据。
    • 用户表和商品表:在接入历史数据第一天同步全量数据,之后每天增量同步即可,即只需要同步必传字段+新增或有更新的数据及字段即可,无更新的字段无需同步。例如item_id=23456的物品,只有tags发生了变化,那么只需要同步item_id(必传字段), status(必传字段)和tags(更新字段)即可。 平台会每天合并前一天的数据,生成一份全量的用户表和商品表,并基于此进行校验。

      注意

      • 不管是批式传输或流式传输,字段值传 null 时将不会被更新,即使用原值。
      • 若需要将原值更新为空,可传输空字符串。
    • 接入增量实时数据时,若当前表更新频率比较低,可开启断流自动跳过;开启后,该数据表实时数据出现断流时,第二天零点将执行自动跳过。

图片

同步数据

配置完毕后,进入数据同步记录列表管理页,接入时间范围内数据的同步状态均为“待同步”。您需要按照数据同步接口进行数据传输,传输状态将会在同步列表中展示。

  • 天级数据(测试+历史+增量天级):调用write接口开始传输数据后,同步状态将变为“同步中”,数据传输完成调用done接口后,平台将会开启数据归档,等待5~10分钟后同步状态将变为“同步完成”。
  • 实时数据(增量实时):调用write接口开始传输数据后,同步状态将变为“同步中”,无需调用done接口,第二天同步状态将变为“同步完成”。
    图片

若数据归档失败,或者实时数据阶段没有传输数据,同步状态会变为“同步失败”或“同步异常”,详细的数据同步状态说明如下:

状态

状态说明

待同步

还未开始通过接口同步数据。

同步中

未接收到数据传输完成信息。

同步完成

数据接收且落表完成。

同步失败

接收到数据传输完成信息,但平台未检测到有效数据,可能的情况:

  • 没有传输数据
  • 传输的数据都不合法、被API拒绝了
  • 传输了合法数据,但平台归档异常了

同步失败状态下,建议在页面操作重新同步,并通过接口重新传输数据。

同步异常(断流)

当前接入的数据表出现实时数据断流,状态为同步异常;断流时平台会自动跳过该天数据,不阻塞样本生成和模型训练。

已跳过

手动操作数据跳过,详见【特殊操作-数据跳过】。

特殊操作

重新同步

当发现数据同步存在误传、漏传,或校验报告显示数据存在需要修复的质量问题时,可点击同步列表操作中的「重新同步」,平台将清除旧数据,同时同步状态将变更为“旧数据清理中”,清理完成后状态会变更为“待同步”,您只需要将更新后的数据再次通过API同步即可。
图片

注意

  • “旧数据清理中”状态下同步的数据将会被拒绝,请等到状态变更为“待同步”后再开始同步。
  • 重新同步数据后,因归因周期限制,重新同步的起始时间之后的报告均需要重新生成,建议您尽可能将报告中发现的问题一次性修复后重新同步,避免频繁操作带来额外的成本。
  • 测试数据、历史数据阶段在校验报告确认前均支持重新同步;增量数据阶段,均可重新同步,注意重新同步数据后特征工程的相关任务需要手动重跑。

数据跳过

跳过数据通常用于以下两种场景:

  • 增量数据(天级或实时)与历史数据之间缺失的数据:离线数据存在一部分缺失,需要跳过。
  • 增量天级数据接入中的时间:增量数据存在部分缺失无法提供,或部分数据质量较差,不想作为样本输入训练任务。
    图片
    此外,测试/历史数据中行为表和用户/物品表传输日期不一致的情况(如用户&物品表时间范围为1.10,行为表时间范围为1.1-1.10),系统默认会对1.1-1.9的用户/物品表执行跳过操作。

跳过数据对下游的影响如下:

  • 跳过用户/物品表:对应hive表分区链接到上一个有数分区,对下游无影响。
  • 跳过行为表:对应hive表分区为空,且跳过数据的时间将不会产出样本。

注意

跳过数据无法补传,请谨慎操作。

数据补传

补传数据通常用于以下场景:接入增量数据(天级或实时)时,起始时间与历史数据之间存在缺失。

注意

  • 补传的数据传输stage统一使用incremental_sync_daily
  • 当增量数据与历史数据时间存在时间缺失时,必须处理完缺失(跳过或补传),后续的数据才可正常生成报告和样本,否则平台会认为数据不连续,一直等待数据同步完整。

调整同步时间

若当前配置的同步时间需要调整(如时间选错了,或者需要往前/往后补充数据)时,可通过【同步设置】-【修改信息】调整。
图片

  • 当前仅在接入测试数据&历史数据时支持调整同步时间。
  • 不支持调整的情况:用户表&物品表的起始时间往前调整(会带来较高的回溯成本)。

说明

修改同步时间,已生成的报告会重新生成;调整后的时间范围之外的数据和报告将被清空。建议不要频繁调整。

调整增量数据更新方式

若当前已接入到增量数据阶段,需要变更某张表的更新方式,可通过【同步设置】-【修改信息】调整,支持的变更情况如下:

  • 增量阶段没有接入有效数据:即所有业务日期、所有表的数据同步状态均为“待同步”时,三张表的更新方式均支持自由修改。
  • 增量阶段已经接入有效数据:即任一天、任一表存在数据同步状态不为“待同步” 时,更新方式的变更存在一些前置条件,如下:
    • 天级更新:支持变更为实时更新,或增加实时更新;前置条件是接入前的数据都校验通过、或者状态为”已跳过”。
    • 实时更新:不支持变更更新方式,实时数据断流或数据存在异常问题,可通过天级补传或重传。
    • 天级+实时更新:支持停止天级数据更新,即仅保留实时更新。平台将判断该表数据更新到了哪一天(依据同步状态为“同步完成” 或“已跳过”),该天之后的数据不会再生成天级同步记录,且不可恢复同步;另外,当操作的表为行为表时,之后的批式样本将会由实时数据生成。
      图片