我正在使用Kafka Connect平台的雪花连接器从Kafka流到雪花。我想了解如何调优连接器的参数以获得最佳吞吐量。关于Kafka和Kafka Connect设置的建议也很受欢迎,尽管我的主要兴趣是理解连接器参数。
我的主题大小从<1GB到100gb。目前,每个主题只有一个分区,并且主题使用RoundRobin分区器分布在30个连接器任务中。我们所有主题的最大消息大小配置为3MB,我们使用的是lz4压缩的AVRO。
我们最大的主题之一有大约70亿个事件,并且只以大约2000个事件/秒的速度转移到雪花上。我认为增加分区数量是我的主要手段,但我也怀疑2000个事件/秒比改变配置参数所能达到的速度要低。
我认为应该调优的参数有:
buffer.count.records
-默认10000个事件buffer.flush.time
-默认120秒buffer.size.bytes
-默认5MB
当前我们使用默认值
关于如何使用这些参数或其他参数来提高我们的吞吐量,有什么建议吗?我不能从Kafka连接器的经验来判断,但是Snowflake更喜欢文件的大小在10 - 100 MB之间,所以我希望比默认值更大的文件会更好,并且尝试更大的仓库。