我的项目中有一种情况,我需要从HIVE表中获取数据,处理这些数据以产生建议,然后再将这些建议保存到HIVE表中。
这是使用Mahout获取推荐的示例代码。
public static void main( String[] args ) throws Exception
{
DataModel model = new FileDataModel(new File("data/TestData.csv"));
UserSimilarity similarity = new PearsonCorrelationSimilarity(model);
System.out.println("similarity"+similarity);
UserNeighborhood neighborhood = new NearestNUserNeighborhood(5, similarity, model);
System.out.println("neighborhood::"+neighborhood);
UserBasedRecommender recommender = new GenericUserBasedRecommender(model, neighborhood, similarity);
System.out.println("recommender:"+recommender);
List<RecommendedItem> recommendations = recommender.recommend(2, 5);
System.out.println("recommendations"+recommendations);
for (RecommendedItem recommendation : recommendations) {
System.out.println(recommendation);
}
}
现在在这里而不是使用DataModel
中的CSV文件我想要使用HIVE表,然后将建议再次保存到HIVE表中。
我找到了一些关于此的帖子,但没有一个符合我的目的。
很抱歉,如果我是一个简单的说法,但我对mahout和hive以及尝试学习这些技术都是全新的。