Kafka将数据持久化到了硬盘上,允许你配置一定的策略对数据清理,清理的策略有两个,删除和压缩。

数据清理的方式

删除

log.cleanup.policy=delete启用删除策略

直接删除,删除后的消息不可恢复。可配置以下两个策略:

清理超过指定时间清理:

log.retention.hours=16

超过指定大小后,删除旧的消息:

log.retention.bytes=1073741824

为了避免在删除时阻塞读操作,采用了copy-on-write形式的实现,删除操作进行时,读取操作的二分查找功能实际是在一个静态的快照副本上进行的,这类似于Java的CopyOnWriteArrayList。

压缩

将数据压缩,只保留每个key最后一个版本的数据。

首先在broker的配置中设置log.cleaner.enable=true启用cleaner,这个默认是关闭的。

在topic的配置中设置log.cleanup.policy=compact启用压缩策略。

压缩策略的细节

如上图,在整个数据流中,每个Key都有可能出现多次,压缩时将根据Key将消息聚合,只保留最后一次出现时的数据。这样,无论什么时候消费消息,都能拿到每个Key的最新版本的数据。

压缩后的offset可能是不连续的,比如上图中没有5和7,因为这些offset的消息被merge了,当从这些offset消费消息时,将会拿到比这个offset大的offset对应的消息,比如,当试图获取offset为5的消息时,实际上会拿到offset为6的消息,并从这个位置开始消费。

这种策略只适合特俗场景,比如消息的key是用户ID,消息体是用户的资料,通过这种压缩策略,整个消息集里就保存了所有用户最新的资料。

压缩策略支持删除,当某个Key的最新版本的消息没有内容时,这个Key将被删除,这也符合以上逻辑。

例子:

log.cleaner.enable=true

log.cleaner.delete.retention.ms=4day

log.retention.hours=72

log.retention.bytes=419430400

log.segment.bytes=1073741824

log.retention.check.interval.ms=300000

Kafka 的详细介绍:请点这里

Kafka 的下载地址:请点这里

清理offset_kafka数据清理相关推荐

  1. 数据分析 数据清理_数据清理| 数据科学

    数据分析 数据清理 数据清理 (Data Cleaning) Data cleaning is the way toward altering information to guarantee tha ...

  2. python的数据清理_Python数据清理,清洗

    一.数据清洗与准备 1.缺失值 NaN(np.nan): 对数值型数据,浮点值NaN(not a number) NA(not available) None 均为缺失值,通过data.isnull( ...

  3. 数据挖掘-数据清理过程

    数据清理-数据清理过程 数据清理过程的第一步是偏差检测(discrepancy detection). 导致偏差的因素有很多,包括: 具有很多可选字段的设计糟糕的输入表单 人为的数据输入错误 有意的错 ...

  4. 数据挖掘-数据清理-缺失值

    数据清理-缺失值 数据清理例程试图填充缺失的值.光滑噪声并识别离群点.纠正数据中的不一致. 缺失值 在处理数据时,会发现很多元组的一些属性没有记录值.可使用以下方法补充. (1) 忽略元组:当缺少类标 ...

  5. azure机器学习_Azure机器学习中的数据清理

    azure机器学习 介绍 (Introduction) After discussing the basic features of Azure Machine Learning in my prev ...

  6. 数据导入与预处理-第5章-数据清理

    数据导入与预处理-第5章-数据清理 1. 数据清理概述 1.1 数据清理概述 1.2 什么是缺失值 1.3 什么是重复值 1.4 什么是异常值 2. 数据清理案例 2.1 缺失值处理 2.1.1 缺失 ...

  7. Python数据清理终极指南(2020版)

    作者 | Lianne & Justin 译者 | 陆离 出品 | AI科技大本营(ID:rgznai100) 一般来说,我们在拟合一个机器学习模型或是统计模型之前,总是要进行数据清理的工作. ...

  8. 独家 | 用于数据清理的顶级R包(附资源)

    作者:Anna Kayfitz,CEO of StrategicDB Corp 翻译:顾宇华 校对:杨光 本文约1700字,建议阅读5分钟. 确保数据干净整洁应该始终是数据科学工作流程中首要也是最重要 ...

  9. 臭名昭著的数据清理和准备问题,如何利用AI完美解决?

    2020-03-18 17:01:00 全文共3299字,预计学习时长10分钟 来源:Pexels 人工智能和深度学习在处理非结构化数据方面表现突出,从自然语言理解和自动知识库构建到图像和视频的分类和 ...

  10. pandas中drop用法_python进行数据清理之pandas中的drop用法

    好久好久没有更新博客了,之前自学的估计也都忘记差不多了.由于毕业选择从事的行业与自己的兴趣爱好完全两条路,心情也难过了很久,既然入职了就要好好干,仍要保持自己的兴趣,利用业余时间重拾之前的乐趣. 从基 ...

最新文章

  1. Gradle安装使用以及基本操作
  2. hdu1693Eat the Trees(插头dp)
  3. 汇总500个excel
  4. python手机版编程-可以使用手机编程实现python吗
  5. 【鸿蒙 HarmonyOS】Ability 简介 ( 简介 | 创建应用 | Page Ability 生命周期 )
  6. 计算机达人成长之路(3)连载
  7. 记录一次quartus II prime standard 18添加器件库的方法
  8. SLAM知识[7]:依赖项和安装
  9. 送书 | 经典框架Kaldi配套的语音识别实战
  10. JDK10的新特性:var泛型和多个接口实现
  11. C#异步批量下载文件
  12. excel 多列匹配相等后 引用值
  13. bigdecimal 平均数_MapReduce实例-必须用Combine--求平均数
  14. Oracle-一个中文汉字占几个字节?
  15. linux ssh连接交换机_访问SMB交换机CLI使用SSH或远程登录
  16. [2018.04.29 T3] 矩阵
  17. JavaScript 3D 散点图
  18. Oracle cmd sqlplus 命令
  19. linux svc作用,[svc]linux性能监控
  20. MAC表、ARP缓存表、路由表以及端口映射NAT

热门文章

  1. origin导出矢量图再编辑
  2. Cisco CCNP课程
  3. 迅雷漫画下载工具II beta3 v1.2.3.204
  4. c语言工程师专业分析,一个资深c语言工程师说如何学习c语言.pdf
  5. 使用H-lua框架制作魔兽争霸地图(8-物编-物品绑定技能篇1)
  6. 华为通用软件工程师面经
  7. DSA数字签名原理及JAVA实现
  8. Unity-汽车仿真-1.车库UI菜单滑动功能(利用iTween)
  9. iTween使用小坑
  10. lcx 通过端口转发实现内网穿透