是否可以在本地运行MapReduce,而无需HDFS和Hadoop集群



鉴于我在Windows系统中开发MapReduce任务,在将它们移动到HDFS集群之前,我想在本地运行MapReduce。我只想检查如何使用我的映射器逻辑、输入拆分、输入/输出格式等。可能吗?

Hadoop以3种模式运行。

1.local mode  
2.psuedo mode  
3.distributed mode. 

您正在寻找的是本地模式。您可以在 eclipse 中调试 mapreduce 代码,然后再以 2 或 3 种模式运行它。
在本地模式下运行应用程序的分步指南可帮助您调试应用程序。
希望对您有所帮助!

在Windows中执行和测试Map Reduce代码,我们需要借助cygwin(A windows to Unix模拟器)。

要遵循的步骤:1.首先安装赛温。2.设置天鹅座环境变量

现在我们可以将本地文件作为MR程序的输入。

我们可以通过以下命令在本地进行测试:

cat ./*.csv | python pythonProgram.py | python mapper.py | python reducer.py

要在本地机器上运行Hadoop MapReduce作业,您可以使用mrjob。

您可以使用 -r/--runner 选项指定如何运行作业。默认选项是-r inline(可以省略选项),这意味着MapReduce作业将在本地机器上的单个Python进程中运行。

python my_job.py input.txt

使用选项-r local您的作业将在多个子流程中运行,其中包含

模拟了一些Hadoop功能

python my_job.py -r local input.txt

使用选项-r hadoop作业将在Hadoop集群上运行(需要配置集群的地址)

python my_job.py -r hadoop hdfs://my_home/input.txt

请参阅此快速入门教程。

相关内容

  • 没有找到相关文章

最新更新