Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/amazon-s3/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Amazon s3 卡夫卡S3连接:基于挂钟的定时旋转不';我好像不写信_Amazon S3_Apache Kafka_Apache Kafka Connect_Confluent Platform - Fatal编程技术网

Amazon s3 卡夫卡S3连接:基于挂钟的定时旋转不';我好像不写信

Amazon s3 卡夫卡S3连接:基于挂钟的定时旋转不';我好像不写信,amazon-s3,apache-kafka,apache-kafka-connect,confluent-platform,Amazon S3,Apache Kafka,Apache Kafka Connect,Confluent Platform,我们正在使用Confluent的卡夫卡,版本5.2.1。在分布式工作程序设置中使用一个节点运行 根据我们应该能够设置刷新到S3的大小以及基于时间的间隔 我们正在使用以下刷新设置 { "rotate.interval.ms": 300000, // 5 minutes "flush.size": 1000, "timestamp.extractor": "Wallclock" // default ... (other settings) } 但是我没有看到任何数据被写在一个主

我们正在使用Confluent的卡夫卡,版本5.2.1。在分布式工作程序设置中使用一个节点运行

根据我们应该能够设置刷新到S3的大小以及基于时间的间隔

我们正在使用以下刷新设置

{ 
  "rotate.interval.ms": 300000, // 5 minutes
  "flush.size": 1000,
  "timestamp.extractor": "Wallclock" // default
  ... (other settings)
}
但是我没有看到任何数据被写在一个主题中,这个主题包含少于1000条消息,但是有可用的数据

但是,当我将设置更改为较小的冲洗尺寸并删除旋转间隔时:

{ 
  "flush.size": 5, // some small amount
  "timestamp.extractor": "Wallclock", // default
  ... (other settings)
}
在所有其他设置相同的情况下,我可以立即看到s3存储桶中的数据

我没有更改任何其他设置,因此我非常确信s3可以连接,并且我看到任务工作人员正在部署


我遗漏了什么吗?

如果您希望每5分钟一次,您应该更喜欢
rotate.schedule.interval.ms
,它强制连接到在此间隔内的转储文件

此配置确保每个配置的时间间隔调用文件提交。。。提交将在计划的时间执行,而不考虑以前的提交时间或消息数

rotate.interval.ms
将对照批处理中第一条消耗的记录检查记录时间戳

时间间隔是通过使用时间戳提取器确定的

如果记录少于刷新大小,则整个批处理将在内存中等待,直到新记录的时间戳差异大于第一次看到的记录


flush.size
在我上次查看源代码时写入文件时,总是优先于所有其他时间设置

谢谢你的回答。为了确保我理解了
rotate.interval.ms
:如果我们有一个主题有N个
flush.size
记录,并且它是非活动的(没有新记录),我们可能永远不会只使用定义的
rotate.interval.ms
,因为不会有新的记录来确定旋转所需的时间戳差异?这是我对属性的理解,是的。请使用帖子旁边的复选标记接受答案