猿问

在 HDFS 上仍然打开写入器时获取文件大小

我正在尝试轮询临时文件的大小。avro 文件从 Kafka 主题写入 HDFS,但org.apache.hadoop.fs.FileStatus一直返回 0 字节 ( .getLen()),而写入器仍处于打开和写入状态。

我可以在写入端保留一个长度计数器,但在深处数据被转换为与原始记录长度不同的二进制格式 (avro)。它可以近似,但我正在寻找更精确的解决方案。

有没有办法从 hdfs ( io.confluent.connect.hdfs.storage.HdfsStorage) 角度或文件编写器 ( ) 角度获取仍然打开的 hdfs 文件的大小io.confluent.connect.storage.format.RecordWriter


慕娘9325324
浏览 110回答 1
1回答

江户川乱折腾

最后,我延长了RecordWriter在所使用的AvroRecordWriterProvider并且包括围绕所述的包装FSDataOutputStream,以轮询为在当前的尺寸TopicPartitionWriter在法律清除后,我会将代码推送到一个分支,并为所有感兴趣的人提供链接。
随时随地看视频慕课网APP

相关分类

Java
我要回答