有人可以在这里发布一个如何在Apache Mahout中使用MySQLJDBCDataModel的例子,包括实例化DataSource吗? 我想使用DataModel生成Recommendations。使用user_id,task_id和rating已经存在的Databasetable(让我们称之为评级)我只需要知道如何在不创建我自己的DataModel实现的情况下访问这些信息。
提前致谢!
答案 0 :(得分:5)
如果您不想使用JNDI:
MysqlDataSource dataSource = new MysqlDataSource();
dataSource.setServerName("my_database_host");
dataSource.setUser("my_user");
dataSource.setPassword("my_password");
dataSource.setDatabaseName("my_database_name");
JDBCDataModel dataModel = new MySQLJDBCDataModel(
dataSource, "my_prefs_table", "my_user_column",
"my_item_column", "my_pref_value_column", "my_timestamp_column");
详细了解MySQLJDBCDataModel ...
答案 1 :(得分:0)
该类有一个构造函数,其名称为DataSource
或DataSource
。你只需传递它的名字(并可选择覆盖表格,列等的名称) - 你还需要什么呢?
如果您想知道如何在JNDI中查找内容,那么它如下所示,但这又是为您完成的:
Context context = new InitialContext();
DataSource dataSource =
(DataSource) context.lookup("java:comp/env/" + dataSourceName);
context.close();
(你可能也想在这里使用ReloadFromJDBCDataModel
。)