問題タブ [writable]
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.
arrays - Hadoop で TwoDArrayWritable をカスタマイズし、レデューサーで同じものを反復できない
マッパーからの値として 2 つの 2 次元配列を出力しようとしています。Hadoop では、入力としてTwoDArrayWritable
1 - を取るものがあり2D array
ます。私のユースケースを達成するために、編集TwoDArrayWritable
して入力を取得しようとしました2
-2D array
マッパーから2つの2D double配列を発行しました。
エラー表示中array.set(myInnerArray,myInnerArray1);
編集:レデューサーでこれらの値を反復処理して、myInnerArray マトリックスと myInnerArray1 マトリックスを取得する方法は?
これまで私がやったことは
しかし、それらを double 配列に戻すにはどうすればよいでしょうか?
java - Hadoop Writable で非常に大きなオブジェクトをシリアライズする方法
Hadoop Writable インターフェイスはメソッドに依存します"public void write(DataOutput out)"
。DataOutput インターフェイスの背後にあるように見えますが、Hadoop は DataOutputStream を使用します。これは、カバーの下で単純な配列を使用します。
レデューサーの DataOutput に大量のデータを書き込もうとすると、次のようになります。
原因: java.lang.OutOfMemoryError: 要求された配列サイズが、java.io.ByteArrayOutputStream.grow(ByteArrayOutputStream.java:113) の java.util.Arrays.copyOf(Arrays.java:3230) で VM 制限を超えています。 ByteArrayOutputStream.ensureCapacity(ByteArrayOutputStream.java:93) で java.io.ByteArrayOutputStream.write(ByteArrayOutputStream.java:140) で java.io.DataOutputStream.write(DataOutputStream.java:107) で java.io.FilterOutputStream.write(FilterOutputStream) .java:97)
システムが要求されたサイズの連続配列を割り当てることができないようです。どうやら、リデューサーが使用できるヒープ サイズを増やしても効果はありません。すでに 84GB (-Xmx84G) になっています。
シリアル化する必要があるオブジェクトのサイズを縮小できない場合 (リデューサーはオブジェクト データを組み合わせてこのオブジェクトを構築するため)、この問題を回避するにはどうすればよいですか?
string - マッパーで文字列を値として渡す方法は?
マッパーで文字列を値として渡そうとしていますが、書き込み可能ではないというエラーが発生します。解決方法は?
java - Hadoop - TwoDArrayWritable を出力する方法
マッパーから TwoDArrayWritable を発行しています。デフォルトのコンストラクタを作成するために、TwoDArrayWritable を拡張するクラスを実装しました。しかし、それを発行しようとすると、次の例外が発生します。
TwoDArrayWritable を発行するにはどうすればよいですか? 助けが必要です。
TwoDArrayWritable を拡張するクラスは次のとおりです。
マッパーは次のとおりです。
レデューサーは次のとおりです。 public class JaccardReducer extends Reducer {
android - Androidで内部ストレージを書き込み可能にする方法は?
Android 4.3 を搭載した Huawei Ascend Y530 電話を使用していますが、内部ストレージからの読み取りも書き込みもできません。最初は問題なく動作していましたが、しばらくすると問題が発生しました。内部ストレージを書き込み可能にする方法を教えてください。ターミナル エミュレーターでコマンド restorecon -v -R /media/data を試してみましたが、/data/media のコンテキストを取得できませんでした: トランスポート エンドポイントで操作がサポートされていません。助けてください