I m getting error in stage 33 while using pio train.

52 views
Skip to first unread message

Ayush Goel

unread,
Apr 1, 2017, 10:34:02 AM4/1/17
to actionml-user
this is the error
[ERROR] [TaskResultGetter] Could not deserialize TaskEndReason: ClassNotFound with classloader org.apache.spark.util.MutableURLClassLoader@1877ab81
[ERROR] [TaskResultGetter] Could not deserialize TaskEndReason: ClassNotFound with classloader org.apache.spark.util.MutableURLClassLoader@1877ab81


Pat Ferrel

unread,
Apr 1, 2017, 2:00:17 PM4/1/17
to Ayush Goel, actionml-user
Can you give more of the stack trace? I assume you are running the UR, which version and what version of PIO?

Off hand it looks like a problem with installation of Spark. What version of that do you have?


--
You received this message because you are subscribed to the Google Groups "actionml-user" group.
To unsubscribe from this group and stop receiving emails from it, send an email to actionml-use...@googlegroups.com.
To post to this group, send email to action...@googlegroups.com.
To view this discussion on the web visit https://groups.google.com/d/msgid/actionml-user/aa4b03cc-ba47-4770-9eee-c53d4dec1fb4%40googlegroups.com.
For more options, visit https://groups.google.com/d/optout.

Pat Ferrel

unread,
Apr 1, 2017, 5:29:30 PM4/1/17
to Ayush Goel, actionml-user, us...@predictionio.incubator.apache.org
That is an old template that does not work with Apache PIO

Look on the Apache PIO template gallery for compatible templates including this one: https://github.com/actionml/universal-recommender

I can’t understand how the old one got through `pio build` with Apache PIO 0.10.0. Something is not right in the docker image you mention, if the template you linked to runs. the docker image must use the old Prediction.io from before moving to Apache


On Apr 1, 2017, at 12:23 PM, Ayush Goel <ayush...@gmail.com> wrote:

The template i m using sir is this  template
Sir i m using docker image of predictionio. The docker image is steveny/predictionio/.
The predictionio version is 0.10.0
Apache spark version is 1.5.1
One thing sir i would like to mention is that  it is running fine for small datasets but on using a largedataset i m facing this issue
Sir i googled this error one of the fixes available was to upgrade the spark version to 1.6
And the other fix is in this link stackoverflow. I am unable to understand where(i mean which files) i have to add the said classes in the link.
Sir i am also unable to understand how to upgrade spark in the docker image. 

On Sat, Apr 1, 2017 at 11:30 PM, Pat Ferrel <p...@actionml.com> wrote:
Can you give more of the stack trace? I assume you are running the UR, which version and what version of PIO?

Off hand it looks like a problem with installation of Spark. What version of that do you have?

On Apr 1, 2017, at 7:34 AM, Ayush Goel <ayush...@gmail.com> wrote:

this is the error
[ERROR] [TaskResultGetter] Could not deserialize TaskEndReason: ClassNotFound with classloader org.apache.spark.util.MutableURLClassLoader@1877ab81
[ERROR] [TaskResultGetter] Could not deserialize TaskEndReason: ClassNotFound with classloader org.apache.spark.util.MutableURLClassLoader@1877ab81



--
You received this message because you are subscribed to the Google Groups "actionml-user" group.
To unsubscribe from this group and stop receiving emails from it, send an email to actionml-user+unsubscribe@googlegroups.com.

Pat Ferrel

unread,
Apr 2, 2017, 2:26:15 PM4/2/17
to Ayush Goel, us...@predictionio.incubator.apache.org, actionml-user
Do not use `pio template get` it is being deprecated. Just use git like this:

    cd ur
    # edit engine.json to meet your needs, start from engine.json.minimum not engine.json, which is for the integration tests.
    pio build

If you are using the docker container mentioned below we cannot guarantee it is correct and do not support it. See the maintainer for questions about it’s use.


On Apr 1, 2017, at 9:57 PM, Ayush Goel <ayush...@gmail.com> wrote:

Sir i was getting this error when i was trying to use the command pio template get actionml/universal-recommender myrecommender
Exception in thread "main" java.nio.charset.MalformedInputException: Input length = 1 at java.nio.charset.CoderResult.throwException(CoderResult.java:281) at sun.nio.cs.StreamDecoder.implRead(StreamDecoder.java:339) at sun.nio.cs.StreamDecoder.read(StreamDecoder.java:178) at java.io.InputStreamReader.read(InputStreamReader.java:184) at java.io.BufferedReader.fill(BufferedReader.java:161) at java.io.BufferedReader.readLine(BufferedReader.java:324) at java.io.BufferedReader.readLine(BufferedReader.java:389) at scala.io.BufferedSource$BufferedLineIterator.hasNext(BufferedSource.scala:67) at scala.collection.Iterator$$anon$11.hasNext(Iterator.scala:327) at scala.collection.Iterator$class.foreach(Iterator.scala:727) at scala.collection.AbstractIterator.foreach(Iterator.scala:1157) at scala.collection.TraversableOnce$class.addString(TraversableOnce.scala:320) at scala.collection.AbstractIterator.addString(Iterator.scala:1157) at scala.collection.TraversableOnce$class.mkString(TraversableOnce.scala:286) at scala.collection.AbstractIterator.mkString(Iterator.scala:1157) at scala.collection.TraversableOnce$class.mkString(TraversableOnce.scala:288) at scala.collection.AbstractIterator.mkString(Iterator.scala:1157) at org.apache.predictionio.tools.console.Template$$anonfun$get$4$$anonfun$apply$9.apply(Template.scala:405) at org.apache.predictionio.tools.console.Template$$anonfun$get$4$$anonfun$apply$9.apply(Template.scala:398) at scala.collection.immutable.List.foreach(List.scala:318) at scala.collection.generic.TraversableForwarder$class.foreach(TraversableForwarder.scala:32) at scala.collection.mutable.ListBuffer.foreach(ListBuffer.scala:45) at org.apache.predictionio.tools.console.Template$$anonfun$get$4.apply(Template.scala:398) at org.apache.predictionio.tools.console.Template$$anonfun$get$4.apply(Template.scala:394) at scala.Option.map(Option.scala:145) at org.apache.predictionio.tools.console.Template$.get(Template.scala:394) at org.apache.predictionio.tools.console.Console$$anonfun$main$1.apply(Console.scala:762) at org.apache.predictionio.tools.console.Console$$anonfun$main$1.apply(Console.scala:696) at scala.Option.map(Option.scala:145) at org.apache.predictionio.tools.console.Console$.main(Console.scala:696) at org.apache.predictionio.tools.console.Console.main(Console.scala)

Thats why i opted for other template which i mentioned before. I was not able to find much on this error.
Sir i wanted to ask one more question how to run pio build behind a proxy server with authentication


Bolmo Joosten

unread,
Apr 4, 2017, 1:34:54 AM4/4/17
to actionml-user
Hi all,

I am trying to set up a recommender system for augmented search using simple association rules (so users who searched for “xyz” bought “abc” or “def"). I started looking into the personalized search template (https://github.com/actionml/template-personalized-search).

I was wondering if there is more detailed documentation available how to implement augmented search using this template?

Should it be working with the latest version of PIO?

Thanks, 
Bolmo

Pat Ferrel

unread,
Apr 4, 2017, 11:23:35 AM4/4/17
to Bolmo Joosten, actionml-user
That template is a work in progress and nowhere near release. So many things are outside the template that it is hard to generalize well so we do custom integrations / installations. We are also a consulting house.

We use the core algorithm inside the Universal Recommender. It finds user behavior that correlates with your conversion event (buy?) and creates a model of things the user interacted with where they also converted on the item. This data is used to augment the index so your query becomes part search terms and part user history of behaviors as a boosting factor. This causes things the user might be recommended to be ranked higher in search results when the items also contain the right search terms.

What search engine are you using?

--
You received this message because you are subscribed to the Google Groups "actionml-user" group.
To unsubscribe from this group and stop receiving emails from it, send an email to actionml-use...@googlegroups.com.

To post to this group, send email to action...@googlegroups.com.

Bolmo Joosten

unread,
Apr 4, 2017, 11:25:49 PM4/4/17
to Pat Ferrel, actionml-user
Pat,

Thanks for your quick reply. 

For my application: our primary conversion event is indeed buy. We use the Solr search platform and we use recommendations to increase the rank of the search results. We therefore need to provide a list of product IDs per search phrase.

I did some tests with the personalized search template today (after fixing dependencies and it took me a while to discover the ‘_’ vs ‘-‘ in the event name, let me know if there is a need to push a fix). 

The output of the model was something different than I expected: per product ID a list of associated queries, e.g.: 7563284923 ‘milk’:‘organic milk’:‘dairy’.  The output I am looking for is: ‘milk’ 7563284923: 7563282343872: 70239420394. Any suggestions how I should adjust this template to get the result I want?

Or should I switch to another algorithm/template like the one below:

Thanks!
Bolmo

Pat Ferrel

unread,
Apr 5, 2017, 12:07:30 PM4/5/17
to Bolmo Joosten, actionml-user
There is no restriction on eventNames that does not come from Elasticsearch. The names are used as field names in ES. ES uses them as URI fragments in some vesions of ES but both - and _ are legal in URIs so no idea what you are seeing. If you have a PR I’d love to see it.

We don’t boost items in search based on getting recommendations, we put behavioral indicators in the Solr index taken from the CCO algorithm. This will allow one search query containing search terms as you do today but also boosting results that also match user history against the behavioral indicators. You can then set the boost factor to any value that gets good results in A/B tests. 
Reply all
Reply to author
Forward
0 new messages