有 Java 编程相关的问题?

你可以在下面搜索框中键入要查询的问题!

java在writer仍在HDFS上打开时获取文件大小

我正在调查临时工的文件大小。从卡夫卡主题在HDFS上写入的avro文件,但org.apache.hadoop.fs.FileStatus在写入程序仍处于打开和写入状态时,会继续返回0字节(.getLen()

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

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


共 (1) 个答案

  1. # 1 楼答案

    最后,我扩展了AvroRecordWriterProvider中使用的RecordWriter,并在FSDataOutputStream周围添加了一个包装器,以轮询TopicPartitionWriter中的当前大小

    法律部澄清后,我将把代码推到一个分叉点,并提供一个链接给所有感兴趣的人