先给有条件的结论:如果新对象格式仍然能稳定导出为结构化数据,改输入规范的正确做法是保留原字段名,只调整映射和校验规则;但如果新格式把关键字段拆成自由文本,继续沿用旧映射会让工具把整段文字当作一个值,下一步必须改成“先解析、再映射”。
格式变化指列名、分隔符、层级或编码变了,语义变化指同一个字段表达的意思变了。例如旧输入里 source 只表示来源渠道,新输入里同一列混合了渠道和活动名称,这就是语义变化。格式变化可以通过更新映射表解决,语义变化需要先决定是否拆列。判断依据是:同一字段在旧规范和新规范下,能否用同一套校验规则通过。能通过,只改映射;不能通过,先改解析。
一种与直觉相反的结果是:新输入规范上线后,工具处理的对象数量下降,但后续转化或有效线索比例上升。常见解释有三种:一是新格式过滤掉了不符合条件的对象;二是解析失败导致部分对象被跳过;三是校验规则变严,把原本混入的脏数据拦下了。要区分它们,可以抽样检查被跳过对象的原始记录,看失败原因是缺字段、类型不符,还是业务条件不满足。如果失败集中在缺字段,说明映射没跟上;如果失败集中在类型不符,说明校验规则需要放宽或增加转换步骤。
不要直接修改工具里的旧映射,而是先建一份对照表,至少包含四列:旧字段名、新字段名、是否必填、转换动作。转换动作可以写“直接映射”“截取前N位”“按分隔符拆分”“留空待补”。对于无法自动转换的字段,先标记为待确认,不要用默认值填充。默认值会把缺失伪装成正常,后续很难回溯。假设一个场景:旧输入用 region=华东,新输入用 area=华东-上海,如果直接映射到 region,工具可能把“华东-上海”整体当作地区值。此时应增加拆分动作,再决定是否保留城市层级。这个例子只用于说明比较方法,不代表任何具体工具的处理结果。
改完映射后,取一批同时存在于新旧格式中的对象,分别跑一遍,对比三个结果:成功处理数、字段完整率、异常记录列表。如果成功处理数下降但字段完整率上升,说明新规范更严格,需要确认严格是否符合业务目标;如果两者都下降,优先检查解析步骤。验证通过后,再把新规范应用到全量输入。若验证不通过,回退到对照表修改映射,而不是直接恢复旧格式。
反例是:新对象格式不再提供稳定字段,而是完全依赖自然语言描述,且工具本身不支持自定义解析。此时改输入规范的重点不是映射,而是先在外部把描述转成结构化字段,再导入工具。如果外部解析成本高于重新选择输入格式,就应该推动上游恢复结构化导出,而不是继续在工具里打补丁。下一步动作是:列出所有必填字段,确认上游能否按固定格式提供;不能提供的字段,明确由谁在导入前补齐。