アプリケーションに合わせて HDFS のデフォルトのブロック配置戦略を変更したいと考えています。
たとえば、file1(128MB) と file2(128MB) という 2 つのファイルがあります。ブロック サイズが 64MB の場合、各ファイルは 2 つのブロックに分割されます。
file1 と file2 の両方の block1 が同じデータノードに配置されていることを確認したいと思います。可能であれば、レプリカも同じデータノードのセットに配置されるようにしたいと思います。
質問 1. これは可能ですか? もしそうなら、ソースコードのどのクラスを変更する必要がありますか? 質問 2. copyFromLocalなどのコマンドは、hadoop ソース コード内の関数にどのようにマッピングされていますか?