hadoop和mahout中正确的数据流应该是什么?

hadoop和mahout中正确的数据流应该是什么?,hadoop,hive,mahout,mahout-recommender,Hadoop,Hive,Mahout,Mahout Recommender,我正在使用hadoop、hive和mahout技术。 我正在用hadoop中的mapreduce作业处理一些数据,以便在mahout中推荐。 我想知道上述模型的正确工作流程,即当hadoop处理数据并将其存储在HDFS中时,mahout将如何使用这些数据,以及mahout将如何获取这些数据,在mahout处理这些数据之后,mahout将把这些推荐的数据放在哪里? 注意:我正在使用hadoop处理数据,我的同事正在另一台机器上使用mahout。 希望你答对了我的问题。如果你想从mahout中的ha

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

如果你想从mahout中的hadoop hdfs获取输入,那么你必须执行以下步骤-

首先通过命令将输入文件复制到hdfs

hadoop dfs -copyFromLocal input /
然后运行mahout命令以获得来自hdfs的输入,并将输出保存在hdfs中

假设您的JAVA_主页设置正确,Mahout安装正确,我们就可以配置语法了。输入以下命令:

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

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

这一切取决于Mahout的运行配置。Mahout可以在本地模式或分布式模式下运行。我们需要设置“MAHOUT_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_LOCAL并尝试执行任何MAHOUT算法,那么您可以在控制台中看到下面的内容

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

在分布式模式下运行时,Mahout将所有路径视为HDFS路径。所以,即使在Mahout处理您的数据后,最终输出也将存储在HDFS中。

Mahout中可能的输入格式有哪些不同?感谢kishore,您的答案对我有用,我刚刚处理了数据,现在处理数据中的目录可以用作输入目录,我只是从HDFS复制了文件并将其放入本地系统,然后,对于mahout建议,我从本地系统中选择文件,如“DataModel dm=new FileDataModel(new file(/home/oodles/myfile.csv))”