gpt4 book ai didi

hadoop - 如何在Hadoop群集上运行Hadoop流?

转载 作者:行者123 更新时间:2023-12-02 20:19:20 25 4
gpt4 key购买 nike

目前我有一个具有3个节点的Hadoop集群(ubuntu)

我想在Hadoop Streaming上运行python / R脚本,但是我不确定仅执行HS是否会使所有节点正常工作

如果可能,请指导我在集群上运行流技术

谢谢

最佳答案

Hadoop流是内置的jar /实用程序,允许您创建和运行Map / Reduce作业,并将任何可执行文件或脚本作为映射器和/或reducer。

$HADOOP_HOME/bin/hadoop  jar $HADOOP_HOME/hadoop-streaming.jar \
-input myInputDirs \
-output myOutputDir \
-mapper /bin/cat \
-reducer /bin/wc

在上面的命令中,映射器和化简器都是可执行文件,它们从stdin(逐行)读取输入,并将输出发送到stdout。该实用程序将创建一个Map / Reduce作业,将该作业提交到适当的群集,并监视该作业的进度,直到完成为止。

-input:目录/文件名映射器的输入位置。

-output:目录名 reducer 的输出位置。

-mapper:可执行文件或脚本或JavaClassName必需的Mapper可执行文件。

-reducer:可执行文件或脚本或JavaClassName必需的Reducer可执行文件。

-file文件名:使映射程序,化简器或组合器可执行文件在计算节点上本地可用。

示例1:用户定义的python可执行文件作为映射器。选项“-file myPythonScript.py”导致将python可执行文件作为作业提交的一部分发送到群集计算机。
$HADOOP_HOME/bin/hadoop  jar $HADOOP_HOME/hadoop-streaming.jar \
-input myInputDirs \
-output myOutputDir \
-mapper myPythonScript.py \
-reducer /bin/wc \
-file myPythonScript.py

示例2:将Java类作为参数发送给映射器和/或reducer
$HADOOP_HOME/bin/hadoop  jar $HADOOP_HOME/hadoop-streaming.jar \
-input myInputDirs \
-output myOutputDir \
-mapper org.apache.hadoop.mapred.lib.IdentityMapper \
-reducer /bin/wc

资料来源: Hadoop Streaming jar

关于hadoop - 如何在Hadoop群集上运行Hadoop流?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/61428442/

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