我正在尝试轮询temp的文件大小。从Kafka主题写入HDFS的avro文件,但org.apache.hadoop.fs.FileStatus
保持返回0字节(.getLen()
),而作者仍然是开放和写作。
我可以在编写器端保留一个长度计数器,但是内部数据被转换为二进制格式(avro),其长度与原始记录不同。它可以近似,但我正在寻找更精确的解决方案。
有没有办法从hdfs(io.confluent.connect.hdfs.storage.HdfsStorage
)透视图或文件编写器(io.confluent.connect.storage.format.RecordWriter
)角度获取仍然打开的hdfs文件的大小?
最后,我扩展了RecordWriter
中使用的AvroRecordWriterProvider
,并在FSDataOutputStream
周围包含一个包装,以便在TopicPartitionWriter
中查看当前大小
法律解除后,我会将代码推送到一个分支,并提供所有感兴趣的人的链接。