|
||||||||||
| PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
| SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD | |||||||||
java.lang.Objectorg.apache.mahout.cf.taste.impl.common.jdbc.AbstractJDBCComponent
org.apache.mahout.cf.taste.impl.model.jdbc.AbstractJDBCDataModel
org.apache.mahout.cf.taste.impl.model.jdbc.SQL92JDBCDataModel
public class SQL92JDBCDataModel
A JDBCDataModel backed by a SQL92 compatible database and
accessed via JDBC. It should work with most JDBC databases, although not optimized for performance.
By default, this class assumes that there is a DataSource available under the JNDI name
"jdbc/taste", which gives access to a database with a "taste_preferences" table with the following schema:
CREATE TABLE taste_preferences ( user_id BIGINT NOT NULL, item_id BIGINT NOT NULL, preference REAL NOT NULL, PRIMARY KEY (user_id, item_id) ) CREATE INDEX taste_preferences_user_id_index ON taste_preferences (user_id); CREATE INDEX taste_preferences_item_id_index ON taste_preferences (item_id);
SQL92BooleanPrefJDBCDataModel,
Serialized Form| Field Summary |
|---|
| Fields inherited from class org.apache.mahout.cf.taste.impl.model.jdbc.AbstractJDBCDataModel |
|---|
DEFAULT_ITEM_ID_COLUMN, DEFAULT_PREFERENCE_COLUMN, DEFAULT_PREFERENCE_TABLE, DEFAULT_PREFERENCE_TIME_COLUMN, DEFAULT_USER_ID_COLUMN |
| Fields inherited from class org.apache.mahout.cf.taste.impl.common.jdbc.AbstractJDBCComponent |
|---|
DEFAULT_DATASOURCE_NAME |
| Constructor Summary | |
|---|---|
SQL92JDBCDataModel()
Creates a using the default DataSource (named
AbstractJDBCComponent.DEFAULT_DATASOURCE_NAME and default table/column names. |
|
SQL92JDBCDataModel(DataSource dataSource)
Creates a using the given DataSource and default table/column names. |
|
SQL92JDBCDataModel(DataSource dataSource,
String preferenceTable,
String userIDColumn,
String itemIDColumn,
String preferenceColumn,
String timestampColumn)
Creates a using the given DataSource and default table/column names. |
|
SQL92JDBCDataModel(String dataSourceName)
Creates a using the default DataSource found under the given name, and
using default table/column names. |
|
| Method Summary | |
|---|---|
protected String |
getUpdatePreferenceSQL()
|
protected String |
getVerifyPreferenceSQL()
|
void |
setPreference(long userID,
long itemID,
float value)
Override since SQL92 doesn't have the same non-standard capability that MySQL has, to optionally insert or update in one statement. |
| Methods inherited from class org.apache.mahout.cf.taste.impl.model.jdbc.AbstractJDBCDataModel |
|---|
buildPreference, doGetPreferencesForItem, exportWithIDsOnly, exportWithPrefs, getDataSource, getItemIDColumn, getItemIDs, getItemIDsFromUser, getLongColumn, getMaxPreference, getMinPreference, getNumItems, getNumUsers, getNumUsersWithPreferenceFor, getNumUsersWithPreferenceFor, getPreferenceColumn, getPreferencesForItem, getPreferencesFromUser, getPreferenceTable, getPreferenceTime, getPreferenceValue, getUserIDColumn, getUserIDs, hasPreferenceValues, refresh, removePreference, setLongParameter |
| Methods inherited from class org.apache.mahout.cf.taste.impl.common.jdbc.AbstractJDBCComponent |
|---|
checkNotNullAndLog, checkNotNullAndLog, getFetchSize, lookupDataSource |
| Methods inherited from class java.lang.Object |
|---|
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
| Constructor Detail |
|---|
public SQL92JDBCDataModel()
throws TasteException
Creates a using the default DataSource (named
AbstractJDBCComponent.DEFAULT_DATASOURCE_NAME and default table/column names.
TasteException - if DataSource can't be found
public SQL92JDBCDataModel(String dataSourceName)
throws TasteException
Creates a using the default DataSource found under the given name, and
using default table/column names.
dataSourceName - name of DataSource to look up
TasteException - if DataSource can't be foundpublic SQL92JDBCDataModel(DataSource dataSource)
Creates a using the given DataSource and default table/column names.
dataSource - DataSource to use
public SQL92JDBCDataModel(DataSource dataSource,
String preferenceTable,
String userIDColumn,
String itemIDColumn,
String preferenceColumn,
String timestampColumn)
Creates a using the given DataSource and default table/column names.
dataSource - DataSource to usepreferenceTable - name of table containing preference datauserIDColumn - user ID column nameitemIDColumn - item ID column namepreferenceColumn - preference column nametimestampColumn - timestamp column name (may be null)| Method Detail |
|---|
protected String getUpdatePreferenceSQL()
protected String getVerifyPreferenceSQL()
public void setPreference(long userID,
long itemID,
float value)
throws TasteException
setPreference in interface DataModelsetPreference in class AbstractJDBCDataModelTasteException
|
||||||||||
| PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
| SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD | |||||||||