【问题标题】:Tuning S3 file sizes for Kafka为 Kafka 调整 S3 文件大小
【发布时间】:2020-03-05 11:45:12
【问题描述】:

我试图深入了解 S3 连接器的 flush.sizerotate.interval.ms 配置。我部署了 S3 连接器,文件大小似乎从 6 kb 一直到 30 mb 不等,想知道这里是否有人可以帮助我就如何获得几乎相等的文件大小提出建议。

这是我的设置:flush.size= 200000rotate.interval.ms=10min

我们也尝试根据这个 git https://github.com/canelmas/kafka-connect-field-and-time-partitioner 中的示例滚动我们自己的连接器,但我们仍然无法使文件大小大致相同。

【问题讨论】:

    标签: amazon-s3 apache-kafka apache-kafka-connect confluent-platform


    【解决方案1】:

    S3 Sink 连接器将数据写入每个 Kafka 分区的分区路径和 partitione.class 定义的分区路径。

    基本上,S3 连接器将缓冲​​区刷新到以下条件。

    1. rotate.schedule.interval.ms:如果这个时间已经过去了
    2. rotate.interval.ms:时间已经过去,以 timestamp.extractor 时间表示

    注意:这个有用的明确积压数据让我们假设 rotate.interval.ms 我们有 6 小时的延迟数据,所以每个时间戳都通过了 10 相反,如果数据没有,分钟刷新将在几秒钟内延迟 流动它会等待接收下一个 rotate.interval.ms 传递

    1. flush.size:让我们假设数据流非常高,如果消息在第 1 点和第 2 点之前到达 flush.size,那么 flush 将触发。同时,如果数据大小流低,则刷新将根据第 1 点和第 2 点触发

    如果是基于时间的分区器

    1. partition.duration.ms:定义在单个编码分区目录中刷新到 s3 的最长时间。

    【讨论】:

    • 如果您使用的是基于时间的分区器,则还有用于刷新文件的分区间隔窗口
    猜你喜欢
    • 2012-10-19
    • 1970-01-01
    • 2018-06-27
    • 2017-02-02
    • 1970-01-01
    • 2014-03-23
    • 1970-01-01
    • 2011-08-20
    • 1970-01-01
    相关资源
    最近更新 更多