私は、hbase
テーブルに格納されている多数のテキストの感情を見つけるために、MapRduceプログラムでCoreNLPプロジェクトを使用しようとしています。 SRパーザを解析に使用しています。モデルファイルはhdfsの/user/root/englishSR.ser.gz
に格納されています。私はedu.stanford.nlp.io.RuntimeIOException: java.io.StreamCorruptedException: invalid stream header
を取得していますマッパーSRパーサーファイルをマッパーのhdfsにロードするにはどうすればよいですか?
props.setProperty("parse.model", "./model");
に今のMapReduceアプリケーションコード
job.addCacheFile(new URI("/user/root/englishSR.ser.gz#model"));
で以下の行を追加しています。私はresources
にファイルを追加し、すべてがGC overhead limit exceeded
またはJavaヒープの問題が生じてmaven
に追加しようとしている
<dependency>
<groupId>edu.stanford.nlp</groupId>
<artifactId>stanford-corenlp</artifactId>
<version>3.4.1</version>
</dependency>
<dependency>
<groupId>edu.stanford.nlp</groupId>
<artifactId>stanford-corenlp</artifactId>
<version>3.4.1</version>
<classifier>models</classifier>
</dependency>
pom.xml
ファイルが含まれています。
を私は、コードを変更しました。私はパーサーファイルの読み込みが成功したと思います。 '無効なストリームヘッダ'エラーは表示されなくなりました。しかし、やはり私は 'GCオーバーヘッド限界を超えました.'と' Java Heap space'を発行しています。私が既に質問したように、パーサーファイルを 'resources'、' maven'、そして 'hdfs'に追加しようとしました。それぞれ同じエラーで失敗しました。私は 'mapreduce.map.memory.mb'を' 4096'に、 'mapred.child.java.opts'を' -Xmx4096m'に設定してメモリを増やそうとしました。 – joseph
エラーメッセージは、マッパーが十分なメモリを確保していないことを意味しますが、修正する方法を言うにはHadoopの専門家をもっと探す必要があります。しかし、ちょうど確認して、私はあなたのリストが "coref"を含んでいないことを願っています。(今のデフォルトの)統計コアは簡単に4GB以上を必要とします。 –
アノテーターリストに 'coref'が含まれていません。 – joseph