The UR uses Elasticsearch for part of the Recommender algorithm, therefor it must be configured as a storage backend. It is possible to use Postgres or MySQL for the other stores but we have very little experience with this. HBase is indefinitely scalable so we always use that. Single machine deployments are rare with a reasonably sized data so Elasticsearch + Hbase running separately or in clusters will always meet the data needs. The RDBs will not and anyway, like I said you have to use Elasticsearch.
Therefore for the UR follow instructions on the ActionML site since they are specific to the UR. For other templates you may use other configurations of PIO but if you use the UR config you can also use every template too. On Mar 23, 2017, at 9:07 AM, Vaghawan Ojha <[email protected]> wrote: Hi, Thank you! I came into further more confusion here, actually I installed prediction IO version 0.10.0 from here http://predictionio.incubator.apache.org/install/install-sourcecode/ <http://predictionio.incubator.apache.org/install/install-sourcecode/> and have been fighting to configure mysql as a storage in my local linux machine. But I see there is a different documentation of installing in actionml website, I'm not sure for which I would have to go. Currently there is no "pio-env.sh". file inside conf folder however there is pio-env.sh.template file. I commented the pgsql section and uncommented the mysql section with the username and password, but whenever I do . sudo PredictionIO-0.10.0-incubating/bin/pio eventserver there seems to be an error that says that authentication failed with pgsql, however I don't want to use pgsql. # Storage Repositories # Default is to use PostgreSQL PIO_STORAGE_REPOSITORIES_METADATA_NAME=pio_meta PIO_STORAGE_REPOSITORIES_METADATA_SOURCE=PGSQL PIO_STORAGE_REPOSITORIES_EVENTDATA_NAME=pio_event PIO_STORAGE_REPOSITORIES_EVENTDATA_SOURCE=PGSQL PIO_STORAGE_REPOSITORIES_MODELDATA_NAME=pio_model PIO_STORAGE_REPOSITORIES_MODELDATA_SOURCE=PGSQL # Storage Data Sources # PostgreSQL Default Settings # Please change "pio" to your database name in PIO_STORAGE_SOURCES_PGSQL_URL # Please change PIO_STORAGE_SOURCES_PGSQL_USERNAME and # PIO_STORAGE_SOURCES_PGSQL_PASSWORD accordingly #PIO_STORAGE_SOURCES_PGSQL_TYPE=jdbc #PIO_STORAGE_SOURCES_PGSQL_URL=jdbc:postgresql://localhost/pio #PIO_STORAGE_SOURCES_PGSQL_USERNAME=pio #PIO_STORAGE_SOURCES_PGSQL_PASSWORD=pio # MySQL Example PIO_STORAGE_SOURCES_MYSQL_TYPE=jdbc PIO_STORAGE_SOURCES_MYSQL_URL=jdbc:mysql://localhost/pio PIO_STORAGE_SOURCES_MYSQL_USERNAME=root PIO_STORAGE_SOURCES_MYSQL_PASSWORD=root This is how the pio-env.sh.template looks like. And again when I visited the actionml site, it suggests that I do have to have ELASTICSEARCH. but prediction.io <http://prediction.io/> site doesn't tells us the same. Which one should I follow and where would I find the current working version of installation guide. I actually wanaa use prediction.io <http://prediction.io/> in my production shortly after I implemented in local. Please help me, thank you very much for your help, I appreciate it so much. Vaghawan On Thu, Mar 23, 2017 at 9:27 PM, Pat Ferrel <[email protected] <mailto:[email protected]>> wrote: Since PIO has moved to Apache, the namespace of PIO code changed and so all templates need to be updated. None of the ones in https://github.com/PredictionIO/ <https://github.com/PredictionIO/template-scala-parallel-universal-recommendation> will work with Apache PIO. For the upgraded UR see: https://github.com/actionml/universal-recommender <https://github.com/actionml/universal-recommender> Docs for the UR are here: http://actionml.com/docs/ur <http://actionml.com/docs/ur> Also look on the Template gallery page here for a description of template status. Some have not been moved to the new namespace and converted to run with PIO but this is pretty easy to do yourself. http://predictionio.incubator.apache.org/gallery/template-gallery/ <http://predictionio.incubator.apache.org/gallery/template-gallery/> user_id, product_id and purchase_date is all you need to use any recommender. If you plan to gather other events in the future, use the UR. As far as item or user based recommendations, the UR will give either based on the query with the same data and model, as some others will do. The UR allows you to mix both types in a single query, which may be useful with small amounts of individual user data. Also the accepted wisdom about this it to put item-based recs on item detail pages, and user-based recs elsewhere, when you don’t have an item to base recs on, or in another placement on any page. You can have many different placements of recs in any page by changing the queries. This is how Netflix gets rows and rows of specialized recs for different things all based on the same data. The UR queries are quite flexible. On Mar 23, 2017, at 7:08 AM, Vaghawan Ojha <[email protected] <mailto:[email protected]>> wrote: Hi, I've been trying to deploy a recommendation system using https://github.com/PredictionIO/template-scala-parallel-universal-recommendation <https://github.com/PredictionIO/template-scala-parallel-universal-recommendation>. I've purchase history of user something like this: user_id, product_id and purchase_date, so I will be using user_id and product_id to determine the recommendation. I'm not sure if I would be able to customize the default even parameter. Do you have any suggestions like which template would be more suitable for my problem. I don't have data like rating or view state, I only have data about user and product they purchased. I need something like item based similarity as well as user based item similarity. Any help would be great Thank you Vaghawan
