不能直接拼。删除百度快照这类历史数据,往往只留下“某天快照存在或消失”的记录,而新数据可能记的是抓取时间、状态码或页面标题,两者没有共同字段时,强行按时间轴连线,得到的不是趋势,而是把两种口径叠在一起的折线。更稳妥的做法是先找一个可对齐的中间量,再决定要不要合并。
假设有这样一个情境:你手里有一份旧记录,字段是“日期、快照是否可见、快照标题”;新记录字段是“抓取时间、HTTP状态、页面摘要长度”。表面看没有一列能直接对应,但“日期”和“抓取时间”可以归一到同一天,“快照是否可见”和“HTTP状态”也能在部分条件下建立映射。真正没有共同字段的情况,是连时间粒度、对象标识和状态含义都无法对齐。
可以用下面三个问题做判断:
只要有一项无法对齐,就应该先停止拼接,改为分别描述,而不是用一条趋势线掩盖口径差异。
如果确实想观察变化,可以引入一个两边都能计算的中间量。比如都以“同一批URL在当天可访问的比例”作为指标:旧记录里“快照可见”的URL数量除以当天检查的URL总数,新记录里“HTTP状态为200”的URL数量除以同一批URL总数。这个中间量不要求原始字段相同,但要求URL集合和统计日一致。
这里有一个实际动作:先固定一份URL清单,再分别回填旧记录和新记录。做完这一步,你会得到一张按日期排列的比例表。它的结果会直接影响下一步——如果比例在两端差异很大,先检查URL清单是否中途换过,而不是急着解释为趋势反转;如果比例接近,才适合把两段数据放在同一张图上观察。
出现与直觉相反的结果时,常见的解释不止一种。删除百度快照相关的历史记录减少,可能是页面确实发生了变化,也可能是检查频率下降、记录工具更换、URL清单调整,或者旧记录本身只覆盖了部分页面。要区分这些解释,可以对照以下证据:
这些现象只能说明数据口径可能变了,不能单独证明某个处理动作正确。把缺失值、清单变化和检查频率并列写进备注,比只画一条线更接近可核查的结论。
假设某站点在旧记录中只有“月份、快照可见页面数”,在新记录中只有“日期、抓取成功页面数”,且两者URL清单不同。第一步,先把新记录按月份汇总,得到“月份、抓取成功页面数”。第二步,检查两个月度值是否基于同一批URL;如果不是,就不合并,只并排展示两列,并在图注中写明口径。第三步,如果决定继续观察,就重新固定一份URL清单,从下个月开始同时记录“快照可见”和“抓取成功”两个字段,让后续数据具备共同字段。
这个假设例的关键不是得到某条曲线,而是明确一个动作:统一URL清单和统计粒度。做完之后,下一轮数据才有资格谈趋势;没做之前,拼接只是把两种历史概念混在一起。
可以拼的条件比较窄:对象相同、时间粒度相同、状态含义可定义成同一指标,并且缺失值有明确处理规则。只能并列的情况更常见:旧数据来自百度快照的历史记录,新数据来自当前抓取日志,字段不同、频率不同、URL集合也可能不同。此时更合理的输出是两张分开的图,或一张图里用不同颜色和不同坐标轴标注,而不是连成一条线。
如果最终目的是判断某个页面是否仍可访问,直接用当前可核对的页面状态更可靠;如果目的是观察历史变化,就保留原始记录和口径说明。删除百度快照相关旧数据能否与新数据拼成趋势,答案取决于你能否先造出一个共同字段;造不出来,就不要拼。