2017-11-07 9 views
2

HDFSのブロックサイズが128MBの場合、200MBのファイルをHDFSに書き込もうとしています。 200MBのうち150MBを書き込んだ後に書き込みが失敗した場合はどうなりますか?書き込まれたデータの一部からデータを読み取ることはできますか?同じファイルをもう一度書き込もうとするとどうなりますか?それは重複しますか?障害発生前に書かれた150MBのデータはどうなりますか?書き込み中に、それが失敗した場合ブロックサイズより大きなファイルをhdfsに書き込む

+0

ファイルをHDFSにコピーする方法によって異なります。 hdfsシェルコマンドまたはJavaコードを使用していますか? – Max08

+0

これは私が答えを見つけることができなかったインタビューの質問でした。両方のケースについて知ってもいいですか? –

答えて

5

HDFSデフォルトのブロックサイズは、128メガバイトです(ファイル拡張子をコピーして、それはHadoopの管理UIでステータスが表示されます。)

  • のみ150メガバイトのデータがコピーされます。

  • はい、データの一部(150MB)を読み取ることができます。

  • コピーを元に戻すと、前のポイントから(パスが同じで、ファイル名が同じ場合)続きます。

  • すべてのデータについて、レプリケーションファクタに基づいてレプリケーションを見つけることができます。

  • 以前に書かれたデータは、HDFSで利用可能になります。

+0

ありがとうございます.. –

関連する問題