在hadoop和mahout中,什么是正确的数据流?

knsnq2tg  于 2021-06-02  发布在  Hadoop
关注(0)|答案(2)|浏览(414)

我正在使用hadoop、hive和mahout技术。我正在用hadoop中的mapreduce作业处理一些数据,以便在mahout中进行推荐。我想知道上述模型的正确工作流程,即当hadoop处理数据并将其存储在hdfs中时,mahout将如何使用这些数据,mahout将如何获得这些数据,在mahout处理这些数据之后,mahout将把这些推荐的数据放在哪里?注意:我正在使用hadoop处理数据,我的同事正在另一台机器上使用mahout。希望你答对了我的问题。

bqjvbblv

bqjvbblv1#

这完全取决于mahout的运行配置。mahout可以在本地模式或分布式模式下运行。我们需要设置“mahout\u local”变量。

MAHOUT_LOCAL       set to anything other than an empty string to force
                      mahout to run locally even if
                      HADOOP_CONF_DIR and HADOOP_HOME are set

例如,如果我们没有配置mahout\u local并尝试执行任何mahout算法,那么您可以在控制台中看到下面的内容。

MAHOUT_LOCAL is not set; adding HADOOP_CONF_DIR to classpath.
Running on hadoop,

在分布式模式下运行时,mahout将所有路径视为hdfs路径。因此,即使在mahout处理完数据之后,最终输出也将存储在hdfs中。

plupiseo

plupiseo2#

如果您想从mahout中的hadoophdfs获取输入,那么必须执行以下步骤-
首先通过命令将输入文件复制到hdfs

hadoop dfs -copyFromLocal input /

然后运行mahout命令,从hdfs获取输入并将输出保存在hdfs中
假设您的javau主页设置正确,mahout安装正确,我们就可以配置语法了。输入以下命令:

$ mahout recommenditembased -s SIMILARITY_LOGLIKELIHOOD -i hdfs://localhost:9000/inputfile -o hdfs://localhost:9000/output --numRecommendations 25

运行该命令将执行一系列作业,其最终产品将是存放到命令语法中指定的目录中的输出文件。输出文件将包含两列:userid和itemids和score数组。

相关问题