gpt4 book ai didi

hadoop - 如何在 Hadoop 中运行 wordCount 示例?

转载 作者:可可西里 更新时间:2023-11-01 15:41:30 27 4
gpt4 key购买 nike

我正在尝试在 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 命令一样引用任何路径,例如 catgrep。这对于测试很有用,您不必复制任何东西。

  • 在实际运行 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/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com