Apache Mahout中的MySQLJDBCDataModel

时间:2012-02-12 10:51:19

标签: mysql apache mahout

有人可以在这里发布一个如何在Apache Mahout中使用MySQLJDBCDataModel的例子,包括实例化DataSource吗? 我想使用DataModel生成Recommendations。使用user_id,task_id和rating已经存在的Databasetable(让我们称之为评级)我只需要知道如何在不创建我自己的DataModel实现的情况下访问这些信息。

提前致谢!

2 个答案:

答案 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)

该类有一个构造函数,其名称为DataSourceDataSource。你只需传递它的名字(并可选择覆盖表格,列等的名称) - 你还需要什么呢?

如果您想知道如何在JNDI中查找内容,那么它如下所示,但这又是为您完成的:

Context context = new InitialContext();
DataSource dataSource = 
    (DataSource) context.lookup("java:comp/env/" + dataSourceName);
context.close();

(你可能也想在这里使用ReloadFromJDBCDataModel。)