我有一些代码可以访问hdfs上的一个文件,该文件位于一个函数中,该函数在启动作业之前从main()调用。
这是mac上的单节点集群(伪分布式模式)。
我不确定这是否是由于我在启动作业之前调用函数引起的问题,但我遇到以下错误:
java.io.FileNotFoundException: hdfs:/localhost/usr/local/tmp/hadoop/hadoop-${user}/data/input/file.csv (No such file or directory)
at java.io.FileInputStream.open(Native Method)
at java.io.FileInputStream.<init>(FileInputStream.java:146)
at org.apache.mahout.common.iterator.FileLineIterator.getFileInputStream(FileLineIterator.java:116)
at org.apache.mahout.common.iterator.FileLineIterable.<init>(FileLineIterable.java:53)
at org.apache.mahout.common.iterator.FileLineIterable.<init>(FileLineIterable.java:48)
at profile2sparse.MRDriver.createDictionaryChunks(MRDriver.java:98)
at profile2sparse.MRDriver.main(MRDriver.java:177)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:606)
at org.apache.hadoop.util.RunJar.main(RunJar.java:156)
我可以用hadoopfs-cat查看这个文件的内容
谢谢和问候,阿图尔。
1条答案
按热度按时间xtupzzrd1#
你能用下面的命令对文件进行分类吗?
hadoop fs-cat hdfs:/localhost/usr/local/tmp/hadoop/hadoop-${user}/data/input/file.csv
如果是,则程序中似乎没有解析${user}。请确保使用大写${user}如${user}。