使用Behemoth在Hadoop上运行UIMA作业

时间:2012-09-24 09:20:16

标签: hadoop uima

我有一个功能齐全的UIMA作业,可以进行简单的注释。我可以通过我当地的CAS GUI成功启动它。

我一直在尝试使用Apache Behemoth在Hadoop上运行UIMA作业。我想知道是否有人为此工作过?作业成功运行但在hadoop输出目录中; UIMA工作没有输出。我可以在Hadoop作业跟踪器输出中看到作业成功完成并将其输入数据复制到最终输出目录。

有人能指出我可能会发生什么,我们需要在UIMA代码中做出任何其他更改吗?

由于

2 个答案:

答案 0 :(得分:1)

以下是适用于我放在一起的小型管道的步骤:

  • 将您的UIMA管道导出为jar(Your-pipeline.jar)
  • 复制到HDFS
  • 生成Behemoth Corpus(**记住以下所有路径都是hdfs路径**)
    hadoop jar tika/target/behemoth-tika-1.1-SNAPSHOT-job.jar com.digitalpebble.behemoth.tika.TikaDriver -i /user/blah/ -o /user/blah/
    
  • 使用您的管道进行处理
     hadoop jar uima/target/behemoth-uima-1.1-SNAPSHOT-job.jar com.digitalpebble.behemoth.uima.UIMADriver /user/blah/ /user/blah/ /apps/Your-pipeline.pear 
  • 列表注释:
    hadoop jar uima/target/behemoth-uima-1.1-SNAPSHOT-job.jar com.digitalpebble.behemoth.util.CorpusReader -i -a /user/blah/
    
  • 将注释转换为文字:
    hadoop jar uima/target/behemoth-uima-1.1-SNAPSHOT-job.jar com.digitalpebble.behemoth.uima.UIMABin2TxtConverter -a -i /user/blah/ -o /user/blah/
    

答案 1 :(得分:0)

尝试这种情况:

1)Gererate Behemoth corpus

2)在Behemoth语料库上运行Tika工作=> Tika语料库

3)通过Tika语料库运行UIMA工作=> UIMA语料库

4)通过Behemoth的CorpusReader使用-a选项查看UIMA输出语料库 - 它显示了您在/ hadoop / conf中的behemoth-site.xml中定义的UIMA注释。

但是我不知道如何从Behemoth(UIMA)语料库中提取注释的问题。

我还有CAS Consumer(在PEAR文件中),它应该将UIMA Annotations写入本地文件系统上的文件(而不是HDFS),但我没有在我的文件系统上找到这个文件((