blob: bb5e1e784a9cf5d8a7580733f338b923d5205084 [file] [log] [blame]
<!DOCTYPE html >
<html>
<head>
<title>PAlgorithm - PredictionIO Scala API 0.14.0 - org.apache.predictionio.controller.PAlgorithm</title>
<meta name="description" content="PAlgorithm - PredictionIO Scala API 0.14.0 - org.apache.predictionio.controller.PAlgorithm" />
<meta name="keywords" content="PAlgorithm PredictionIO Scala API 0.14.0 org.apache.predictionio.controller.PAlgorithm" />
<meta http-equiv="content-type" content="text/html; charset=UTF-8" />
<link href="../../../../lib/template.css" media="screen" type="text/css" rel="stylesheet" />
<link href="../../../../lib/diagrams.css" media="screen" type="text/css" rel="stylesheet" id="diagrams-css" />
<script type="text/javascript" src="../../../../lib/jquery.js" id="jquery-js"></script>
<script type="text/javascript" src="../../../../lib/jquery-ui.js"></script>
<script type="text/javascript" src="../../../../lib/template.js"></script>
<script type="text/javascript" src="../../../../lib/tools.tooltip.js"></script>
<script type="text/javascript">
if(top === self) {
var url = '../../../../index.html';
var hash = 'org.apache.predictionio.controller.PAlgorithm';
var anchor = window.location.hash;
var anchor_opt = '';
if (anchor.length >= 1)
anchor_opt = '@' + anchor.substring(1);
window.location.href = url + '#' + hash + anchor_opt;
}
</script>
</head>
<body class="type">
<div id="definition">
<img alt="Class" src="../../../../lib/class_big.png" />
<p id="owner"><a href="../../../package.html" class="extype" name="org">org</a>.<a href="../../package.html" class="extype" name="org.apache">apache</a>.<a href="../package.html" class="extype" name="org.apache.predictionio">predictionio</a>.<a href="package.html" class="extype" name="org.apache.predictionio.controller">controller</a></p>
<h1>PAlgorithm</h1><h3><span class="morelinks"><div>Related Doc:
<a href="package.html" class="extype" name="org.apache.predictionio.controller">package controller</a>
</div></span></h3><span class="permalink">
<a href="../../../../index.html#org.apache.predictionio.controller.PAlgorithm" title="Permalink" target="_top">
<img src="../../../../lib/permalink.png" alt="Permalink" />
</a>
</span>
</div>
<h4 id="signature" class="signature">
<span class="modifier_kind">
<span class="modifier">abstract </span>
<span class="kind">class</span>
</span>
<span class="symbol">
<span class="name">PAlgorithm</span><span class="tparams">[<span name="PD">PD</span>, <span name="M">M</span>, <span name="Q">Q</span>, <span name="P">P</span>]</span><span class="result"> extends <a href="../core/BaseAlgorithm.html" class="extype" name="org.apache.predictionio.core.BaseAlgorithm">BaseAlgorithm</a>[<span class="extype" name="org.apache.predictionio.controller.PAlgorithm.PD">PD</span>, <span class="extype" name="org.apache.predictionio.controller.PAlgorithm.M">M</span>, <span class="extype" name="org.apache.predictionio.controller.PAlgorithm.Q">Q</span>, <span class="extype" name="org.apache.predictionio.controller.PAlgorithm.P">P</span>]</span>
</span>
</h4>
<div id="comment" class="fullcommenttop"><div class="comment cmt"><p>Base class of a parallel algorithm.</p><p>A parallel algorithm can be run in parallel on a cluster and produces a
model that can also be distributed across a cluster.</p><p>If your input query class requires custom JSON4S serialization, the most
idiomatic way is to implement a trait that extends <a href="CustomQuerySerializer.html" class="extype" name="org.apache.predictionio.controller.CustomQuerySerializer">CustomQuerySerializer</a>,
and mix that into your algorithm class, instead of overriding
<a href="#querySerializer:org.json4s.Formats" class="extmbr" name="org.apache.predictionio.controller.PAlgorithm#querySerializer">querySerializer</a> directly.</p><p>To provide evaluation feature, one must override and implement the
<a href="#batchPredict(m:M,qs:org.apache.spark.rdd.RDD[(Long,Q)]):org.apache.spark.rdd.RDD[(Long,P)]" class="extmbr" name="org.apache.predictionio.controller.PAlgorithm#batchPredict">batchPredict</a> method. Otherwise, an exception will be thrown when pio eval<code>
is used.
</code></p></div><dl class="paramcmts block"><dt class="tparam">PD</dt><dd class="cmt"><p>Prepared data class.</p></dd><dt class="tparam">M</dt><dd class="cmt"><p>Trained model class.</p></dd><dt class="tparam">Q</dt><dd class="cmt"><p>Input query class.</p></dd><dt class="tparam">P</dt><dd class="cmt"><p>Output prediction class.</p></dd></dl><div class="toggleContainer block">
<span class="toggle">Linear Supertypes</span>
<div class="superTypes hiddenContent"><a href="../core/BaseAlgorithm.html" class="extype" name="org.apache.predictionio.core.BaseAlgorithm">BaseAlgorithm</a>[<span class="extype" name="org.apache.predictionio.controller.PAlgorithm.PD">PD</span>, <span class="extype" name="org.apache.predictionio.controller.PAlgorithm.M">M</span>, <span class="extype" name="org.apache.predictionio.controller.PAlgorithm.Q">Q</span>, <span class="extype" name="org.apache.predictionio.controller.PAlgorithm.P">P</span>], <a href="../core/BaseQuerySerializer.html" class="extype" name="org.apache.predictionio.core.BaseQuerySerializer">BaseQuerySerializer</a>, <a href="../core/AbstractDoer.html" class="extype" name="org.apache.predictionio.core.AbstractDoer">AbstractDoer</a>, <a href="http://www.scala-lang.org/api/2.11.12/index.html#scala.Serializable" class="extype" target="_top">Serializable</a>, <span class="extype" name="java.io.Serializable">Serializable</span>, <span class="extype" name="scala.AnyRef">AnyRef</span>, <span class="extype" name="scala.Any">Any</span></div>
</div></div>
<div id="mbrsel">
<div id="textfilter"><span class="pre"></span><span class="input"><input id="mbrsel-input" type="text" accesskey="/" /></span><span class="post"></span></div>
<div id="order">
<span class="filtertype">Ordering</span>
<ol>
<li class="alpha in"><span>Alphabetic</span></li>
<li class="inherit out"><span>By Inheritance</span></li>
</ol>
</div>
<div id="ancestors">
<span class="filtertype">Inherited<br />
</span>
<ol id="linearization">
<li class="in" name="org.apache.predictionio.controller.PAlgorithm"><span>PAlgorithm</span></li><li class="in" name="org.apache.predictionio.core.BaseAlgorithm"><span>BaseAlgorithm</span></li><li class="in" name="org.apache.predictionio.core.BaseQuerySerializer"><span>BaseQuerySerializer</span></li><li class="in" name="org.apache.predictionio.core.AbstractDoer"><span>AbstractDoer</span></li><li class="in" name="scala.Serializable"><span>Serializable</span></li><li class="in" name="java.io.Serializable"><span>Serializable</span></li><li class="in" name="scala.AnyRef"><span>AnyRef</span></li><li class="in" name="scala.Any"><span>Any</span></li>
</ol>
</div><div id="ancestors">
<span class="filtertype"></span>
<ol>
<li class="hideall out"><span>Hide All</span></li>
<li class="showall in"><span>Show All</span></li>
</ol>
</div>
<div id="visbl">
<span class="filtertype">Visibility</span>
<ol><li class="public in"><span>Public</span></li><li class="all out"><span>All</span></li></ol>
</div>
</div>
<div id="template">
<div id="allMembers">
<div id="constructors" class="members">
<h3>Instance Constructors</h3>
<ol><li name="org.apache.predictionio.controller.PAlgorithm#&lt;init&gt;" visbl="pub" data-isabs="false" fullComment="no" group="Ungrouped">
<a id="&lt;init&gt;():org.apache.predictionio.controller.PAlgorithm[PD,M,Q,P]"></a>
<a id="&lt;init&gt;:PAlgorithm[PD,M,Q,P]"></a>
<h4 class="signature">
<span class="modifier_kind">
<span class="modifier"></span>
<span class="kind">new</span>
</span>
<span class="symbol">
<span class="name">PAlgorithm</span><span class="params">()</span>
</span>
</h4><span class="permalink">
<a href="../../../../index.html#org.apache.predictionio.controller.PAlgorithm@&lt;init&gt;():org.apache.predictionio.controller.PAlgorithm[PD,M,Q,P]" title="Permalink" target="_top">
<img src="../../../../lib/permalink.png" alt="Permalink" />
</a>
</span>
<p class="shortcomment cmt"></p>
</li></ol>
</div>
<div id="values" class="values members">
<h3>Abstract Value Members</h3>
<ol><li name="org.apache.predictionio.controller.PAlgorithm#predict" visbl="pub" data-isabs="true" fullComment="yes" group="Ungrouped">
<a id="predict(model:M,query:Q):P"></a>
<a id="predict(M,Q):P"></a>
<h4 class="signature">
<span class="modifier_kind">
<span class="modifier">abstract </span>
<span class="kind">def</span>
</span>
<span class="symbol">
<span class="name">predict</span><span class="params">(<span name="model">model: <span class="extype" name="org.apache.predictionio.controller.PAlgorithm.M">M</span></span>, <span name="query">query: <span class="extype" name="org.apache.predictionio.controller.PAlgorithm.Q">Q</span></span>)</span><span class="result">: <span class="extype" name="org.apache.predictionio.controller.PAlgorithm.P">P</span></span>
</span>
</h4><span class="permalink">
<a href="../../../../index.html#org.apache.predictionio.controller.PAlgorithm@predict(model:M,query:Q):P" title="Permalink" target="_top">
<img src="../../../../lib/permalink.png" alt="Permalink" />
</a>
</span>
<p class="shortcomment cmt">Implement this method to produce a prediction from a query and trained
model.</p><div class="fullcomment"><div class="comment cmt"><p>Implement this method to produce a prediction from a query and trained
model.
</p></div><dl class="paramcmts block"><dt class="param">model</dt><dd class="cmt"><p>Trained model produced by <a href="#train(sc:org.apache.spark.SparkContext,pd:PD):M" class="extmbr" name="org.apache.predictionio.controller.PAlgorithm#train">train</a>.</p></dd><dt class="param">query</dt><dd class="cmt"><p>An input query.</p></dd><dt>returns</dt><dd class="cmt"><p>A prediction.</p></dd></dl></div>
</li><li name="org.apache.predictionio.controller.PAlgorithm#train" visbl="pub" data-isabs="true" fullComment="yes" group="Ungrouped">
<a id="train(sc:org.apache.spark.SparkContext,pd:PD):M"></a>
<a id="train(SparkContext,PD):M"></a>
<h4 class="signature">
<span class="modifier_kind">
<span class="modifier">abstract </span>
<span class="kind">def</span>
</span>
<span class="symbol">
<span class="name">train</span><span class="params">(<span name="sc">sc: <span class="extype" name="org.apache.spark.SparkContext">SparkContext</span></span>, <span name="pd">pd: <span class="extype" name="org.apache.predictionio.controller.PAlgorithm.PD">PD</span></span>)</span><span class="result">: <span class="extype" name="org.apache.predictionio.controller.PAlgorithm.M">M</span></span>
</span>
</h4><span class="permalink">
<a href="../../../../index.html#org.apache.predictionio.controller.PAlgorithm@train(sc:org.apache.spark.SparkContext,pd:PD):M" title="Permalink" target="_top">
<img src="../../../../lib/permalink.png" alt="Permalink" />
</a>
</span>
<p class="shortcomment cmt">Implement this method to produce a model from prepared data.</p><div class="fullcomment"><div class="comment cmt"><p>Implement this method to produce a model from prepared data.
</p></div><dl class="paramcmts block"><dt class="param">pd</dt><dd class="cmt"><p>Prepared data for model training.</p></dd><dt>returns</dt><dd class="cmt"><p>Trained model.</p></dd></dl></div>
</li></ol>
</div>
<div id="values" class="values members">
<h3>Concrete Value Members</h3>
<ol><li name="scala.AnyRef#!=" visbl="pub" data-isabs="false" fullComment="yes" group="Ungrouped">
<a id="!=(x$1:Any):Boolean"></a>
<a id="!=(Any):Boolean"></a>
<h4 class="signature">
<span class="modifier_kind">
<span class="modifier">final </span>
<span class="kind">def</span>
</span>
<span class="symbol">
<span title="gt4s: $bang$eq" class="name">!=</span><span class="params">(<span name="arg0">arg0: <span class="extype" name="scala.Any">Any</span></span>)</span><span class="result">: <a href="http://www.scala-lang.org/api/2.11.12/index.html#scala.Boolean" class="extype" target="_top">Boolean</a></span>
</span>
</h4><span class="permalink">
<a href="../../../../index.html#org.apache.predictionio.controller.PAlgorithm@!=(x$1:Any):Boolean" title="Permalink" target="_top">
<img src="../../../../lib/permalink.png" alt="Permalink" />
</a>
</span>
<div class="fullcomment"><dl class="attributes block"> <dt>Definition Classes</dt><dd>AnyRef → Any</dd></dl></div>
</li><li name="scala.AnyRef###" visbl="pub" data-isabs="false" fullComment="yes" group="Ungrouped">
<a id="##():Int"></a>
<a id="##():Int"></a>
<h4 class="signature">
<span class="modifier_kind">
<span class="modifier">final </span>
<span class="kind">def</span>
</span>
<span class="symbol">
<span title="gt4s: $hash$hash" class="name">##</span><span class="params">()</span><span class="result">: <a href="http://www.scala-lang.org/api/2.11.12/index.html#scala.Int" class="extype" target="_top">Int</a></span>
</span>
</h4><span class="permalink">
<a href="../../../../index.html#org.apache.predictionio.controller.PAlgorithm@##():Int" title="Permalink" target="_top">
<img src="../../../../lib/permalink.png" alt="Permalink" />
</a>
</span>
<div class="fullcomment"><dl class="attributes block"> <dt>Definition Classes</dt><dd>AnyRef → Any</dd></dl></div>
</li><li name="scala.AnyRef#==" visbl="pub" data-isabs="false" fullComment="yes" group="Ungrouped">
<a id="==(x$1:Any):Boolean"></a>
<a id="==(Any):Boolean"></a>
<h4 class="signature">
<span class="modifier_kind">
<span class="modifier">final </span>
<span class="kind">def</span>
</span>
<span class="symbol">
<span title="gt4s: $eq$eq" class="name">==</span><span class="params">(<span name="arg0">arg0: <span class="extype" name="scala.Any">Any</span></span>)</span><span class="result">: <a href="http://www.scala-lang.org/api/2.11.12/index.html#scala.Boolean" class="extype" target="_top">Boolean</a></span>
</span>
</h4><span class="permalink">
<a href="../../../../index.html#org.apache.predictionio.controller.PAlgorithm@==(x$1:Any):Boolean" title="Permalink" target="_top">
<img src="../../../../lib/permalink.png" alt="Permalink" />
</a>
</span>
<div class="fullcomment"><dl class="attributes block"> <dt>Definition Classes</dt><dd>AnyRef → Any</dd></dl></div>
</li><li name="scala.Any#asInstanceOf" visbl="pub" data-isabs="false" fullComment="yes" group="Ungrouped">
<a id="asInstanceOf[T0]:T0"></a>
<a id="asInstanceOf[T0]:T0"></a>
<h4 class="signature">
<span class="modifier_kind">
<span class="modifier">final </span>
<span class="kind">def</span>
</span>
<span class="symbol">
<span class="name">asInstanceOf</span><span class="tparams">[<span name="T0">T0</span>]</span><span class="result">: <span class="extype" name="scala.Any.asInstanceOf.T0">T0</span></span>
</span>
</h4><span class="permalink">
<a href="../../../../index.html#org.apache.predictionio.controller.PAlgorithm@asInstanceOf[T0]:T0" title="Permalink" target="_top">
<img src="../../../../lib/permalink.png" alt="Permalink" />
</a>
</span>
<div class="fullcomment"><dl class="attributes block"> <dt>Definition Classes</dt><dd>Any</dd></dl></div>
</li><li name="org.apache.predictionio.controller.PAlgorithm#batchPredict" visbl="pub" data-isabs="false" fullComment="yes" group="Ungrouped">
<a id="batchPredict(m:M,qs:org.apache.spark.rdd.RDD[(Long,Q)]):org.apache.spark.rdd.RDD[(Long,P)]"></a>
<a id="batchPredict(M,RDD[(Long,Q)]):RDD[(Long,P)]"></a>
<h4 class="signature">
<span class="modifier_kind">
<span class="modifier"></span>
<span class="kind">def</span>
</span>
<span class="symbol">
<span class="name">batchPredict</span><span class="params">(<span name="m">m: <span class="extype" name="org.apache.predictionio.controller.PAlgorithm.M">M</span></span>, <span name="qs">qs: <span class="extype" name="org.apache.spark.rdd.RDD">RDD</span>[(<a href="http://www.scala-lang.org/api/2.11.12/index.html#scala.Long" class="extype" target="_top">Long</a>, <span class="extype" name="org.apache.predictionio.controller.PAlgorithm.Q">Q</span>)]</span>)</span><span class="result">: <span class="extype" name="org.apache.spark.rdd.RDD">RDD</span>[(<a href="http://www.scala-lang.org/api/2.11.12/index.html#scala.Long" class="extype" target="_top">Long</a>, <span class="extype" name="org.apache.predictionio.controller.PAlgorithm.P">P</span>)]</span>
</span>
</h4><span class="permalink">
<a href="../../../../index.html#org.apache.predictionio.controller.PAlgorithm@batchPredict(m:M,qs:org.apache.spark.rdd.RDD[(Long,Q)]):org.apache.spark.rdd.RDD[(Long,P)]" title="Permalink" target="_top">
<img src="../../../../lib/permalink.png" alt="Permalink" />
</a>
</span>
<p class="shortcomment cmt">To provide evaluation feature, one must override and implement this method
to generate many predictions in batch.</p><div class="fullcomment"><div class="comment cmt"><p>To provide evaluation feature, one must override and implement this method
to generate many predictions in batch. Otherwise, an exception will be
thrown when <code>pio eval</code> is used.</p><p>The default implementation throws an exception.
</p></div><dl class="paramcmts block"><dt class="param">m</dt><dd class="cmt"><p>Trained model produced by <a href="#train(sc:org.apache.spark.SparkContext,pd:PD):M" class="extmbr" name="org.apache.predictionio.controller.PAlgorithm#train">train</a>.</p></dd><dt class="param">qs</dt><dd class="cmt"><p>An RDD of index-query tuples. The index is used to keep track of
predicted results with corresponding queries.</p></dd></dl></div>
</li><li name="org.apache.predictionio.controller.PAlgorithm#batchPredictBase" visbl="pub" data-isabs="false" fullComment="yes" group="Ungrouped">
<a id="batchPredictBase(sc:org.apache.spark.SparkContext,bm:Any,qs:org.apache.spark.rdd.RDD[(Long,Q)]):org.apache.spark.rdd.RDD[(Long,P)]"></a>
<a id="batchPredictBase(SparkContext,Any,RDD[(Long,Q)]):RDD[(Long,P)]"></a>
<h4 class="signature">
<span class="modifier_kind">
<span class="modifier"></span>
<span class="kind">def</span>
</span>
<span class="symbol">
<span class="name">batchPredictBase</span><span class="params">(<span name="sc">sc: <span class="extype" name="org.apache.spark.SparkContext">SparkContext</span></span>, <span name="bm">bm: <span class="extype" name="scala.Any">Any</span></span>, <span name="qs">qs: <span class="extype" name="org.apache.spark.rdd.RDD">RDD</span>[(<a href="http://www.scala-lang.org/api/2.11.12/index.html#scala.Long" class="extype" target="_top">Long</a>, <span class="extype" name="org.apache.predictionio.controller.PAlgorithm.Q">Q</span>)]</span>)</span><span class="result">: <span class="extype" name="org.apache.spark.rdd.RDD">RDD</span>[(<a href="http://www.scala-lang.org/api/2.11.12/index.html#scala.Long" class="extype" target="_top">Long</a>, <span class="extype" name="org.apache.predictionio.controller.PAlgorithm.P">P</span>)]</span>
</span>
</h4><span class="permalink">
<a href="../../../../index.html#org.apache.predictionio.controller.PAlgorithm@batchPredictBase(sc:org.apache.spark.SparkContext,bm:Any,qs:org.apache.spark.rdd.RDD[(Long,Q)]):org.apache.spark.rdd.RDD[(Long,P)]" title="Permalink" target="_top">
<img src="../../../../lib/permalink.png" alt="Permalink" />
</a>
</span>
<p class="shortcomment cmt">:: DeveloperApi ::
Engine developers should not use this directly.</p><div class="fullcomment"><div class="comment cmt"><p>:: DeveloperApi ::
Engine developers should not use this directly. This is called by
evaluation workflow to perform batch prediction.
</p></div><dl class="paramcmts block"><dt class="param">sc</dt><dd class="cmt"><p>Spark context</p></dd><dt class="param">bm</dt><dd class="cmt"><p>Model</p></dd><dt class="param">qs</dt><dd class="cmt"><p>Batch of queries</p></dd><dt>returns</dt><dd class="cmt"><p>Batch of predicted results</p></dd></dl><dl class="attributes block"> <dt>Definition Classes</dt><dd><a href="" class="extype" name="org.apache.predictionio.controller.PAlgorithm">PAlgorithm</a><a href="../core/BaseAlgorithm.html" class="extype" name="org.apache.predictionio.core.BaseAlgorithm">BaseAlgorithm</a></dd></dl></div>
</li><li name="scala.AnyRef#clone" visbl="prt" data-isabs="false" fullComment="yes" group="Ungrouped">
<a id="clone():Object"></a>
<a id="clone():AnyRef"></a>
<h4 class="signature">
<span class="modifier_kind">
<span class="modifier"></span>
<span class="kind">def</span>
</span>
<span class="symbol">
<span class="name">clone</span><span class="params">()</span><span class="result">: <span class="extype" name="scala.AnyRef">AnyRef</span></span>
</span>
</h4><span class="permalink">
<a href="../../../../index.html#org.apache.predictionio.controller.PAlgorithm@clone():Object" title="Permalink" target="_top">
<img src="../../../../lib/permalink.png" alt="Permalink" />
</a>
</span>
<div class="fullcomment"><dl class="attributes block"> <dt>Attributes</dt><dd>protected[<a href="../../../../java$lang.html" class="extype" name="java.lang">java.lang</a>] </dd><dt>Definition Classes</dt><dd>AnyRef</dd><dt>Annotations</dt><dd>
<span class="name">@throws</span><span class="args">(<span>
<span class="defval" name="classOf[java.lang.CloneNotSupportedException]">...</span>
</span>)</span>
</dd></dl></div>
</li><li name="scala.AnyRef#eq" visbl="pub" data-isabs="false" fullComment="yes" group="Ungrouped">
<a id="eq(x$1:AnyRef):Boolean"></a>
<a id="eq(AnyRef):Boolean"></a>
<h4 class="signature">
<span class="modifier_kind">
<span class="modifier">final </span>
<span class="kind">def</span>
</span>
<span class="symbol">
<span class="name">eq</span><span class="params">(<span name="arg0">arg0: <span class="extype" name="scala.AnyRef">AnyRef</span></span>)</span><span class="result">: <a href="http://www.scala-lang.org/api/2.11.12/index.html#scala.Boolean" class="extype" target="_top">Boolean</a></span>
</span>
</h4><span class="permalink">
<a href="../../../../index.html#org.apache.predictionio.controller.PAlgorithm@eq(x$1:AnyRef):Boolean" title="Permalink" target="_top">
<img src="../../../../lib/permalink.png" alt="Permalink" />
</a>
</span>
<div class="fullcomment"><dl class="attributes block"> <dt>Definition Classes</dt><dd>AnyRef</dd></dl></div>
</li><li name="scala.AnyRef#equals" visbl="pub" data-isabs="false" fullComment="yes" group="Ungrouped">
<a id="equals(x$1:Any):Boolean"></a>
<a id="equals(Any):Boolean"></a>
<h4 class="signature">
<span class="modifier_kind">
<span class="modifier"></span>
<span class="kind">def</span>
</span>
<span class="symbol">
<span class="name">equals</span><span class="params">(<span name="arg0">arg0: <span class="extype" name="scala.Any">Any</span></span>)</span><span class="result">: <a href="http://www.scala-lang.org/api/2.11.12/index.html#scala.Boolean" class="extype" target="_top">Boolean</a></span>
</span>
</h4><span class="permalink">
<a href="../../../../index.html#org.apache.predictionio.controller.PAlgorithm@equals(x$1:Any):Boolean" title="Permalink" target="_top">
<img src="../../../../lib/permalink.png" alt="Permalink" />
</a>
</span>
<div class="fullcomment"><dl class="attributes block"> <dt>Definition Classes</dt><dd>AnyRef → Any</dd></dl></div>
</li><li name="scala.AnyRef#finalize" visbl="prt" data-isabs="false" fullComment="yes" group="Ungrouped">
<a id="finalize():Unit"></a>
<a id="finalize():Unit"></a>
<h4 class="signature">
<span class="modifier_kind">
<span class="modifier"></span>
<span class="kind">def</span>
</span>
<span class="symbol">
<span class="name">finalize</span><span class="params">()</span><span class="result">: <a href="http://www.scala-lang.org/api/2.11.12/index.html#scala.Unit" class="extype" target="_top">Unit</a></span>
</span>
</h4><span class="permalink">
<a href="../../../../index.html#org.apache.predictionio.controller.PAlgorithm@finalize():Unit" title="Permalink" target="_top">
<img src="../../../../lib/permalink.png" alt="Permalink" />
</a>
</span>
<div class="fullcomment"><dl class="attributes block"> <dt>Attributes</dt><dd>protected[<a href="../../../../java$lang.html" class="extype" name="java.lang">java.lang</a>] </dd><dt>Definition Classes</dt><dd>AnyRef</dd><dt>Annotations</dt><dd>
<span class="name">@throws</span><span class="args">(<span>
<span class="symbol">classOf[java.lang.Throwable]</span>
</span>)</span>
</dd></dl></div>
</li><li name="scala.AnyRef#getClass" visbl="pub" data-isabs="false" fullComment="yes" group="Ungrouped">
<a id="getClass():Class[_]"></a>
<a id="getClass():Class[_]"></a>
<h4 class="signature">
<span class="modifier_kind">
<span class="modifier">final </span>
<span class="kind">def</span>
</span>
<span class="symbol">
<span class="name">getClass</span><span class="params">()</span><span class="result">: <span class="extype" name="java.lang.Class">Class</span>[_]</span>
</span>
</h4><span class="permalink">
<a href="../../../../index.html#org.apache.predictionio.controller.PAlgorithm@getClass():Class[_]" title="Permalink" target="_top">
<img src="../../../../lib/permalink.png" alt="Permalink" />
</a>
</span>
<div class="fullcomment"><dl class="attributes block"> <dt>Definition Classes</dt><dd>AnyRef → Any</dd></dl></div>
</li><li name="org.apache.predictionio.core.BaseQuerySerializer#gsonTypeAdapterFactories" visbl="pub" data-isabs="false" fullComment="yes" group="Ungrouped">
<a id="gsonTypeAdapterFactories:Seq[com.google.gson.TypeAdapterFactory]"></a>
<a id="gsonTypeAdapterFactories:Seq[TypeAdapterFactory]"></a>
<h4 class="signature">
<span class="modifier_kind">
<span class="modifier"></span>
<span class="kind">lazy val</span>
</span>
<span class="symbol">
<span class="name">gsonTypeAdapterFactories</span><span class="result">: <a href="http://www.scala-lang.org/api/2.11.12/index.html#scala.collection.Seq" class="extype" target="_top">Seq</a>[<span class="extype" name="com.google.gson.TypeAdapterFactory">TypeAdapterFactory</span>]</span>
</span>
</h4><span class="permalink">
<a href="../../../../index.html#org.apache.predictionio.controller.PAlgorithm@gsonTypeAdapterFactories:Seq[com.google.gson.TypeAdapterFactory]" title="Permalink" target="_top">
<img src="../../../../lib/permalink.png" alt="Permalink" />
</a>
</span>
<p class="shortcomment cmt">:: DeveloperApi ::
Serializer for Java query classes using Gson
</p><div class="fullcomment"><div class="comment cmt"><p>:: DeveloperApi ::
Serializer for Java query classes using Gson
</p></div><dl class="attributes block"> <dt>Definition Classes</dt><dd><a href="../core/BaseQuerySerializer.html" class="extype" name="org.apache.predictionio.core.BaseQuerySerializer">BaseQuerySerializer</a></dd></dl></div>
</li><li name="scala.AnyRef#hashCode" visbl="pub" data-isabs="false" fullComment="yes" group="Ungrouped">
<a id="hashCode():Int"></a>
<a id="hashCode():Int"></a>
<h4 class="signature">
<span class="modifier_kind">
<span class="modifier"></span>
<span class="kind">def</span>
</span>
<span class="symbol">
<span class="name">hashCode</span><span class="params">()</span><span class="result">: <a href="http://www.scala-lang.org/api/2.11.12/index.html#scala.Int" class="extype" target="_top">Int</a></span>
</span>
</h4><span class="permalink">
<a href="../../../../index.html#org.apache.predictionio.controller.PAlgorithm@hashCode():Int" title="Permalink" target="_top">
<img src="../../../../lib/permalink.png" alt="Permalink" />
</a>
</span>
<div class="fullcomment"><dl class="attributes block"> <dt>Definition Classes</dt><dd>AnyRef → Any</dd></dl></div>
</li><li name="scala.Any#isInstanceOf" visbl="pub" data-isabs="false" fullComment="yes" group="Ungrouped">
<a id="isInstanceOf[T0]:Boolean"></a>
<a id="isInstanceOf[T0]:Boolean"></a>
<h4 class="signature">
<span class="modifier_kind">
<span class="modifier">final </span>
<span class="kind">def</span>
</span>
<span class="symbol">
<span class="name">isInstanceOf</span><span class="tparams">[<span name="T0">T0</span>]</span><span class="result">: <a href="http://www.scala-lang.org/api/2.11.12/index.html#scala.Boolean" class="extype" target="_top">Boolean</a></span>
</span>
</h4><span class="permalink">
<a href="../../../../index.html#org.apache.predictionio.controller.PAlgorithm@isInstanceOf[T0]:Boolean" title="Permalink" target="_top">
<img src="../../../../lib/permalink.png" alt="Permalink" />
</a>
</span>
<div class="fullcomment"><dl class="attributes block"> <dt>Definition Classes</dt><dd>Any</dd></dl></div>
</li><li name="org.apache.predictionio.controller.PAlgorithm#makePersistentModel" visbl="pub" data-isabs="false" fullComment="yes" group="Ungrouped">
<a id="makePersistentModel(sc:org.apache.spark.SparkContext,modelId:String,algoParams:org.apache.predictionio.controller.Params,bm:Any):Any"></a>
<a id="makePersistentModel(SparkContext,String,Params,Any):Any"></a>
<h4 class="signature">
<span class="modifier_kind">
<span class="modifier"></span>
<span class="kind">def</span>
</span>
<span class="symbol">
<span class="name">makePersistentModel</span><span class="params">(<span name="sc">sc: <span class="extype" name="org.apache.spark.SparkContext">SparkContext</span></span>, <span name="modelId">modelId: <span class="extype" name="scala.Predef.String">String</span></span>, <span name="algoParams">algoParams: <a href="Params.html" class="extype" name="org.apache.predictionio.controller.Params">Params</a></span>, <span name="bm">bm: <span class="extype" name="scala.Any">Any</span></span>)</span><span class="result">: <span class="extype" name="scala.Any">Any</span></span>
</span>
</h4><span class="permalink">
<a href="../../../../index.html#org.apache.predictionio.controller.PAlgorithm@makePersistentModel(sc:org.apache.spark.SparkContext,modelId:String,algoParams:org.apache.predictionio.controller.Params,bm:Any):Any" title="Permalink" target="_top">
<img src="../../../../lib/permalink.png" alt="Permalink" />
</a>
</span>
<p class="shortcomment cmt">:: DeveloperApi ::
Engine developers should not use this directly (read on to see how parallel
algorithm models are persisted).</p><div class="fullcomment"><div class="comment cmt"><p>:: DeveloperApi ::
Engine developers should not use this directly (read on to see how parallel
algorithm models are persisted).</p><p>In general, parallel models may contain multiple RDDs. It is not easy to
infer and persist them programmatically since these RDDs may be
potentially huge. To persist these models, engine developers need to mix
the <a href="PersistentModel.html" class="extype" name="org.apache.predictionio.controller.PersistentModel">PersistentModel</a> trait into the model class and implement
<a href="PersistentModel.html#save(id:String,params:AP,sc:org.apache.spark.SparkContext):Boolean" class="extmbr" name="org.apache.predictionio.controller.PersistentModel#save">PersistentModel.save</a>. If it returns true, a
<a href="../workflow/PersistentModelManifest.html" class="extype" name="org.apache.predictionio.workflow.PersistentModelManifest">org.apache.predictionio.workflow.PersistentModelManifest</a> will be
returned so that during deployment, PredictionIO will use
<a href="PersistentModelLoader.html" class="extype" name="org.apache.predictionio.controller.PersistentModelLoader">PersistentModelLoader</a> to retrieve the model. Otherwise, Unit will be
returned and the model will be re-trained on-the-fly.
</p></div><dl class="paramcmts block"><dt class="param">sc</dt><dd class="cmt"><p>Spark context</p></dd><dt class="param">modelId</dt><dd class="cmt"><p>Model ID</p></dd><dt class="param">algoParams</dt><dd class="cmt"><p>Algorithm parameters that trained this model</p></dd><dt class="param">bm</dt><dd class="cmt"><p>Model</p></dd><dt>returns</dt><dd class="cmt"><p>The model itself for automatic persistence, an instance of
<a href="../workflow/PersistentModelManifest.html" class="extype" name="org.apache.predictionio.workflow.PersistentModelManifest">org.apache.predictionio.workflow.PersistentModelManifest</a> for manual
persistence, or Unit for re-training on deployment</p></dd></dl><dl class="attributes block"> <dt>Definition Classes</dt><dd><a href="" class="extype" name="org.apache.predictionio.controller.PAlgorithm">PAlgorithm</a><a href="../core/BaseAlgorithm.html" class="extype" name="org.apache.predictionio.core.BaseAlgorithm">BaseAlgorithm</a></dd><dt>Annotations</dt><dd>
<span class="name">@DeveloperApi</span><span class="args">()</span>
</dd></dl></div>
</li><li name="scala.AnyRef#ne" visbl="pub" data-isabs="false" fullComment="yes" group="Ungrouped">
<a id="ne(x$1:AnyRef):Boolean"></a>
<a id="ne(AnyRef):Boolean"></a>
<h4 class="signature">
<span class="modifier_kind">
<span class="modifier">final </span>
<span class="kind">def</span>
</span>
<span class="symbol">
<span class="name">ne</span><span class="params">(<span name="arg0">arg0: <span class="extype" name="scala.AnyRef">AnyRef</span></span>)</span><span class="result">: <a href="http://www.scala-lang.org/api/2.11.12/index.html#scala.Boolean" class="extype" target="_top">Boolean</a></span>
</span>
</h4><span class="permalink">
<a href="../../../../index.html#org.apache.predictionio.controller.PAlgorithm@ne(x$1:AnyRef):Boolean" title="Permalink" target="_top">
<img src="../../../../lib/permalink.png" alt="Permalink" />
</a>
</span>
<div class="fullcomment"><dl class="attributes block"> <dt>Definition Classes</dt><dd>AnyRef</dd></dl></div>
</li><li name="scala.AnyRef#notify" visbl="pub" data-isabs="false" fullComment="yes" group="Ungrouped">
<a id="notify():Unit"></a>
<a id="notify():Unit"></a>
<h4 class="signature">
<span class="modifier_kind">
<span class="modifier">final </span>
<span class="kind">def</span>
</span>
<span class="symbol">
<span class="name">notify</span><span class="params">()</span><span class="result">: <a href="http://www.scala-lang.org/api/2.11.12/index.html#scala.Unit" class="extype" target="_top">Unit</a></span>
</span>
</h4><span class="permalink">
<a href="../../../../index.html#org.apache.predictionio.controller.PAlgorithm@notify():Unit" title="Permalink" target="_top">
<img src="../../../../lib/permalink.png" alt="Permalink" />
</a>
</span>
<div class="fullcomment"><dl class="attributes block"> <dt>Definition Classes</dt><dd>AnyRef</dd></dl></div>
</li><li name="scala.AnyRef#notifyAll" visbl="pub" data-isabs="false" fullComment="yes" group="Ungrouped">
<a id="notifyAll():Unit"></a>
<a id="notifyAll():Unit"></a>
<h4 class="signature">
<span class="modifier_kind">
<span class="modifier">final </span>
<span class="kind">def</span>
</span>
<span class="symbol">
<span class="name">notifyAll</span><span class="params">()</span><span class="result">: <a href="http://www.scala-lang.org/api/2.11.12/index.html#scala.Unit" class="extype" target="_top">Unit</a></span>
</span>
</h4><span class="permalink">
<a href="../../../../index.html#org.apache.predictionio.controller.PAlgorithm@notifyAll():Unit" title="Permalink" target="_top">
<img src="../../../../lib/permalink.png" alt="Permalink" />
</a>
</span>
<div class="fullcomment"><dl class="attributes block"> <dt>Definition Classes</dt><dd>AnyRef</dd></dl></div>
</li><li name="org.apache.predictionio.controller.PAlgorithm#predictBase" visbl="pub" data-isabs="false" fullComment="yes" group="Ungrouped">
<a id="predictBase(baseModel:Any,query:Q):P"></a>
<a id="predictBase(Any,Q):P"></a>
<h4 class="signature">
<span class="modifier_kind">
<span class="modifier"></span>
<span class="kind">def</span>
</span>
<span class="symbol">
<span class="name">predictBase</span><span class="params">(<span name="baseModel">baseModel: <span class="extype" name="scala.Any">Any</span></span>, <span name="query">query: <span class="extype" name="org.apache.predictionio.controller.PAlgorithm.Q">Q</span></span>)</span><span class="result">: <span class="extype" name="org.apache.predictionio.controller.PAlgorithm.P">P</span></span>
</span>
</h4><span class="permalink">
<a href="../../../../index.html#org.apache.predictionio.controller.PAlgorithm@predictBase(baseModel:Any,query:Q):P" title="Permalink" target="_top">
<img src="../../../../lib/permalink.png" alt="Permalink" />
</a>
</span>
<p class="shortcomment cmt">:: DeveloperApi ::
Engine developers should not use this directly.</p><div class="fullcomment"><div class="comment cmt"><p>:: DeveloperApi ::
Engine developers should not use this directly. Called by serving to
perform a single prediction.
</p></div><dl class="paramcmts block"><dt>returns</dt><dd class="cmt"><p>Predicted result</p></dd></dl><dl class="attributes block"> <dt>Definition Classes</dt><dd><a href="" class="extype" name="org.apache.predictionio.controller.PAlgorithm">PAlgorithm</a><a href="../core/BaseAlgorithm.html" class="extype" name="org.apache.predictionio.core.BaseAlgorithm">BaseAlgorithm</a></dd></dl></div>
</li><li name="org.apache.predictionio.core.BaseAlgorithm#queryClass" visbl="pub" data-isabs="false" fullComment="yes" group="Ungrouped">
<a id="queryClass:Class[Q]"></a>
<a id="queryClass:Class[Q]"></a>
<h4 class="signature">
<span class="modifier_kind">
<span class="modifier"></span>
<span class="kind">def</span>
</span>
<span class="symbol">
<span class="name">queryClass</span><span class="result">: <span class="extype" name="scala.Predef.Class">Class</span>[<span class="extype" name="org.apache.predictionio.controller.PAlgorithm.Q">Q</span>]</span>
</span>
</h4><span class="permalink">
<a href="../../../../index.html#org.apache.predictionio.controller.PAlgorithm@queryClass:Class[Q]" title="Permalink" target="_top">
<img src="../../../../lib/permalink.png" alt="Permalink" />
</a>
</span>
<p class="shortcomment cmt">:: DeveloperApi ::
Obtains the type signature of query for this algorithm
</p><div class="fullcomment"><div class="comment cmt"><p>:: DeveloperApi ::
Obtains the type signature of query for this algorithm
</p></div><dl class="paramcmts block"><dt>returns</dt><dd class="cmt"><p>Type signature of query</p></dd></dl><dl class="attributes block"> <dt>Definition Classes</dt><dd><a href="../core/BaseAlgorithm.html" class="extype" name="org.apache.predictionio.core.BaseAlgorithm">BaseAlgorithm</a></dd></dl></div>
</li><li name="org.apache.predictionio.core.BaseQuerySerializer#querySerializer" visbl="pub" data-isabs="false" fullComment="yes" group="Ungrouped">
<a id="querySerializer:org.json4s.Formats"></a>
<a id="querySerializer:Formats"></a>
<h4 class="signature">
<span class="modifier_kind">
<span class="modifier"></span>
<span class="kind">lazy val</span>
</span>
<span class="symbol">
<span class="name">querySerializer</span><span class="result">: <span class="extype" name="org.json4s.Formats">Formats</span></span>
</span>
</h4><span class="permalink">
<a href="../../../../index.html#org.apache.predictionio.controller.PAlgorithm@querySerializer:org.json4s.Formats" title="Permalink" target="_top">
<img src="../../../../lib/permalink.png" alt="Permalink" />
</a>
</span>
<p class="shortcomment cmt">:: DeveloperApi ::
Serializer for Scala query classes using
<a href="Utils$.html#json4sDefaultFormats:org.json4s.Formats" class="extmbr" name="org.apache.predictionio.controller.Utils#json4sDefaultFormats">org.apache.predictionio.controller.Utils.json4sDefaultFormats</a>
</p><div class="fullcomment"><div class="comment cmt"><p>:: DeveloperApi ::
Serializer for Scala query classes using
<a href="Utils$.html#json4sDefaultFormats:org.json4s.Formats" class="extmbr" name="org.apache.predictionio.controller.Utils#json4sDefaultFormats">org.apache.predictionio.controller.Utils.json4sDefaultFormats</a>
</p></div><dl class="attributes block"> <dt>Definition Classes</dt><dd><a href="../core/BaseQuerySerializer.html" class="extype" name="org.apache.predictionio.core.BaseQuerySerializer">BaseQuerySerializer</a></dd></dl></div>
</li><li name="scala.AnyRef#synchronized" visbl="pub" data-isabs="false" fullComment="yes" group="Ungrouped">
<a id="synchronized[T0](x$1:=&gt;T0):T0"></a>
<a id="synchronized[T0](⇒T0):T0"></a>
<h4 class="signature">
<span class="modifier_kind">
<span class="modifier">final </span>
<span class="kind">def</span>
</span>
<span class="symbol">
<span class="name">synchronized</span><span class="tparams">[<span name="T0">T0</span>]</span><span class="params">(<span name="arg0">arg0: ⇒ <span class="extype" name="java.lang.AnyRef.synchronized.T0">T0</span></span>)</span><span class="result">: <span class="extype" name="java.lang.AnyRef.synchronized.T0">T0</span></span>
</span>
</h4><span class="permalink">
<a href="../../../../index.html#org.apache.predictionio.controller.PAlgorithm@synchronized[T0](x$1:=&gt;T0):T0" title="Permalink" target="_top">
<img src="../../../../lib/permalink.png" alt="Permalink" />
</a>
</span>
<div class="fullcomment"><dl class="attributes block"> <dt>Definition Classes</dt><dd>AnyRef</dd></dl></div>
</li><li name="scala.AnyRef#toString" visbl="pub" data-isabs="false" fullComment="yes" group="Ungrouped">
<a id="toString():String"></a>
<a id="toString():String"></a>
<h4 class="signature">
<span class="modifier_kind">
<span class="modifier"></span>
<span class="kind">def</span>
</span>
<span class="symbol">
<span class="name">toString</span><span class="params">()</span><span class="result">: <span class="extype" name="java.lang.String">String</span></span>
</span>
</h4><span class="permalink">
<a href="../../../../index.html#org.apache.predictionio.controller.PAlgorithm@toString():String" title="Permalink" target="_top">
<img src="../../../../lib/permalink.png" alt="Permalink" />
</a>
</span>
<div class="fullcomment"><dl class="attributes block"> <dt>Definition Classes</dt><dd>AnyRef → Any</dd></dl></div>
</li><li name="org.apache.predictionio.controller.PAlgorithm#trainBase" visbl="pub" data-isabs="false" fullComment="yes" group="Ungrouped">
<a id="trainBase(sc:org.apache.spark.SparkContext,pd:PD):M"></a>
<a id="trainBase(SparkContext,PD):M"></a>
<h4 class="signature">
<span class="modifier_kind">
<span class="modifier"></span>
<span class="kind">def</span>
</span>
<span class="symbol">
<span class="name">trainBase</span><span class="params">(<span name="sc">sc: <span class="extype" name="org.apache.spark.SparkContext">SparkContext</span></span>, <span name="pd">pd: <span class="extype" name="org.apache.predictionio.controller.PAlgorithm.PD">PD</span></span>)</span><span class="result">: <span class="extype" name="org.apache.predictionio.controller.PAlgorithm.M">M</span></span>
</span>
</h4><span class="permalink">
<a href="../../../../index.html#org.apache.predictionio.controller.PAlgorithm@trainBase(sc:org.apache.spark.SparkContext,pd:PD):M" title="Permalink" target="_top">
<img src="../../../../lib/permalink.png" alt="Permalink" />
</a>
</span>
<p class="shortcomment cmt">:: DeveloperApi ::
Engine developers should not use this directly.</p><div class="fullcomment"><div class="comment cmt"><p>:: DeveloperApi ::
Engine developers should not use this directly. This is called by workflow
to train a model.
</p></div><dl class="paramcmts block"><dt class="param">sc</dt><dd class="cmt"><p>Spark context</p></dd><dt class="param">pd</dt><dd class="cmt"><p>Prepared data</p></dd><dt>returns</dt><dd class="cmt"><p>Trained model</p></dd></dl><dl class="attributes block"> <dt>Definition Classes</dt><dd><a href="" class="extype" name="org.apache.predictionio.controller.PAlgorithm">PAlgorithm</a><a href="../core/BaseAlgorithm.html" class="extype" name="org.apache.predictionio.core.BaseAlgorithm">BaseAlgorithm</a></dd></dl></div>
</li><li name="scala.AnyRef#wait" visbl="pub" data-isabs="false" fullComment="yes" group="Ungrouped">
<a id="wait():Unit"></a>
<a id="wait():Unit"></a>
<h4 class="signature">
<span class="modifier_kind">
<span class="modifier">final </span>
<span class="kind">def</span>
</span>
<span class="symbol">
<span class="name">wait</span><span class="params">()</span><span class="result">: <a href="http://www.scala-lang.org/api/2.11.12/index.html#scala.Unit" class="extype" target="_top">Unit</a></span>
</span>
</h4><span class="permalink">
<a href="../../../../index.html#org.apache.predictionio.controller.PAlgorithm@wait():Unit" title="Permalink" target="_top">
<img src="../../../../lib/permalink.png" alt="Permalink" />
</a>
</span>
<div class="fullcomment"><dl class="attributes block"> <dt>Definition Classes</dt><dd>AnyRef</dd><dt>Annotations</dt><dd>
<span class="name">@throws</span><span class="args">(<span>
<span class="defval" name="classOf[java.lang.InterruptedException]">...</span>
</span>)</span>
</dd></dl></div>
</li><li name="scala.AnyRef#wait" visbl="pub" data-isabs="false" fullComment="yes" group="Ungrouped">
<a id="wait(x$1:Long,x$2:Int):Unit"></a>
<a id="wait(Long,Int):Unit"></a>
<h4 class="signature">
<span class="modifier_kind">
<span class="modifier">final </span>
<span class="kind">def</span>
</span>
<span class="symbol">
<span class="name">wait</span><span class="params">(<span name="arg0">arg0: <a href="http://www.scala-lang.org/api/2.11.12/index.html#scala.Long" class="extype" target="_top">Long</a></span>, <span name="arg1">arg1: <a href="http://www.scala-lang.org/api/2.11.12/index.html#scala.Int" class="extype" target="_top">Int</a></span>)</span><span class="result">: <a href="http://www.scala-lang.org/api/2.11.12/index.html#scala.Unit" class="extype" target="_top">Unit</a></span>
</span>
</h4><span class="permalink">
<a href="../../../../index.html#org.apache.predictionio.controller.PAlgorithm@wait(x$1:Long,x$2:Int):Unit" title="Permalink" target="_top">
<img src="../../../../lib/permalink.png" alt="Permalink" />
</a>
</span>
<div class="fullcomment"><dl class="attributes block"> <dt>Definition Classes</dt><dd>AnyRef</dd><dt>Annotations</dt><dd>
<span class="name">@throws</span><span class="args">(<span>
<span class="defval" name="classOf[java.lang.InterruptedException]">...</span>
</span>)</span>
</dd></dl></div>
</li><li name="scala.AnyRef#wait" visbl="pub" data-isabs="false" fullComment="yes" group="Ungrouped">
<a id="wait(x$1:Long):Unit"></a>
<a id="wait(Long):Unit"></a>
<h4 class="signature">
<span class="modifier_kind">
<span class="modifier">final </span>
<span class="kind">def</span>
</span>
<span class="symbol">
<span class="name">wait</span><span class="params">(<span name="arg0">arg0: <a href="http://www.scala-lang.org/api/2.11.12/index.html#scala.Long" class="extype" target="_top">Long</a></span>)</span><span class="result">: <a href="http://www.scala-lang.org/api/2.11.12/index.html#scala.Unit" class="extype" target="_top">Unit</a></span>
</span>
</h4><span class="permalink">
<a href="../../../../index.html#org.apache.predictionio.controller.PAlgorithm@wait(x$1:Long):Unit" title="Permalink" target="_top">
<img src="../../../../lib/permalink.png" alt="Permalink" />
</a>
</span>
<div class="fullcomment"><dl class="attributes block"> <dt>Definition Classes</dt><dd>AnyRef</dd><dt>Annotations</dt><dd>
<span class="name">@throws</span><span class="args">(<span>
<span class="defval" name="classOf[java.lang.InterruptedException]">...</span>
</span>)</span>
</dd></dl></div>
</li></ol>
</div>
</div>
<div id="inheritedMembers">
<div class="parent" name="org.apache.predictionio.core.BaseAlgorithm">
<h3>Inherited from <a href="../core/BaseAlgorithm.html" class="extype" name="org.apache.predictionio.core.BaseAlgorithm">BaseAlgorithm</a>[<span class="extype" name="org.apache.predictionio.controller.PAlgorithm.PD">PD</span>, <span class="extype" name="org.apache.predictionio.controller.PAlgorithm.M">M</span>, <span class="extype" name="org.apache.predictionio.controller.PAlgorithm.Q">Q</span>, <span class="extype" name="org.apache.predictionio.controller.PAlgorithm.P">P</span>]</h3>
</div><div class="parent" name="org.apache.predictionio.core.BaseQuerySerializer">
<h3>Inherited from <a href="../core/BaseQuerySerializer.html" class="extype" name="org.apache.predictionio.core.BaseQuerySerializer">BaseQuerySerializer</a></h3>
</div><div class="parent" name="org.apache.predictionio.core.AbstractDoer">
<h3>Inherited from <a href="../core/AbstractDoer.html" class="extype" name="org.apache.predictionio.core.AbstractDoer">AbstractDoer</a></h3>
</div><div class="parent" name="scala.Serializable">
<h3>Inherited from <a href="http://www.scala-lang.org/api/2.11.12/index.html#scala.Serializable" class="extype" target="_top">Serializable</a></h3>
</div><div class="parent" name="java.io.Serializable">
<h3>Inherited from <span class="extype" name="java.io.Serializable">Serializable</span></h3>
</div><div class="parent" name="scala.AnyRef">
<h3>Inherited from <span class="extype" name="scala.AnyRef">AnyRef</span></h3>
</div><div class="parent" name="scala.Any">
<h3>Inherited from <span class="extype" name="scala.Any">Any</span></h3>
</div>
</div>
<div id="groupedMembers">
<div class="group" name="Ungrouped">
<h3>Ungrouped</h3>
</div>
</div>
</div>
<div id="tooltip"></div>
<div id="footer"> </div>
</body>
</html>