自动采集推送( KAFKA统一数据推送接口(一)校验处理处理逻辑)

优采云 发布时间: 2022-01-13 02:24

  自动采集推送(

KAFKA统一数据推送接口(一)校验处理处理逻辑)

  

  (一)KAFKA统一数据推送接口

  1)非空检查

  处理逻辑:除了标题为空的数据直接存储在异常的MySQL数据库中,其他类型的数据直接流向数据质量验证步骤进行分析;

  2)数据质量检查

  主要是根据各个字段设置的校验规则,对各个字段进行相应的校验处理。

  3)次行再处理:

  由于 Bloom Filter 中的元素只能添加,不能删除。另外,由于数据量大(每天5000W左右),时间长了会消耗大量的内存资源,投资也很大。

  同时,重新加载库中的历史记录也不必全部保留,例如只保留最近半年或一年的记录,如何自动清除历史记录成为新问题.

  因此,我最终决定使用 Redis 的 XX 类型数据,利用 Redis 自身的特性,为主键设置一个自动过期时间,以降低运维的难度和成本。

  4)数据清洗

  目前主要是清除异常的网站和特殊的关键词

  处理对象:【正常】数据

  5)数据校正处理:

  由于舆情系统对数据的时效性要求很高,为了保证数据覆盖率,减少人工补录带来的工作量,需要对发现的异常数据进行二次处理,然后推送到kafka。

  处理对象:【异常】数据

  uTitle 更正

  根据数据质量验证中的五项规则,对数据进行两次清洗,然后推送到流程的下一步。如果标题为空,则直接丢弃。

  u内容修正

  内容校正主要有两种类型:空和非空。它们各自的处理逻辑如下:

  1)内容为空

  此时执行以下操作:

  ①使用URL调用body获取接口进行二次获取;

  ②如果还是空的话,用标题作为内容推送,但是要标记,这样kafka分发的时候就不会向APP客户端发送信息,提升用户体验;

  2)内容不为空

  此时主要根据数据质量验证中的检测结果进行二次清洗。主要包括:删除html内容、清除特殊关键词、乱码等。

  u发布时间修正

  主要是根据非空规则和质量规则,根据发布时间的验证结果进行相应的修正。喜欢:

  ①如果为空则用采集时间填充

  ②如果大于采集的时间,则填入采集的时间;

  ③如果格式不符合要求,规范为“yyyy-MM-dd hh:mm:ss”格式等。

  uURL修正1)临时参数修正

  这在搜索 采集 时很常见。一般情况下,每条链接后面都加一个时间戳参数,每次搜索改变一次,导致大量数据重复。

0 个评论

要回复文章请先登录注册


官方客服QQ群

微信人工客服

QQ人工客服


线