我在查看可以将文件写入HDFS的Java程序中的选项,并满足以下要求。以编程方式将文件写入HDFS
1)事务处理支持:每个文件在写入时,完全写入成功或失败,完全没有写入任何部分文件块。
2)压缩支持/文件格式:可以在编写内容时指定压缩类型或文件格式。
我知道如何通过打开显示为here的FSDataOutputStream
将数据写入HDFS上的文件。想知道是否有一些开箱即用的解决方案库提供了我在上面提到的支持。
我偶然发现了Flume,它提供了可以支持事务,压缩,文件旋转等的HDFS接收器。但它似乎没有提供用作库的API。 Flume提供的功能与Flume架构组件(如源,通道和接收器)高度耦合,似乎不能独立使用。我只需要在HDFS加载部分。
有没有人有一些很好的建议?