|
||||||||||
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
org.apache.mahout.cf.taste.impl.model.jdbc.PostgreSQLJDBCDataModel
public class PostgreSQLJDBCDataModel
A JDBCDataModel
backed by a PostgreSQL database and
accessed via JDBC. It may work with other JDBC databases. 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);
PostgreSQLJDBCDataModel
,
Serialized FormField 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 | |
---|---|
PostgreSQLJDBCDataModel()
Creates a using the default DataSource (named
AbstractJDBCComponent.DEFAULT_DATASOURCE_NAME and default table/column names. |
|
PostgreSQLJDBCDataModel(DataSource dataSource)
Creates a using the given DataSource and default table/column names. |
|
PostgreSQLJDBCDataModel(DataSource dataSource,
String preferenceTable,
String userIDColumn,
String itemIDColumn,
String preferenceColumn,
String timestampColumn)
Creates a using the given DataSource and default table/column names. |
|
PostgreSQLJDBCDataModel(String dataSourceName)
Creates a using the default DataSource found under the given name, and
using default table/column names. |
Method Summary | |
---|---|
void |
setPreference(long userID,
long itemID,
float value)
Override since PostgreSQL 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.SQL92JDBCDataModel |
---|
getUpdatePreferenceSQL, getVerifyPreferenceSQL |
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 PostgreSQLJDBCDataModel() throws TasteException
Creates a using the default DataSource
(named
AbstractJDBCComponent.DEFAULT_DATASOURCE_NAME
and default table/column names.
TasteException
- if DataSource
can't be foundpublic PostgreSQLJDBCDataModel(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 PostgreSQLJDBCDataModel(DataSource dataSource)
Creates a using the given DataSource
and default table/column names.
dataSource
- DataSource
to usepublic PostgreSQLJDBCDataModel(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 |
---|
public void setPreference(long userID, long itemID, float value) throws TasteException
setPreference
in interface DataModel
setPreference
in class SQL92JDBCDataModel
TasteException
|
||||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |