- android - RelativeLayout 背景可绘制重叠内容
- android - 如何链接 cpufeatures lib 以获取 native android 库?
- java - OnItemClickListener 不起作用,但 OnLongItemClickListener 在自定义 ListView 中起作用
- java - Android 文件转字符串
我正在尝试在 hadoop 中运行以下示例:http://hadoop.apache.org/common/docs/current/mapred_tutorial.html
但是我不明白正在使用的命令,特别是如何创建输入文件,将其上传到 HDFS,然后运行字数统计示例。
我正在尝试以下命令:
bin/hadoop fs -put inputFolder/inputFile inputHDFS/
不管怎么说
put: File inputFolder/inputFile does not exist
我在 hadoop 文件夹中有这个文件夹,它是“bin”之前的文件夹,为什么会这样?
谢谢:)
最佳答案
假设您有 installed hadoop (在本地、分布式或伪分布式中),您必须确保 hadoop 的 bin 和其他 misc 参数在您的路径中。在 linux/mac 中,只需将以下内容添加到您的 shell 文件之一(~/.bashrc
、~/.zshrc
、~/. bash_profile
等 - 取决于您的设置和偏好):
export HADOOP_INSTALL_DIR=/path/to/hadoop # /opt/hadoop or /usr/local/hadoop, for example
export JAVA_HOME=/path/to/jvm
export PATH=$PATH:$HADOOP_INSTALL_DIR/bin
export PATH=$PATH:$HADOOP_INSTALL_DIR/sbin
然后运行 exec $SHELL
或重新加载您的终端。要验证 hadoop 是否正在运行,请键入 hadoop version
并查看未出现任何错误。假设您遵循了有关如何设置单节点集群的说明并使用 start-all.sh
命令启动了 hadoop 服务,您应该可以开始了:
在伪分布式模式下,您的文件系统伪装成 HDFS。因此,只需像使用任何其他 linux 命令一样引用任何路径,例如 cat
或 grep
。这对于测试很有用,您不必复制任何东西。
在实际运行 HDFS 的情况下,我使用 copyFromLocal
命令(我发现它可以正常工作):
$ hadoop fs -copyFromLocal ~/data/testfile.txt /user/hadoopuser/data/
这里我假设您在集群中的一台机器上执行复制。请注意,如果您的 hadoopuser 与您的 unix 用户名相同,您可以删除 /user/hadoopuser/
部分 - 它被隐含地假定在您的 HDFS 用户目录中执行所有操作。此外,如果您使用客户端计算机在集群上运行命令(您也可以这样做!),请知道您需要在 -conf
之后立即使用标志传递集群的配置 hadoop fs
,比如:
# assumes your username is the same as the one on HDFS, as explained earlier
$ hadoop fs -conf ~/conf/hadoop-cluster.xml -copyFromLocal ~/data/testfile.txt data/
对于输入文件,您可以使用任何包含文本的文件。我使用了 gutenberg site 中的一些随机文件.
最后,要运行 wordcount 示例(在 hadoop 发行版中作为 jar 提供),只需运行命令:
$ hadoop jar/path/to/hadoop-*-examples.jar wordcount/user/hadoopuser/data//user/hadoopuser/output/wc
这将读取 data/
文件夹中的所有内容(可以有一个或多个文件)并将所有内容写入 output/wc
文件夹 - 全部在 HDFS 上。如果你在 pseudo-dist 中运行它,不需要复制任何东西 - 只需将它指向正确的输入和输出目录。确保 wc
目录不存在,否则您的作业将崩溃(无法覆盖现有目录)。 See this以获得更好的字数统计。
同样,所有这些都假设您已成功完成设置阶段(不小的壮举)。
希望这不会太困惑 - 祝你好运!
关于hadoop - 如何在 Hadoop 中运行 wordCount 示例?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10366971/
我用eclipse调试hadoop,出现错误,如何解决这个问题 log4j:WARN No appenders could be found for logger (org.apache.hadoop
见下面的代码: unordered_map wordCount; for(string word: words) ++wordCount[word]; 问题: 当wordCount 中不存在w
我正在尝试从这里开始学习 GCP Cloud Dataflow 的“使用 Java 快速入门”https://cloud.google.com/dataflow/docs/quickstarts/qu
我尝试在代码中构建和调试扩展。 我从https://github.com/microsoft/vscode-wordcount下载了字数统计的样本. 当我单击 F5 时,未生成 ./out 文件夹,并
我是 hadoop 的新手。我按照 maichel-noll 教程在单节点中设置 hadoop。我尝试运行 WordCount 程序。这是我使用的代码: import java.io.IOExcept
我是hadoop编程新手。我正在使用eclipse进行hadoop开发。我通过java buildpath添加了所有jar文件,当我运行我的程序时它没有运行并给出这个错误,所以请帮助我。如何解决错误?
我想使用eclipse调试wordcount,因为我想查看作业如何在JobTracker中运行。但是hadoop使用Proxy,我不知道该作业如何在JobTracker中运行的具体过程。我应该如何调试
我正在尝试运行保证消息处理的 WordCount 示例。 只有一个喷口 WSpout - 发出带有 msgID 的随机句子。 和两个 bolt SplitSentence - 在单词中拆分句子并使用锚
我正在做一个类项目,该项目计算文本文件中的单词、行、字符和段落的总数。到目前为止,就文字而言,它是有效的,但我的字符数似乎减少了 3 个,并且该段落似乎正在计算两个额外的空行,我得到的是 5 个而不是
我是 hadoop 的新手,正在运行一些示例以更加熟悉它。我运行了 wordcount,当我去检查输出时 hadoop fs -cat outt 我得到了 3 个目录,而不是通常名为 outt/par
有谁知道如何解决这个错误?我了解到我可以在 fileutils.setPermission 中进行编辑并使用 checkReturnValue 删除行,但我不知道如何操作。 13/03/10 13:0
我正在尝试运行一个程序,按照此链接中给出的步骤来计算单词的数量及其频率:http://developer.yahoo.com/hadoop/tutorial/module3.html 我加载了一个名为
每当尝试在Hadoop系统中运行Reducer python程序时,都会出现此错误。 Mapper程序可以完美运行。与我的Mapper程序具有相同的权限。是否存在语法错误? 追溯(最近一次通话): 在
我在获取每个文件的单词出现总数的分割时遇到了问题。 例如,我有四个文本文件(t1、t2、t3、t4)。单词 w1 在文件 t2 中出现了两次,在 t4 中出现了一次,总共出现了 3 次。 我想在输出文
我试图使用eclipse在hadoop多节点群集上运行wordcount java程序(该程序在单节点群集上工作正常,但在多节点上无法运行)。我正在返回关注信息 INFO ipc.Client: Re
我正在尝试这个java代码来计算mapreduce中的字数,在完成reduce方法后,我想显示出现最多次数的唯一单词。 为此,我创建了一些名为 myoutput、mykey 和completeSum
mark@maestro1:/usr/lib/hadoop/wordcount_classes$ javac -classpath /usr/lib/hadoop/hadoop-common-2.0.
引用基本的WordCount例子:https://hadoop.apache.org/docs/current/hadoop-mapreduce-client/hadoop-mapreduce-cli
成功创建 hadoop 环境后,当我要在版本 0.19.1 的 hadoop 中运行这个 wordcount 示例时,它给我这样的错误,我该如何解决 11/12/30 06:46:13 INFO ma
我在我的 mac 上的单个节点上运行 WordCount 并且它工作,所以我制作了另一个 MapReduce 应用程序并运行它,但它卡在 map 10% reduce 0% 并且有时在 map 0%
我是一名优秀的程序员,十分优秀!