我正在尝试轮询临时文件的大小。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?
1 回答
江户川乱折腾
TA贡献1851条经验 获得超5个赞
最后,我延长了RecordWriter
在所使用的AvroRecordWriterProvider
并且包括围绕所述的包装FSDataOutputStream
,以轮询为在当前的尺寸TopicPartitionWriter
在法律清除后,我会将代码推送到一个分支,并为所有感兴趣的人提供链接。
添加回答
举报
0/150
提交
取消