3

私はMAPIツール (Microsoft lib および .NET) を使用してから、 TIKA ライブラリを apacheして交換サーバーからpstを処理および抽出していますが、これはスケーラブルではありません。

MR の方法を使用して pst を処理/抽出するにはどうすればよいですか ... MR ジョブで使用できる Java で利用可能なツール、ライブラリはありますか。どんな助けでも素晴らしいでしょう。

Jpst Lib は内部的に以下を使用します。PstFile pstFile = new PstFile(java.io.File)

問題は、Hadoop APIに近いものがないことjava.io.Fileです。

次のオプションは常に存在しますが、効率的ではありません。

  File tempFile = File.createTempFile("myfile", ".tmp");
  fs.moveToLocalFile(new Path (<HDFS pst path>) , new Path(tempFile.getAbsolutePath()) );
  PstFile pstFile = new PstFile(tempFile);
4

2 に答える 2

2

Behemoth (http://digitalpebble.blogspot.com/2011/05/processing-enron-dataset-using-behemoth.html) をご覧ください。Tika と Hadoop を組み合わせたものです。

また、独自の Hadoop + Tika ジョブで作成したこともあります。パターンは次のとおりです。

  1. すべての pst ファイルを sequencence または avro ファイルにラップします。
  2. avro ファイルから pst ファイルを読み取り、それをローカル ディスクに書き込むマップのみのジョブを作成します。
  3. ファイル全体で tika を実行します。
  4. tika の出力をシーケンス ファイルに書き戻します。

それが役立つことを願っています.s

于 2012-05-07T18:46:18.963 に答える
0

マッパーでPSTファイルを処理することはできません。長い分析とデバッグの結果、APIが適切に公開されておらず、抽出されたpstコンテンツを保存するためにそれらのAPIにローカルファイルシステムが必要であることが判明しました。HDFSに直接保存することはできません。それはボトルネックです。そして、それらすべてのAPI(抽出して処理するlibs)は無料ではありません。

私たちにできることは、hdfsの外部を抽出してから、MRジョブで処理することです。

于 2012-06-14T11:19:45.930 に答える