次の要件で HDFS にファイルを書き込むことができる Java プログラムのオプションを検討しています。
1) トランザクション サポート: 各ファイルは、書き込み時に、完全に正常に書き込まれたか、部分的なファイル ブロックが書き込まれずに完全に失敗しました。
2) 圧縮のサポート/ファイル形式: コンテンツを書き込むときに、圧縮の種類またはファイル形式を指定できます。
ここFSDataOutputStream
に示すを開いて、HDFS 上のファイルにデータを書き込む方法を知っています。上記のサポートを提供するすぐに使用できるソリューションのライブラリがいくつかあるかどうか疑問に思っています。
トランザクション、圧縮、ファイル ローテーションなどをサポートできる HDFS シンクを提供する Flume に出くわしました。しかし、ライブラリとして使用する API を提供していないようです。Flume が提供する機能は、ソース、チャネル、シンクなどの Flume アーキテクチャ コンポーネントと高度に結合されており、単独では使用できないようです。必要なのは、HDFS の読み込み部分だけです。
誰か良い提案はありますか?