2017-04-07 19 views
0

私はKafka ConnectやSecorのようなサービスを使用して、ParquetファイルをS3に保存しています。私はHDFSやHadoopに慣れていませんが、これらのサービスは通常、s3にバルク書込みを行う前に一時ファイルをローカルメモリまたはディスクに書き込むように見えます。 s3n/s3aファイルシステムは、HDFS形式のファイルシステムをローカルで仮想化し、設定された間隔でプッシュするか、s3n/s3aへの書き込みとs3への書き込みとの間に1対1の対応がありますか?s3n/s3aはどのようにファイルを管理しますか?

ここで正しい質問をしているかどうかは完全にわかりません。どんな指導も高く評価されます。

答えて

1

S3A/S3Nは、リモートオブジェクトストアに対してHadoop FileSystem APIを実装するだけで、名前を変更して削除できるディレクトリを持つことができます。

出力ストリームがclose()になるまで、ローカルディスクに書き込んだすべてのデータを保存しています。その時点でアップロードが行われます(遅くなる可能性があります)。つまり、作成する予定の最大のオブジェクトと同じくらいの一時的な領域が必要です。

Hadoop 2.8には、ファイルが5 MBブロックでアップロードされる高速アップロードストリームがあり、最後にclose()がオブジェクトストアに表示されます。これは、単一のストリームで大量のデータを生成するときに、かなり高速です。これはまた、大量のディスクスペースを必要としないようにします。

関連する問題