我是hadoop和庞然大物的新手,我按照https://github.com/DigitalPebble/behemoth/wiki/tutorial上的教程,使用以下命令为文本文档生成一个庞大的语料库:
sudo bin / hadoop jar /home/madhumita/behemoth/core/target/behemoth-core-*-job.jar com.digitalpebble.behemoth.util.CorpusGenerator -i / home / madhumita / Documents / testFile -o /家/ madhumita /庞然大物/ testGateOpCorpus
我收到错误:
ERROR util.CorpusGenerator:输入不存在:/ home / madhumita / Documents / testFile
每次运行命令时,虽然我已经用gedit检查过路径是否正确。我在网上搜索任何类似的问题,但我找不到任何。 关于它为什么会发生的任何想法?如果.txt文件格式不可接受,那么所需的文件格式是什么?
答案 0 :(得分:1)
好的,我设法解决了这个问题。所需的输入路径是hadoop分布式文件系统上文件的路径,而不是本地计算机上的路径。
首先,我将本地文件复制到HDFS上的/data/test.txt,并将此路径作为输入参数。命令如下:
sudo bin/hadoop fs -copyFromLocal /home/madhumita/Documents/testFile/test.txt /docs/test.txt
sudo bin/hadoop jar /home/madhumita/behemoth/core/target/behemoth-core-*-job.jar com.digitalpebble.behemoth.util.CorpusGenerator -i /docs/test.txt -o /docs/behemoth/test
这解决了这个问题。感谢所有试图解决问题的人。
答案 1 :(得分:0)
要直接从本地文件系统生成Behemoth语料库,请使用文件协议进行引用。 (file:///)
hadoop jar core/target/behemoth-core-*-job.jar com.digitalpebble.behemoth.util.CorpusGenerator -i "file:///home/madhumita/Documents/testFile/test.txt" -o "/docs/behemoth/test"