Kafka HDFS Connect中+ tmp的目的

时间:2019-01-31 04:53:34

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

我打算使用卡夫卡HDFS连接用于从移动卡夫卡消息HDFS。在查看时,我看到有诸如刷新大小和旋转间隔Ms之类的参数,您可以使用这些参数在堆中批处理消息并立即写入批处理。 是先将批次写入Wal,然后写入上述位置。我也看到它创建了一个+ tmp目录。 + tmp directory的目的是什么?我们可以直接将整个批处理文件写入具有偏移范围的指定位置。

1 个答案:

答案 0 :(得分:0)

当Kafka使用者写入HDFS时,它将首先写入WAL。 +tmp dir包含所有临时文件,这些文件一起压缩成更大的HDFS文件。然后将其移动到实际定义的位置。

实际上,您可以参考实际的实现以深入了解。

https://github.com/confluentinc/kafka-connect-hdfs/blob/121a69133bc2c136b6aa9d08b23a0799a4cd8799/src/main/java/io/confluent/connect/hdfs/TopicPartitionWriter.java#L611