MySQLJDBCDataModel в Apache Mahout - PullRequest
1 голос
/ 12 февраля 2012

Может кто-нибудь опубликовать здесь пример того, как использовать MySQLJDBCDataModel в Apache Mahout, включая создание экземпляра DataSource?Я хочу использовать DataModel для генерации Рекомендаций.База данных (давайте назовем ее рейтингами) с user_id, task_id и рейтингом уже существует, мне просто нужно знать, как получить доступ к этой информации, не создавая собственную реализацию DataModel.

Заранее спасибо!

Ответы [ 2 ]

5 голосов
/ 07 июня 2012

Если вы не хотите использовать 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 для получения подробной информации ...

0 голосов
/ 12 февраля 2012

В классе есть конструктор, который принимает имя DataSource или DataSource. Вы просто передаете ему имя (и, необязательно, переопределяете имена таблицы, столбцов и т. Д.) - что еще здесь нужно?

Если вы хотите узнать, как искать что-то в JNDI, то это выглядит следующим образом, но опять же это сделано для вас:

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

(Вы, вероятно, тоже хотите использовать ReloadFromJDBCDataModel.)

...