我是靠谱客的博主 可爱世界,这篇文章主要介绍Mahout之——数据源为MySQL数据库,现在分享给大家,希望可以做个参考。

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

1、Tomcat基于JNDI配置数据库

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

复制代码
1
2
3
4
5
6
7
8
<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

复制代码
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
//基于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数据库内容请搜索靠谱客的其他文章。

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

评论列表共有 0 条评论

立即
投稿
返回
顶部