問題タブ [input-split]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
hadoop - Hadoop の InputSplit の getLocations() から返されたホスト名で Mapper が実行されない
カスタム入力分割を計算するために Hadoopのクラスを拡張しましたが、オーバーライドされたgetLocations()InputSplit
の文字列として特定の HostIP (つまり、データノード IP) を返している間、それに対するマップ タスクはその HostIP では実行されず、代わりに実行されます。その特定の HostIP で実行しない場合の問題は何でしょうか?
hadoop - Number of input splits is equals to number of mappers?
I am processing the the one file with the map reduce that file size is 1Gb and my default block size in HDFS is 64 MB so for this example how many input splits is there and how many mappers is there ?
hadoop - Hadoop の入力分割とブロック
私のファイル サイズは 100 MB で、デフォルトのブロック サイズは 64 MB です。入力分割サイズを設定しない場合、デフォルトの分割サイズはブロック サイズになります。分割サイズも 64 MB になりました。
この 100 MB のファイルを HDFS にロードすると、100 MB のファイルが 2 つのブロックに分割されます。つまり、64 MB と 36 MB です。たとえば、以下はサイズが 100 MB の詩の歌詞です。このデータを HDFS にロードすると、1 行目から 16 行目の半分までが 1 つの分割/ブロック ( 「It made the」まで) と 16 行目の残りの半分 (子供たちが笑ったり遊んだりする) として正確に 64 MB になるとします。 2 番目のブロック (36 MB) としてファイルの末尾。2 つのマッパー ジョブがあります。
私の質問は、最初のマッパーが 16 行目 (つまり、ブロック 1 の 16 行目) をブロックが行の半分しかないと見なす方法、または 2 番目のマッパーがブロック 2 の最初の行も半分を持っていると見なす方法です。この線。
または、1 行を分割するのではなく、64 MB を分割している間、hadoop は 16 行全体を考慮しますか?
add - 制限範囲のある Python 入力分割
Spyder Python 3.5 を使用してこのコードを記述し、実行してみます。ただし、このコードは機能しません。
" (1) var1,var2 = input("2 桁の a と b (0-9) を入力してください:").split(''); (2) TypeError: 'str' オブジェクトは呼び出し可能ではありません"
hadoop - Hadoop の FileSplit のような分割はブロックを変更しますか?
最初の質問:スプリットが何らかの方法でブロックを変更するかどうかを知りたいです (つまり、サイズの変更、ブロックの別の場所への移動、新しいブロックの作成など)。
2 番目の質問:分割によってブロックが変更されることはないと思いますが、DataNodes が既に実行されており、ブロックを持っているため、分割が行われると思われるため、データの局所性またはラック認識のために、各 MapTask が存在し、クラスター上で実行される場所が指定されます。データを含むノードの横で MapTask を実行するように Hadoop に指示します。注意: InputSplit の内部には、この目的のために考えられる Location/Host があります。私が間違っている場合は修正してください
3 番目の質問:最初にタスクを実際に実行する前に、ブロックは MapTask のある場所に移動しますか、それとも MapTask はブロックがある場所 (つまり、DataNode の場所) に移動しますか?