【问题标题】:Kafka connect size based rollover with time based rollover on individual partitionsKafka 连接基于大小的翻转和基于时间的单个分区的翻转
【发布时间】:2020-05-23 01:24:46
【问题描述】:

我正在使用 Kafka 连接将文件接收到 HDFS,Kafka 连接具有 TopicPartitionWriter,它可以按时翻转到所有分区,并且没有基于大小的翻转。

我想针对每个分区进行基于大小和时间的翻转,因为通过每个分区的数据不统一,文件大小也相似。

2 个问题: 1. 如果我尝试通过更改 Kafka connect 中的大量代码来做到这一点,那会失去原始设计吗? 2.我的用例有什么做的吗?

【问题讨论】:

    标签: apache-kafka hdfs apache-kafka-connect confluent-platform


    【解决方案1】:

    TopicPartitionWriter 会按时翻转到所有分区,并且没有基于大小的翻转

    flush.size 仍然(并且一直)被使用。

    如果我尝试通过更改 Kafka 连接中的大量代码来做到这一点,那将失去原始设计

    没有?只要数据从 Kafka 传输到某个外部系统,这就是 Connect Sink API 提供的唯一合约

    为我的用例做了什么吗?

    扫描 Github repo 的 issue 和 PRs

    【讨论】:

    • flush.size 控制记录数,但如果不是所有消息都具有相同的字节,那么我将在 hfs 中以不同大小的文件结束
    • 正确。没有办法解决这个问题,AFAIK。只要文件大于 HDFS 块大小,这有关系吗?
    • 我在追加模式下使用了序列文件,并根据临时文件大小进行了刷新github.com/confluentinc/kafka-connect-hdfs/compare/…
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2022-08-04
    • 1970-01-01
    • 1970-01-01
    • 2011-09-19
    • 2019-08-11
    • 1970-01-01
    相关资源
    最近更新 更多