我是靠谱客的博主 可爱世界,最近开发中收集的这篇文章主要介绍Mahout之——数据源为MySQL数据库,觉得挺不错的,现在分享给大家,希望可以做个参考。

概述

转载请注明出处:https://blog.csdn.net/l1028386804/article/details/82795264

1、Tomcat基于JNDI配置数据库

在Tomcat的server.xml中增加如下配置

<Resource
	name="jdbc/taste"
	auth="Container"
	type="javax.sql.DataSource"
	username="root"
	password="root"
	driverClassName="com.mysql.jdbc.Driver"
	url="jdbc:mysql://localhost:/mydatabase"/>

默认的名字(jdbc/taste)可以根据环境需要更换.

2、利用程序配置DataSource

//基于MySQL数据源的推荐程序
@Test
public void testJDBCDataModel() throws TasteException {
	//配置MysqlDataSource
	MysqlDataSource dataSource = new MysqlDataSource();
	dataSource.setServerName("my_server_name");
	dataSource.setUrl("my_database_url");
	dataSource.setUser("root");
	dataSource.setPassword("root");
	dataSource.setDatabaseName("mydatabase");
	//构建推荐数据模型
	JDBCDataModel jdbcDataModel = new MySQLJDBCDataModel(dataSource, "my_prefer_table", "my_user_column", "my_item_column", "my_pref_value_column", "my_timestamp_column");
	//推荐
	Recommender recommender = new SlopeOneRecommender(jdbcDataModel);
	List<RecommendedItem> itemList = recommender.recommend(1L, 200);
	//打印结果
	itemList.stream().forEach(System.out::println);
}

3、对于数据库表设计的几点说明

  • 用户ID列和物品ID列必须非空,同时必须被索引;
  • 主键必须为用户ID和物品ID的组合;
  • 列的数据类型根据Java中对应的long和float类型选择,在MySQL中,应为bigint和float
  • 注意调节缓冲区和查询高速缓存(query cache)
  • 当使用MySQL的Connector/J驱动时,将驱动的参数(cachePreparedStatements)设置为true

 

最后

以上就是可爱世界为你收集整理的Mahout之——数据源为MySQL数据库的全部内容,希望文章能够帮你解决Mahout之——数据源为MySQL数据库所遇到的程序开发问题。

如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。

本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
点赞(46)

评论列表共有 0 条评论

立即
投稿
返回
顶部