如何使用 hadoop Map reduce 处理/提取 .pst [英] How to process/extract .pst using hadoop Map reduce
问题描述
我正在使用 MAPI 工具(它的 microsoft lib 和 .NET),然后使用 apache TIKA 库来处理和提取 pst交换服务器,不可扩展.
I am using MAPI tools (Its microsoft lib and in .NET) and then apache TIKA libraries to process and extract the pst from exchange server, which is not scalable.
我如何使用 MR 方式处理/提取 pst ......是否有任何工具,Java 中可用的库,我可以在我的 MR 工作中使用.任何帮助都会很棒.
How can I process/extracts pst using MR way ... Is there any tool, library available in java which I can use in my MR jobs. Any help would be great-full .
Jpst Lib 内部使用:PstFile pstFile = new PstFile(java.io.File)
Jpst Lib internally uses: PstFile pstFile = new PstFile(java.io.File)
问题在于 Hadoop API 的我们没有任何接近 java.io.File
的东西.
And the problem is for Hadoop API's we don't have anything close to java.io.File
.
以下选项总是存在但效率不高:
Following option is always there but not efficient:
File tempFile = File.createTempFile("myfile", ".tmp");
fs.moveToLocalFile(new Path (<HDFS pst path>) , new Path(tempFile.getAbsolutePath()) );
PstFile pstFile = new PstFile(tempFile);
推荐答案
看看 Behemoth (http://digitalpebble.blogspot.com/2011/05/processing-enron-dataset-using-behemoth.html).它结合了 Tika 和 Hadoop.
Take a look at Behemoth (http://digitalpebble.blogspot.com/2011/05/processing-enron-dataset-using-behemoth.html). It combines Tika and Hadoop.
我还编写了自己的 Hadoop + Tika 作业.模式是:
I've also written by own Hadoop + Tika jobs. The pattern is:
- 将所有 pst 文件包装成 sequencence 或 avro 文件.
- 编写一个仅映射作业,从 avro 文件中读取 pst 文件并将其写入本地磁盘.
- 跨文件运行 tika.
- 将tika的输出写回序列文件
希望有所帮助.
这篇关于如何使用 hadoop Map reduce 处理/提取 .pst的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!