You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@predictionio.apache.org by ap...@apache.org on 2016/06/27 19:31:15 UTC
[01/50] [abbrv] incubator-predictionio git commit: update text
classification tutorial
Repository: incubator-predictionio
Updated Branches:
refs/heads/master [created] 03cab0fbe
update text classification tutorial
Project: http://git-wip-us.apache.org/repos/asf/incubator-predictionio/repo
Commit: http://git-wip-us.apache.org/repos/asf/incubator-predictionio/commit/e7b07ea5
Tree: http://git-wip-us.apache.org/repos/asf/incubator-predictionio/tree/e7b07ea5
Diff: http://git-wip-us.apache.org/repos/asf/incubator-predictionio/diff/e7b07ea5
Branch: refs/heads/master
Commit: e7b07ea58eecdc4502e5fce7845722390fb4ad74
Parents: 057500b
Author: Kenneth Chan <ke...@prediction.io>
Authored: Thu Jan 28 16:01:08 2016 -0800
Committer: Kenneth Chan <ke...@prediction.io>
Committed: Thu Jan 28 16:01:08 2016 -0800
----------------------------------------------------------------------
.../source/demo/textclassification.html.md | 124 ++++++++++++++-----
1 file changed, 93 insertions(+), 31 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/incubator-predictionio/blob/e7b07ea5/docs/manual/source/demo/textclassification.html.md
----------------------------------------------------------------------
diff --git a/docs/manual/source/demo/textclassification.html.md b/docs/manual/source/demo/textclassification.html.md
index 7f8719b..6b95544 100644
--- a/docs/manual/source/demo/textclassification.html.md
+++ b/docs/manual/source/demo/textclassification.html.md
@@ -6,7 +6,7 @@ title: Text Classification Engine Tutorial
In the real world, there are many applications that collect text as data. For example, spam detectors take email and header content to automatically determine what is or is not spam; applications can gague the general sentiment in a geographical area by analyzing Twitter data; and news articles can be automatically categorized based solely on the text content.There are a wide array of machine learning models you can use to create, or train, a predictive model to assign an incoming article, or query, to an existing category. Before you can use these techniques you must first transform the text data (in this case the set of news articles) into numeric vectors, or feature vectors, that can be used to train your model.
-The purpose of this tutorial is to illustrate how you can go about doing this using PredictionIO's platform. The advantages of using this platform include: a dynamic engine that responds to queries in real-time; [separation of concerns](http://en.wikipedia.org/wiki/Separation_of_concerns), which offers code re-use and maintainability, and distributed computing capabilities for scalability and efficiency. Moreover, it is easy to incorporate non-trivial data modeling tasks into the DASE architecture allowing Data Scientists to focus on tasks related to modeling. This tutorial will exemplify some of these ideas by guiding you through PredictionIO's [text classification template(http://templates.prediction.io/PredictionIO/template-scala-parallel-textclassification/).
+The purpose of this tutorial is to illustrate how you can go about doing this using PredictionIO's platform. The advantages of using this platform include: a dynamic engine that responds to queries in real-time; [separation of concerns](http://en.wikipedia.org/wiki/Separation_of_concerns), which offers code re-use and maintainability, and distributed computing capabilities for scalability and efficiency. Moreover, it is easy to incorporate non-trivial data modeling tasks into the DASE architecture allowing Data Scientists to focus on tasks related to modeling. This tutorial will exemplify some of these ideas by guiding you through PredictionIO's [text classification template(http://templates.prediction.io/PredictionIO/template-scala-parallel-textclassification/).
@@ -29,11 +29,11 @@ This engine template is meant to handle text classification which means you will
`{text : String}`.
-In the running example, a query would be an incoming news article. Once the engine is deployed it can process the query, and then return a Predicted Result of the form
+In the running example, a query would be an incoming news article. Once the engine is deployed it can process the query, and then return a Predicted Result of the form
`{category : String, confidence : Double}`.
-Here category is the model's class assignment for this new text document (i.e. the best guess for this article's categorization), and confidence, a value between 0 and 1 representing your confidence in the category prediction (0 meaning you have no confidence in the prediction). The Actual Result is of the form
+Here category is the model's class assignment for this new text document (i.e. the best guess for this article's categorization), and confidence, a value between 0 and 1 representing your confidence in the category prediction (0 meaning you have no confidence in the prediction). The Actual Result is of the form
`{category : String}`.
@@ -42,16 +42,20 @@ This is used in the evaluation stage when estimating the performance of your pre
## Quick Start
-This is a quick start guide in case you want to start using the engine right away. For more detailed information, read the subsequent sections.
+This is a quick start guide in case you want to start using the engine right away. Sample email data for spam classification will be used. For more detailed information, read the subsequent sections.
-**1.** Create a new application. After the application is created, you will be given an access key and application ID for the application.
+### 1. Create a new application.
+
+After the application is created, you will be given an access key and application ID for the application.
```
$ pio app new MyTextApp
```
-**2.** Import the tutorial data. There are three different data sets available, each giving a different use case for this engine. Please refer to the **Data Source: Reading Event Data** section to see how to appropriate modify the `DataSource` class for use with each respective data set. The default data set is an e-mail spam data set.
+### 2. Import the tutorial data.
+
+There are three different data sets available, each giving a different use case for this engine. Please refer to the **Data Source: Reading Event Data** section to see how to appropriate modify the `DataSource` class for use with each respective data set. The default data set is an e-mail spam data set.
These data sets have already been processed and are ready for [batch import](/datacollection/batchimport/). Replace `***` with your actual application ID.
@@ -61,7 +65,12 @@ $ pio import --appid *** --input data/stopwords.json
$ pio import --appid *** --input data/emails.json
```
-**3.** Set the engine parameters in the file `engine.json`. The default settings are shown below.
+### 3. Set the engine parameters in the file `engine.json`.
+
+The default settings are shown below. By default, it uses the algorithm name "lr" which is logstic regression. Please see later section for more detailed explanation of engine.json setting.
+
+Make sure the "appName" is same as the app you created in step1.
+
```
{
@@ -75,14 +84,16 @@ $ pio import --appid *** --input data/emails.json
},
"preparator": {
"params": {
- "nGram": 2
+ "nGram": 1,
+ "numFeatures": 500,
+ "SPPMI": false
}
},
"algorithms": [
{
- "name": "nb",
+ "name": "lr",
"params": {
- "lambda": 0.25
+ "regParam": 0.00000005
}
}
]
@@ -90,26 +101,78 @@ $ pio import --appid *** --input data/emails.json
```
-**4.** Build your engine.
+### 4. Build your engine.
```
-$ pio build
+$ pio build --verbose
+```
+
+This command should take few minutes for the first time; all subsequent builds should be less than a minute. You can also run it without `--verbose` if you don't want to see all the log messages.
+
+Upon successful build, you should see a console message similar to the following
+
+```
+[INFO] [RegisterEngine$] Registering engine 6wxDy2hxLbvaMJra927ahFdQHDIVXeQz 266bae678c570dee58154b2338cef7aa1646e0d3
+[INFO] [Console$] Your engine is ready for training.
```
-**5.a.** Train your model and deploy.
+### 5.a. Train your model and deploy.
```
$ pio train
+```
+
+When your engine is trained successfully, you should see a console message similar to the following.
+
+```
+[INFO] [CoreWorkflow$] Training completed successfully.
+```
+
+Now your engine is ready to deploy. Run:
+
+```
$ pio deploy
```
-**5.b.** Evaluate your training model and tune parameters.
+When the engine is deployed successfully and running, you should see a console message similar to the following:
+
+```
+[INFO] [HttpListener] Bound to /0.0.0.0:8000
+[INFO] [MasterActor] Engine is deployed and running. Engine API is live at http://0.0.0.0:8000.
+```
+
+Now you can send query to the engine. Open another terminal and send the following http request to the deployed engine:
+
+```
+$ curl -H "Content-Type: application/json" -d '{ "text":"I like speed and fast motorcycles." }' http://localhost:8000/queries.json
+```
+
+you should see following outputs returned by the engine:
+
+```
+{"category":"not spam","confidence":0.852619510921587}
+```
+
+Try another query:
+
+```
+$ curl -H "Content-Type: application/json" -d '{ "text":"Earn extra cash!" }' http://localhost:8000/queries.json
+```
+
+you should see following outputs returned by the engine:
+
+```
+{"category":"spam","confidence":0.5268770133242983}
+```
+
+
+### 5.b.Evaluate your training model and tune parameters.
```
$ pio eval org.template.textclassification.AccuracyEvaluation org.template.textclassification.EngineParamsList
```
-**Note:** Training and evaluation stages are generally different stages of engine development. Evaluation is there to help you choose the best [algorithm parameters](/evaluation/paramtuning/) to use for training an engine that is to be deployed as a web service.
+**Note:** Training and evaluation stages are generally different stages of engine development. Evaluation is there to help you choose the best [algorithm parameters](/evaluation/paramtuning/) to use for training an engine that is to be deployed as a web service.
Depending on your needs, in steps (5.x.) above, you can configure your Spark settings by typing a command of the form:
@@ -131,7 +194,7 @@ Follow the Quick Start instructions for importing data. Make sure that the Data
## Data Source: Reading Event Data
-Now that the data has been imported into PredictionIO's Event Server, it needs to be read from storage to be used by the engine. This is precisely what the DataSource engine component is for, which is implemented in the template script `DataSource.scala`. The class `Observation` serves as a wrapper for storing the information about a news document needed to train a model. The attribute label refers to the label of the category a document belongs to, and text, stores the actual document content as a string. The class TrainingData is used to store an RDD of Observation objects along with the set of stop words.
+Now that the data has been imported into PredictionIO's Event Server, it needs to be read from storage to be used by the engine. This is precisely what the DataSource engine component is for, which is implemented in the template script `DataSource.scala`. The class `Observation` serves as a wrapper for storing the information about a news document needed to train a model. The attribute label refers to the label of the category a document belongs to, and text, stores the actual document content as a string. The class TrainingData is used to store an RDD of Observation objects along with the set of stop words.
The class `DataSourceParams` is used to specify the parameters needed to read and prepare the data for processing. This class is initialized with two parameters `appName` and `evalK`. The first parameter specifies your application name (i.e. MyTextApp), which is needed so that the DataSource component knows where to pull the event data from. The second parameter is used for model evaluation and specifies the number of folds to use in [cross-validation](http://en.wikipedia.org/wiki/Cross-validation_%28statistics%29) when estimating a model performance metric.
@@ -175,7 +238,7 @@ private def readEventData(sc: SparkContext) : RDD[Observation] = {
...
```
-Note that `readEventData` and `readStopWords` use different entity types and event names, but use the same application name. This is because the sample import script imports two different data types, documents and stop words. These field distinctions are required for distinguishing between the two. The method `readEval` is used to prepare the different cross-validation folds needed for evaluating your model and tuning hyper parameters.
+Note that `readEventData` and `readStopWords` use different entity types and event names, but use the same application name. This is because the sample import script imports two different data types, documents and stop words. These field distinctions are required for distinguishing between the two. The method `readEval` is used to prepare the different cross-validation folds needed for evaluating your model and tuning hyper parameters.
Now, the default dataset used for training is contained in the file `data/emails.json` and contains a set of e-mail spam data. If we want to switch over to one of the other data sets we must make sure that the `eventNames` and `entityType` fields are changed accordingly. The following show one observation from each of the provided data files:
@@ -237,7 +300,7 @@ private def readEventData(sc: SparkContext) : RDD[Observation] = {
// objects.
)(sc).map(e => {
val label = e.properties.get[Double]("sentiment")
-
+
Observation(
label,
e.properties.get[String]("phrase"),
@@ -310,11 +373,11 @@ class Preparator(pp: PreparatorParams) extends PPreparator[TrainingData, Prepare
```
-The simplicity of this stage implementation truly exemplifies one of the benefits of using the PredictionIO platform. For developers, it is easy to incorporate different classes and tools into the DASE framework so that the process of creating an engine is greatly simplified which helps increase your productivity. For data scientists, the load of implementation details you need to worry about is minimized so that you can focus on what is important to you: training a good predictive model.
+The simplicity of this stage implementation truly exemplifies one of the benefits of using the PredictionIO platform. For developers, it is easy to incorporate different classes and tools into the DASE framework so that the process of creating an engine is greatly simplified which helps increase your productivity. For data scientists, the load of implementation details you need to worry about is minimized so that you can focus on what is important to you: training a good predictive model.
-The following subsection explains the class PreparedData, which actually handles the transformation of text documents to feature vectors.
+The following subsection explains the class PreparedData, which actually handles the transformation of text documents to feature vectors.
-### PreparedData: Text Vectorization and Feature Reduction
+### PreparedData: Text Vectorization and Feature Reduction
The Scala class PreparedData which takes the parameters td, nGram, where td is an object of class TrainingData. The other parameter specifies the n-gram parametrization which will be described shortly.
@@ -397,7 +460,7 @@ The last and final object implemented in this class simply creates a Map with ke
## Algorithm Component
-The algorithm components in this engine, `NBAlgorithm` and `LRAlgorithm`, actually follows a very general form. Firstly, a parameter class must again be initialized to feed in the corresponding Algorithm model parameters. For example, NBAlgorithm incorporates NBAlgorithmParams which holds the appropriate additive smoothing parameter lambda for the Naive Bayes model.
+The algorithm components in this engine, `NBAlgorithm` and `LRAlgorithm`, actually follows a very general form. Firstly, a parameter class must again be initialized to feed in the corresponding Algorithm model parameters. For example, NBAlgorithm incorporates NBAlgorithmParams which holds the appropriate additive smoothing parameter lambda for the Naive Bayes model.
The main class of interest in this component is the class that extends [P2LAlgorithm](https://docs.prediction.io/api/current/#io.prediction.controller.P2LAlgorithm). This class must implement a method named train which will output your predictive model (as a concrete object, this will be implemented via a Scala class). It must also implement a predict method that transforms a query to an appropriate feature vector, and uses this to predict with the fitted model. The vectorization function is implemented by a PreparedData object, and the categorization (prediction) is handled by an instance of the NBModel implementation. Again, this demonstrates the facility with which different models can be incorporated into PredictionIO's DASE architecture.
@@ -422,9 +485,9 @@ $$
\frac{\exp\left(\pi + \theta\mathbf{x}\right)}{\left|\left|\exp\left(\pi + \theta\mathbf{x}\right)\right|\right|}
$$
-is a vector with C components that represent the posterior class membership probabilities for the document given \\(\mathbf{x}\\). That is, the update belief regarding what category this document belongs to after observing its vectorized form. This is the motivation behind defining the class NBModel which uses Spark MLLib's NaiveBayesModel, but implements a separate prediction method.
+is a vector with C components that represent the posterior class membership probabilities for the document given \\(\mathbf{x}\\). That is, the update belief regarding what category this document belongs to after observing its vectorized form. This is the motivation behind defining the class NBModel which uses Spark MLLib's NaiveBayesModel, but implements a separate prediction method.
-The private methods innerProduct and getScores are implemented to do the matrix computation above.
+The private methods innerProduct and getScores are implemented to do the matrix computation above.
```scala
...
@@ -510,15 +573,15 @@ To use the alternative multinomial logistic regression algorithm change your `en
## Serving: Delivering the Final Prediction
-The serving component is the final stage in the engine, and in a sense, the most important. This is the final stage in which you combine the results obtained from the different models you choose to run. The Serving class extends the [LServing](https://docs.prediction.io/api/current/#io.prediction.controller.LServing) class which must implement a method called serve. This takes a query and an associated sequence of predicted results, which contains the predicted results from the different algorithms that are implemented in your engine, and combines the results to yield a final prediction. It is this final prediction that you will receive after sending a query.
-
+The serving component is the final stage in the engine, and in a sense, the most important. This is the final stage in which you combine the results obtained from the different models you choose to run. The Serving class extends the [LServing](https://docs.prediction.io/api/current/#io.prediction.controller.LServing) class which must implement a method called serve. This takes a query and an associated sequence of predicted results, which contains the predicted results from the different algorithms that are implemented in your engine, and combines the results to yield a final prediction. It is this final prediction that you will receive after sending a query.
+
For example, you could choose to slightly modify the implementation to return class probabilities coming from a mixture of model estimates for class probabilities, or any other technique you could conceive for combining your results. The default engine setting has this set to yield the label from the model predicting with greater confidence.
## Evaluation: Model Assessment and Selection
- A predictive model needs to be evaluated to see how it will generalize to future observations. PredictionIO uses cross-validation to perform model performance metric estimates needed to assess your particular choice of model. The script `Evaluation.scala` available with the engine template exemplifies what a usual evaluator setup will look like. First, you must define an appropriate metric. In the engine template, since the topic is text classification, the default metric implemented is category accuracy.
+ A predictive model needs to be evaluated to see how it will generalize to future observations. PredictionIO uses cross-validation to perform model performance metric estimates needed to assess your particular choice of model. The script `Evaluation.scala` available with the engine template exemplifies what a usual evaluator setup will look like. First, you must define an appropriate metric. In the engine template, since the topic is text classification, the default metric implemented is category accuracy.
Second you must define an evaluation object (i.e. extends the class [Evaluation](https://docs.prediction.io/api/current/#io.prediction.controller.Evaluation)).
Here, you must specify the actual engine and metric components that are to be used for the evaluation. In the engine template, the specified engine is the TextManipulationEngine object, and metric, Accuracy. Lastly, you must specify the parameter values that you want to test in the cross validation. You see in the following block of code:
@@ -541,9 +604,9 @@ object EngineParamsList extends EngineParamsGenerator {
```
-## Engine Deployment
+## Engine Deployment
-Once an engine is ready for deployment it can interact with your web application in real-time. This section will cover how to send and receive queries from your engine, gather more data, and re-training your model with the newly gathered data.
+Once an engine is ready for deployment it can interact with your web application in real-time. This section will cover how to send and receive queries from your engine, gather more data, and re-training your model with the newly gathered data.
### Sending Queries
@@ -557,7 +620,7 @@ To actually send a query you can use our REST API by typing in the following she
curl -H "Content-Type: application/json" -d '{ "text":"I like speed and fast motorcycles." }' http://localhost:8000/queries.json
```
-There are a number of [SDK's](https://github.com/PredictionIO) you can use to send your queries and obtain a response. Recall that our predicted response is of the form
+There are a number of [SDK's](https://github.com/PredictionIO) you can use to send your queries and obtain a response. Recall that our predicted response is of the form
```
{"category" : "class", "confidence" : 1.0}
@@ -591,4 +654,3 @@ $ pio eval org.template.textclassification.AccuracyEvaluation org.template.textc
$ pio train
$ pio deploy
```
-
[46/50] [abbrv] incubator-predictionio git commit: Merge livedoc
changes
Posted by ap...@apache.org.
Merge livedoc changes
Project: http://git-wip-us.apache.org/repos/asf/incubator-predictionio/repo
Commit: http://git-wip-us.apache.org/repos/asf/incubator-predictionio/commit/d3f5d472
Tree: http://git-wip-us.apache.org/repos/asf/incubator-predictionio/tree/d3f5d472
Diff: http://git-wip-us.apache.org/repos/asf/incubator-predictionio/diff/d3f5d472
Branch: refs/heads/master
Commit: d3f5d472adc449d617bde23441505b189d9f4348
Parents: b8e1081
Author: Donald Szeto <do...@prediction.io>
Authored: Mon Apr 4 16:25:40 2016 -0700
Committer: Donald Szeto <do...@prediction.io>
Committed: Mon Apr 4 16:25:40 2016 -0700
----------------------------------------------------------------------
docs/manual/Gemfile | 2 +-
docs/manual/Gemfile.lock | 66 +++++++++++++---------------
docs/manual/data/nav/main.yml | 5 +--
docs/manual/source/deploy/index.html.md | 2 +-
docs/manual/source/index.html.md.erb | 38 +++++++++++-----
5 files changed, 59 insertions(+), 54 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/incubator-predictionio/blob/d3f5d472/docs/manual/Gemfile
----------------------------------------------------------------------
diff --git a/docs/manual/Gemfile b/docs/manual/Gemfile
index 8494ccd..2a20508 100644
--- a/docs/manual/Gemfile
+++ b/docs/manual/Gemfile
@@ -1,5 +1,5 @@
source 'https://rubygems.org'
-ruby '2.2.0'
+ruby '2.2.1'
gem 'middleman', '~> 3.3.10'
gem 'middleman-livereload', '~> 3.4.2'
http://git-wip-us.apache.org/repos/asf/incubator-predictionio/blob/d3f5d472/docs/manual/Gemfile.lock
----------------------------------------------------------------------
diff --git a/docs/manual/Gemfile.lock b/docs/manual/Gemfile.lock
index bde1138..5cfff32 100644
--- a/docs/manual/Gemfile.lock
+++ b/docs/manual/Gemfile.lock
@@ -7,20 +7,19 @@ GEM
minitest (~> 5.1)
thread_safe (~> 0.1)
tzinfo (~> 1.1)
- addressable (2.3.8)
+ addressable (2.4.0)
ansi (1.5.0)
- autoprefixer-rails (5.1.9)
+ autoprefixer-rails (5.1.11)
execjs
json
- backports (3.6.4)
- bootstrap-sass (3.3.4.1)
+ backports (3.6.8)
+ bootstrap-sass (3.3.5.1)
autoprefixer-rails (>= 5.0.0.1)
- sass (>= 3.2.19)
+ sass (>= 3.3.0)
builder (3.2.2)
celluloid (0.16.0)
timers (~> 4.0.0)
chunky_png (1.3.4)
- coderay (1.1.0)
coffee-script (2.4.1)
coffee-script-source
execjs
@@ -41,16 +40,16 @@ GEM
eventmachine (>= 0.12.9)
http_parser.rb (~> 0.6.0)
erubis (2.7.0)
- ethon (0.7.3)
+ ethon (0.8.1)
ffi (>= 1.3.0)
eventmachine (1.0.7)
excon (0.45.1)
- execjs (2.5.2)
- faraday (0.9.1)
+ execjs (2.6.0)
+ faraday (0.9.2)
multipart-post (>= 1.2, < 3)
- faraday_middleware (0.9.1)
+ faraday_middleware (0.10.0)
faraday (>= 0.7.4, < 0.10)
- ffi (1.9.8)
+ ffi (1.9.10)
fog-aws (0.1.2)
fog-core (~> 1.27)
fog-json (~> 1.0)
@@ -79,7 +78,7 @@ GEM
net-http-pipeline
haml (4.0.6)
tilt
- highline (1.7.1)
+ highline (1.7.8)
hike (1.2.3)
hitimes (1.2.2)
hooks (0.4.0)
@@ -88,7 +87,7 @@ GEM
http_parser.rb (0.6.0)
i18n (0.7.0)
ipaddress (0.8.0)
- json (1.8.2)
+ json (1.8.3)
kramdown (1.6.0)
launchy (2.4.3)
addressable (~> 2.3)
@@ -98,7 +97,6 @@ GEM
rb-fsevent (>= 0.9.3)
rb-inotify (>= 0.9)
map (6.5.5)
- method_source (0.8.2)
middleman (3.3.10)
coffee-script (~> 2.2)
compass (>= 1.0.0, < 2.0.0)
@@ -152,18 +150,18 @@ GEM
middleman-core (~> 3.2)
rouge (~> 1.0)
mime-types (2.4.3)
- mini_portile (0.6.2)
+ mini_portile2 (2.0.0)
minitest (5.6.0)
- multi_json (1.11.0)
+ multi_json (1.11.2)
multipart-post (2.0.0)
net-http-persistent (2.9.4)
net-http-pipeline (1.0.1)
net-scp (1.2.1)
net-ssh (>= 2.6.5)
net-ssh (2.9.2)
- nokogiri (1.6.6.2)
- mini_portile (~> 0.6.0)
- oj (2.12.2)
+ nokogiri (1.6.7.2)
+ mini_portile2 (~> 2.0.0.rc2)
+ oj (2.15.0)
padrino-helpers (0.12.5)
i18n (~> 0.6, >= 0.6.7)
padrino-support (= 0.12.5)
@@ -171,11 +169,7 @@ GEM
padrino-support (0.12.5)
activesupport (>= 3.1)
pmap (1.0.2)
- pry (0.9.12.6)
- coderay (~> 1.0)
- method_source (~> 0.8)
- slop (~> 3.4)
- pusher-client (0.6.0)
+ pusher-client (0.6.2)
json
websocket (~> 1.0)
rack (1.6.0)
@@ -183,19 +177,18 @@ GEM
rack
rack-test (0.6.3)
rack (>= 1.0)
- rainbow (2.0.0)
+ rainbow (2.1.0)
rb-fsevent (0.9.4)
rb-inotify (0.9.5)
ffi (>= 0.5.0)
- redcarpet (3.3.2)
+ redcarpet (3.3.4)
ref (1.0.5)
rouge (1.8.0)
ruby-progressbar (1.7.5)
- sass (3.4.13)
- slim (3.0.3)
+ sass (3.4.22)
+ slim (3.0.6)
temple (~> 0.7.3)
tilt (>= 1.3.3, < 2.1)
- slop (3.6.0)
sprockets (2.12.3)
hike (~> 1.2)
multi_json (~> 1.0)
@@ -206,7 +199,7 @@ GEM
sprockets-sass (1.3.1)
sprockets (~> 2.0)
tilt (~> 1.1)
- temple (0.7.5)
+ temple (0.7.6)
therubyracer (0.12.2)
libv8 (~> 3.16.14.0)
ref
@@ -215,19 +208,17 @@ GEM
tilt (1.4.1)
timers (4.0.1)
hitimes
- travis (1.7.6)
- addressable (~> 2.3)
+ travis (1.8.2)
backports
faraday (~> 0.9)
faraday_middleware (~> 0.9, >= 0.9.1)
gh (~> 0.13)
highline (~> 1.6)
launchy (~> 2.1)
- pry (~> 0.9, < 0.10)
pusher-client (~> 0.4)
typhoeus (~> 0.6, >= 0.6.8)
- typhoeus (0.7.1)
- ethon (>= 0.7.1)
+ typhoeus (0.8.0)
+ ethon (>= 0.8.0)
tzinfo (1.2.2)
thread_safe (~> 0.1)
uber (0.0.13)
@@ -237,7 +228,7 @@ GEM
unf (0.1.4)
unf_ext
unf_ext (0.0.6)
- websocket (1.2.1)
+ websocket (1.2.2)
PLATFORMS
ruby
@@ -260,3 +251,6 @@ DEPENDENCIES
travis
tzinfo-data
wdm (~> 0.1.0)
+
+BUNDLED WITH
+ 1.11.2
http://git-wip-us.apache.org/repos/asf/incubator-predictionio/blob/d3f5d472/docs/manual/data/nav/main.yml
----------------------------------------------------------------------
diff --git a/docs/manual/data/nav/main.yml b/docs/manual/data/nav/main.yml
index 05895d6..c9f4485 100644
--- a/docs/manual/data/nav/main.yml
+++ b/docs/manual/data/nav/main.yml
@@ -6,9 +6,6 @@ root:
-
body: 'Welcome to PredictionIO'
url: '/'
- -
- body: 'Release Notes'
- url: '/release-notes/'
-
body: 'Getting Started'
url: '#'
@@ -157,7 +154,7 @@ root:
body: 'Architecture Overview'
url: '/system/'
-
- body: 'Production Deployment with Cloudformation'
+ body: 'Production Deployment with AWS CloudFormation'
url: '/system/deploy-cloudformation/'
-
body: 'Using Another Data Store'
http://git-wip-us.apache.org/repos/asf/incubator-predictionio/blob/d3f5d472/docs/manual/source/deploy/index.html.md
----------------------------------------------------------------------
diff --git a/docs/manual/source/deploy/index.html.md b/docs/manual/source/deploy/index.html.md
index 8bb2aa5..be18a0d 100644
--- a/docs/manual/source/deploy/index.html.md
+++ b/docs/manual/source/deploy/index.html.md
@@ -17,7 +17,7 @@ After you have [downloaded an Engine Template](/start/download/), you can deplo
A deployed engine listens to port 8000 by default. Your application can [send query to retrieve prediction](/appintegration/) in real-time through the REST interface.
-**Note**: a new engine depoyed as above will have no data to start with. Your engine may come with a `data/` directory with some sample data that you can import, not all have this. Check the quickstart instructions for your template.
+**Note**: a new engine deployed as above will have no data to start with. Your engine may come with a `data/` directory with some sample data that you can import, not all have this. Check the quickstart instructions for your template.
## Update Model with New Data
http://git-wip-us.apache.org/repos/asf/incubator-predictionio/blob/d3f5d472/docs/manual/source/index.html.md.erb
----------------------------------------------------------------------
diff --git a/docs/manual/source/index.html.md.erb b/docs/manual/source/index.html.md.erb
index 3370443..2b52143 100644
--- a/docs/manual/source/index.html.md.erb
+++ b/docs/manual/source/index.html.md.erb
@@ -1,29 +1,39 @@
---
-title: Welcome to PredictionIO!
+title: Welcome to PredictionIO!
description: PredictionIO Open Source Machine Learning Server
---
## What is PredictionIO?
-PredictionIO is an **open source Machine Learning Server** built on top of state-of-the-art open source stack for developers and data scientists create predictive engines for any machine learning task. It lets you:
+PredictionIO is an **open source Machine Learning Server** built on top of
+state-of-the-art open source stack for developers and data scientists create
+predictive engines for any machine learning task. It lets you:
-* quickly build and deploy an engine as a web service on production with [customizable templates](http://templates.prediction.io);
+* quickly build and deploy an engine as a web service on production with
+ [customizable templates](http://templates.prediction.io);
* respond to dynamic queries in **real-time** once deployed as a web service;
* evaluate and tune multiple engine variants systematically;
-* unify data from multiple platforms in batch or in real-time for comprehensive predictive analytics;
-* speed up machine learning modeling with systematic processes and pre-built evaluation measures;
-* support machine learning and data processing libraries such as Spark MLLib and OpenNLP;
-* implement your own machine learning models and seamlessly incorporate them into your engine;
+* unify data from multiple platforms in batch or in real-time for comprehensive
+ predictive analytics;
+* speed up machine learning modeling with systematic processes and pre-built
+ evaluation measures;
+* support machine learning and data processing libraries such as Spark MLLib and
+ OpenNLP;
+* implement your own machine learning models and seamlessly incorporate them
+ into your engine;
* simplify data infrastructure management.
-PredictionIO can be [installed](https://docs.prediction.io/install/) as a full machine learning stack, bundled with **Apache Spark**, **MLlib**, **HBase**, **Spray** and **Elasticsearch**, which simplifies and accelerates scalable machine learning infrastructure management.
+PredictionIO can be [installed](https://docs.prediction.io/install/) as a full
+machine learning stack, bundled with **Apache Spark**, **MLlib**, **HBase**,
+**Spray** and **Elasticsearch**, which simplifies and accelerates scalable
+machine learning infrastructure management.
| Getting Started | Developer Guides | ML Education and Usage | PredictionIO SDKs |
| --------------- | ---------------- | ---------------------- | ----------------- |
| [Quick Intro](/start/) | [System Architecture](/system/) | [Comics Recommendation](/demo/tapster/) | [Java](/sdk/java/) |
| [Installation Guide](/install/) | [Event Server Overview](/datacollection/) | [Text Classification](/demo/textclassification/) | [PHP](/sdk/php/) |
| [Downloading Template](/start/download/) | [Collecting Data](/datacollection/eventapi/) | [Community Contributed Demo](/demo/community/) | [Python](/sdk/python/) |
-| [Deploying an Engine](/start/deploy/) | [Learning DASE](/customize/) |[Dimensionality Reduction](/machinelearning/dimensionalityreduction/)| [Ruby](/sdk/ruby/) |
+| [Deploying an Engine](/start/deploy/) | [Learning DASE](/customize/) |[Dimensionality Reduction](/machinelearning/dimensionalityreduction/)| [Ruby](/sdk/ruby/) |
| [Customizing an Engine](/start/customize/) | [Implementing DASE](/customize/dase/) ||[Community Contributed](/sdk/community/) |
| [App Integration Overview](/appintegration/) | [Evaluation Overview](/evaluation/) |||
|| [Intellij IDEA Guide](/resources/intellij/) |||
@@ -32,12 +42,16 @@ PredictionIO can be [installed](https://docs.prediction.io/install/) as a full m
## Release Notes
-A summary of the changes in each release in the current series are on Github [here](https://github.com/PredictionIO/PredictionIO/blob/master/RELEASE.md)
+A summary of the changes in each release in the current series are on GitHub
+[here](https://github.com/PredictionIO/PredictionIO/blob/master/RELEASE.md)
## Licensing
-PredictionIO is licensed under the Apache License, Version 2.0. See [LICENSE](https://github.com/PredictionIO/PredictionIO/blob/master/LICENSE.txt) for the full license text.
+PredictionIO is licensed under the Apache License, Version 2.0. See
+[LICENSE](https://github.com/PredictionIO/PredictionIO/blob/master/LICENSE.txt)
+for the full license text.
### Documentation
-Documentation is under a [Creative Commons Attribution-NonCommercial-ShareAlike 3.0 License](http://creativecommons.org/licenses/by-nc-sa/3.0/).
+Documentation is under a [Creative Commons Attribution-NonCommercial-ShareAlike
+3.0 License](http://creativecommons.org/licenses/by-nc-sa/3.0/).
[10/50] [abbrv] incubator-predictionio git commit: Remove useless
statements and convert classes to case classes
Posted by ap...@apache.org.
http://git-wip-us.apache.org/repos/asf/incubator-predictionio/blob/e39ff805/examples/scala-parallel-similarproduct/filterbyyear/src/main/scala/Engine.scala
----------------------------------------------------------------------
diff --git a/examples/scala-parallel-similarproduct/filterbyyear/src/main/scala/Engine.scala b/examples/scala-parallel-similarproduct/filterbyyear/src/main/scala/Engine.scala
index c5b132e..d6717a6 100644
--- a/examples/scala-parallel-similarproduct/filterbyyear/src/main/scala/Engine.scala
+++ b/examples/scala-parallel-similarproduct/filterbyyear/src/main/scala/Engine.scala
@@ -10,17 +10,17 @@ case class Query(
whiteList: Option[Set[String]],
blackList: Option[Set[String]],
recommendFromYear: Option[Int]
-) extends Serializable
+)
case class PredictedResult(
itemScores: Array[ItemScore]
-) extends Serializable
+)
case class ItemScore(
item: String,
score: Double,
year: Int
-) extends Serializable
+)
object SimilarProductEngine extends IEngineFactory {
def apply() = {
http://git-wip-us.apache.org/repos/asf/incubator-predictionio/blob/e39ff805/examples/scala-parallel-similarproduct/filterbyyear/src/main/scala/Preparator.scala
----------------------------------------------------------------------
diff --git a/examples/scala-parallel-similarproduct/filterbyyear/src/main/scala/Preparator.scala b/examples/scala-parallel-similarproduct/filterbyyear/src/main/scala/Preparator.scala
index 088d71e..c2212fa 100644
--- a/examples/scala-parallel-similarproduct/filterbyyear/src/main/scala/Preparator.scala
+++ b/examples/scala-parallel-similarproduct/filterbyyear/src/main/scala/Preparator.scala
@@ -17,8 +17,8 @@ class Preparator
}
}
-class PreparedData(
- val users: RDD[(String, User)],
- val items: RDD[(String, Item)],
- val viewEvents: RDD[ViewEvent]
-) extends Serializable
\ No newline at end of file
+case class PreparedData(
+ users: RDD[(String, User)],
+ items: RDD[(String, Item)],
+ viewEvents: RDD[ViewEvent]
+)
\ No newline at end of file
http://git-wip-us.apache.org/repos/asf/incubator-predictionio/blob/e39ff805/examples/scala-parallel-similarproduct/filterbyyear/src/main/scala/Serving.scala
----------------------------------------------------------------------
diff --git a/examples/scala-parallel-similarproduct/filterbyyear/src/main/scala/Serving.scala b/examples/scala-parallel-similarproduct/filterbyyear/src/main/scala/Serving.scala
index 1111d94..2e6922d 100644
--- a/examples/scala-parallel-similarproduct/filterbyyear/src/main/scala/Serving.scala
+++ b/examples/scala-parallel-similarproduct/filterbyyear/src/main/scala/Serving.scala
@@ -5,8 +5,7 @@ import io.prediction.controller.LServing
class Serving
extends LServing[Query, PredictedResult] {
- override
- def serve(query: Query,
+ override def serve(query: Query,
predictedResults: Seq[PredictedResult]): PredictedResult = {
predictedResults.head
}
http://git-wip-us.apache.org/repos/asf/incubator-predictionio/blob/e39ff805/examples/scala-parallel-similarproduct/multi/src/main/scala/DataSource.scala
----------------------------------------------------------------------
diff --git a/examples/scala-parallel-similarproduct/multi/src/main/scala/DataSource.scala b/examples/scala-parallel-similarproduct/multi/src/main/scala/DataSource.scala
index 7567c83..b9269c2 100644
--- a/examples/scala-parallel-similarproduct/multi/src/main/scala/DataSource.scala
+++ b/examples/scala-parallel-similarproduct/multi/src/main/scala/DataSource.scala
@@ -138,12 +138,12 @@ case class LikeEvent( // ADDED
like: Boolean // true: like. false: dislike
)
-class TrainingData(
- val users: RDD[(String, User)],
- val items: RDD[(String, Item)],
- val viewEvents: RDD[ViewEvent],
- val likeEvents: RDD[LikeEvent] // ADDED
-) extends Serializable {
+case class TrainingData(
+ users: RDD[(String, User)],
+ items: RDD[(String, Item)],
+ viewEvents: RDD[ViewEvent],
+ likeEvents: RDD[LikeEvent] // ADDED
+) {
override def toString = {
s"users: [${users.count()} (${users.take(2).toList}...)]" +
s"items: [${items.count()} (${items.take(2).toList}...)]" +
http://git-wip-us.apache.org/repos/asf/incubator-predictionio/blob/e39ff805/examples/scala-parallel-similarproduct/multi/src/main/scala/Engine.scala
----------------------------------------------------------------------
diff --git a/examples/scala-parallel-similarproduct/multi/src/main/scala/Engine.scala b/examples/scala-parallel-similarproduct/multi/src/main/scala/Engine.scala
index 8611fe5..51a708c 100644
--- a/examples/scala-parallel-similarproduct/multi/src/main/scala/Engine.scala
+++ b/examples/scala-parallel-similarproduct/multi/src/main/scala/Engine.scala
@@ -9,18 +9,18 @@ case class Query(
categories: Option[Set[String]],
whiteList: Option[Set[String]],
blackList: Option[Set[String]]
-) extends Serializable
+)
case class PredictedResult(
itemScores: Array[ItemScore]
-) extends Serializable {
+) {
override def toString = itemScores.mkString(",")
}
case class ItemScore(
item: String,
score: Double
-) extends Serializable
+)
object SimilarProductEngine extends IEngineFactory {
def apply() = {
http://git-wip-us.apache.org/repos/asf/incubator-predictionio/blob/e39ff805/examples/scala-parallel-similarproduct/multi/src/main/scala/Preparator.scala
----------------------------------------------------------------------
diff --git a/examples/scala-parallel-similarproduct/multi/src/main/scala/Preparator.scala b/examples/scala-parallel-similarproduct/multi/src/main/scala/Preparator.scala
index 5a20ae8..b074959 100644
--- a/examples/scala-parallel-similarproduct/multi/src/main/scala/Preparator.scala
+++ b/examples/scala-parallel-similarproduct/multi/src/main/scala/Preparator.scala
@@ -18,9 +18,9 @@ class Preparator
}
}
-class PreparedData(
- val users: RDD[(String, User)],
- val items: RDD[(String, Item)],
- val viewEvents: RDD[ViewEvent],
- val likeEvents: RDD[LikeEvent] // ADDED
-) extends Serializable
+case class PreparedData(
+ users: RDD[(String, User)],
+ items: RDD[(String, Item)],
+ viewEvents: RDD[ViewEvent],
+ likeEvents: RDD[LikeEvent] // ADDED
+)
\ No newline at end of file
http://git-wip-us.apache.org/repos/asf/incubator-predictionio/blob/e39ff805/examples/scala-parallel-similarproduct/multi/src/main/scala/Serving.scala
----------------------------------------------------------------------
diff --git a/examples/scala-parallel-similarproduct/multi/src/main/scala/Serving.scala b/examples/scala-parallel-similarproduct/multi/src/main/scala/Serving.scala
index 59dcaa1..d3823a5 100644
--- a/examples/scala-parallel-similarproduct/multi/src/main/scala/Serving.scala
+++ b/examples/scala-parallel-similarproduct/multi/src/main/scala/Serving.scala
@@ -9,8 +9,7 @@ import breeze.stats.MeanAndVariance
class Serving
extends LServing[Query, PredictedResult] {
- override
- def serve(query: Query,
+ override def serve(query: Query,
predictedResults: Seq[PredictedResult]): PredictedResult = {
// MODFIED
http://git-wip-us.apache.org/repos/asf/incubator-predictionio/blob/e39ff805/examples/scala-parallel-similarproduct/no-set-user/src/main/scala/DataSource.scala
----------------------------------------------------------------------
diff --git a/examples/scala-parallel-similarproduct/no-set-user/src/main/scala/DataSource.scala b/examples/scala-parallel-similarproduct/no-set-user/src/main/scala/DataSource.scala
index b24bc00..f3792d5 100644
--- a/examples/scala-parallel-similarproduct/no-set-user/src/main/scala/DataSource.scala
+++ b/examples/scala-parallel-similarproduct/no-set-user/src/main/scala/DataSource.scala
@@ -81,10 +81,10 @@ case class Item(categories: Option[List[String]])
case class ViewEvent(user: String, item: String, t: Long)
-class TrainingData(
- val items: RDD[(String, Item)],
- val viewEvents: RDD[ViewEvent]
-) extends Serializable {
+case class TrainingData(
+ items: RDD[(String, Item)],
+ viewEvents: RDD[ViewEvent]
+) {
override def toString = {
s"items: [${items.count()} (${items.take(2).toList}...)]" +
s"viewEvents: [${viewEvents.count()}] (${viewEvents.take(2).toList}...)"
http://git-wip-us.apache.org/repos/asf/incubator-predictionio/blob/e39ff805/examples/scala-parallel-similarproduct/no-set-user/src/main/scala/Engine.scala
----------------------------------------------------------------------
diff --git a/examples/scala-parallel-similarproduct/no-set-user/src/main/scala/Engine.scala b/examples/scala-parallel-similarproduct/no-set-user/src/main/scala/Engine.scala
index 9815ebf..8d594fc 100644
--- a/examples/scala-parallel-similarproduct/no-set-user/src/main/scala/Engine.scala
+++ b/examples/scala-parallel-similarproduct/no-set-user/src/main/scala/Engine.scala
@@ -9,16 +9,16 @@ case class Query(
categories: Option[Set[String]],
whiteList: Option[Set[String]],
blackList: Option[Set[String]]
-) extends Serializable
+)
case class PredictedResult(
itemScores: Array[ItemScore]
-) extends Serializable
+)
case class ItemScore(
item: String,
score: Double
-) extends Serializable
+)
object SimilarProductEngine extends IEngineFactory {
def apply() = {
http://git-wip-us.apache.org/repos/asf/incubator-predictionio/blob/e39ff805/examples/scala-parallel-similarproduct/no-set-user/src/main/scala/Preparator.scala
----------------------------------------------------------------------
diff --git a/examples/scala-parallel-similarproduct/no-set-user/src/main/scala/Preparator.scala b/examples/scala-parallel-similarproduct/no-set-user/src/main/scala/Preparator.scala
index 83d8e84..a136303 100644
--- a/examples/scala-parallel-similarproduct/no-set-user/src/main/scala/Preparator.scala
+++ b/examples/scala-parallel-similarproduct/no-set-user/src/main/scala/Preparator.scala
@@ -16,7 +16,7 @@ class Preparator
}
}
-class PreparedData(
- val items: RDD[(String, Item)],
- val viewEvents: RDD[ViewEvent]
-) extends Serializable
+case class PreparedData(
+ items: RDD[(String, Item)],
+ viewEvents: RDD[ViewEvent]
+)
\ No newline at end of file
http://git-wip-us.apache.org/repos/asf/incubator-predictionio/blob/e39ff805/examples/scala-parallel-similarproduct/no-set-user/src/main/scala/Serving.scala
----------------------------------------------------------------------
diff --git a/examples/scala-parallel-similarproduct/no-set-user/src/main/scala/Serving.scala b/examples/scala-parallel-similarproduct/no-set-user/src/main/scala/Serving.scala
index 7a7f124..e7dadab 100644
--- a/examples/scala-parallel-similarproduct/no-set-user/src/main/scala/Serving.scala
+++ b/examples/scala-parallel-similarproduct/no-set-user/src/main/scala/Serving.scala
@@ -5,8 +5,7 @@ import io.prediction.controller.LServing
class Serving
extends LServing[Query, PredictedResult] {
- override
- def serve(query: Query,
+ override def serve(query: Query,
predictedResults: Seq[PredictedResult]): PredictedResult = {
predictedResults.head
}
http://git-wip-us.apache.org/repos/asf/incubator-predictionio/blob/e39ff805/examples/scala-parallel-similarproduct/recommended-user/src/main/scala/DataSource.scala
----------------------------------------------------------------------
diff --git a/examples/scala-parallel-similarproduct/recommended-user/src/main/scala/DataSource.scala b/examples/scala-parallel-similarproduct/recommended-user/src/main/scala/DataSource.scala
index 768d79b..cda31df 100644
--- a/examples/scala-parallel-similarproduct/recommended-user/src/main/scala/DataSource.scala
+++ b/examples/scala-parallel-similarproduct/recommended-user/src/main/scala/DataSource.scala
@@ -73,10 +73,10 @@ case class User()
case class FollowEvent(user: String, followedUser: String, t: Long)
-class TrainingData(
- val users: RDD[(String, User)],
- val followEvents: RDD[FollowEvent]
-) extends Serializable {
+case class TrainingData(
+ users: RDD[(String, User)],
+ followEvents: RDD[FollowEvent]
+) {
override def toString = {
s"users: [${users.count()} (${users.take(2).toList}...)]" +
s"followEvents: [${followEvents.count()}] (${followEvents.take(2).toList}...)"
http://git-wip-us.apache.org/repos/asf/incubator-predictionio/blob/e39ff805/examples/scala-parallel-similarproduct/recommended-user/src/main/scala/Engine.scala
----------------------------------------------------------------------
diff --git a/examples/scala-parallel-similarproduct/recommended-user/src/main/scala/Engine.scala b/examples/scala-parallel-similarproduct/recommended-user/src/main/scala/Engine.scala
index d8cdc90..8122789 100644
--- a/examples/scala-parallel-similarproduct/recommended-user/src/main/scala/Engine.scala
+++ b/examples/scala-parallel-similarproduct/recommended-user/src/main/scala/Engine.scala
@@ -8,16 +8,16 @@ case class Query(
num: Int,
whiteList: Option[Set[String]],
blackList: Option[Set[String]]
-) extends Serializable
+)
case class PredictedResult(
similarUserScores: Array[similarUserScore]
-) extends Serializable
+)
case class similarUserScore(
user: String,
score: Double
-) extends Serializable
+)
object RecommendedUserEngine extends IEngineFactory {
def apply() = {
http://git-wip-us.apache.org/repos/asf/incubator-predictionio/blob/e39ff805/examples/scala-parallel-similarproduct/recommended-user/src/main/scala/Preparator.scala
----------------------------------------------------------------------
diff --git a/examples/scala-parallel-similarproduct/recommended-user/src/main/scala/Preparator.scala b/examples/scala-parallel-similarproduct/recommended-user/src/main/scala/Preparator.scala
index 26a4147..59abb62 100644
--- a/examples/scala-parallel-similarproduct/recommended-user/src/main/scala/Preparator.scala
+++ b/examples/scala-parallel-similarproduct/recommended-user/src/main/scala/Preparator.scala
@@ -14,7 +14,7 @@ class Preparator
}
}
-class PreparedData(
- val users: RDD[(String, User)],
- val followEvents: RDD[FollowEvent]
-) extends Serializable
+case class PreparedData(
+ users: RDD[(String, User)],
+ followEvents: RDD[FollowEvent]
+)
[47/50] [abbrv] incubator-predictionio git commit: Merge branch
'livedoc' into develop
Posted by ap...@apache.org.
Merge branch 'livedoc' into develop
Project: http://git-wip-us.apache.org/repos/asf/incubator-predictionio/repo
Commit: http://git-wip-us.apache.org/repos/asf/incubator-predictionio/commit/ffb475b1
Tree: http://git-wip-us.apache.org/repos/asf/incubator-predictionio/tree/ffb475b1
Diff: http://git-wip-us.apache.org/repos/asf/incubator-predictionio/diff/ffb475b1
Branch: refs/heads/master
Commit: ffb475b15a96563a03136f5de5d98fbfa5eb3300
Parents: d3f5d47 da837da
Author: Donald Szeto <do...@prediction.io>
Authored: Mon Apr 11 12:41:38 2016 -0700
Committer: Donald Szeto <do...@prediction.io>
Committed: Mon Apr 11 12:41:38 2016 -0700
----------------------------------------------------------------------
----------------------------------------------------------------------
[34/50] [abbrv] incubator-predictionio git commit: Specify Scala and
JDK versions for Travis
Posted by ap...@apache.org.
Specify Scala and JDK versions for Travis
Project: http://git-wip-us.apache.org/repos/asf/incubator-predictionio/repo
Commit: http://git-wip-us.apache.org/repos/asf/incubator-predictionio/commit/e874738a
Tree: http://git-wip-us.apache.org/repos/asf/incubator-predictionio/tree/e874738a
Diff: http://git-wip-us.apache.org/repos/asf/incubator-predictionio/diff/e874738a
Branch: refs/heads/master
Commit: e874738a7e77c10bc63f22bb1c4c36f91b8daa50
Parents: adfb15e
Author: Donald Szeto <do...@prediction.io>
Authored: Mon Mar 28 13:49:21 2016 -0700
Committer: Donald Szeto <do...@prediction.io>
Committed: Mon Mar 28 13:49:21 2016 -0700
----------------------------------------------------------------------
.travis.yml | 6 ++++++
1 file changed, 6 insertions(+)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/incubator-predictionio/blob/e874738a/.travis.yml
----------------------------------------------------------------------
diff --git a/.travis.yml b/.travis.yml
index a35c3e7..ecc13f4 100644
--- a/.travis.yml
+++ b/.travis.yml
@@ -14,6 +14,12 @@ branches:
language: scala
+scala:
+ - 2.10.5
+
+jdk:
+ - oraclejdk8
+
addons:
postgresql: "9.3"
[24/50] [abbrv] incubator-predictionio git commit: Merge pull request
#212 from relateiq/docsec
Posted by ap...@apache.org.
Merge pull request #212 from relateiq/docsec
Doc dashboard server and engine server security concerns
Project: http://git-wip-us.apache.org/repos/asf/incubator-predictionio/repo
Commit: http://git-wip-us.apache.org/repos/asf/incubator-predictionio/commit/a96700a0
Tree: http://git-wip-us.apache.org/repos/asf/incubator-predictionio/tree/a96700a0
Diff: http://git-wip-us.apache.org/repos/asf/incubator-predictionio/diff/a96700a0
Branch: refs/heads/master
Commit: a96700a0bfdb59310f7d12ed58c41b94ca7ae056
Parents: de2630f 3904ee2
Author: Donald Szeto <do...@prediction.io>
Authored: Wed Mar 2 22:34:16 2016 -0800
Committer: Donald Szeto <do...@prediction.io>
Committed: Wed Mar 2 22:34:16 2016 -0800
----------------------------------------------------------------------
docs/manual/source/deploy/index.html.md | 2 ++
docs/manual/source/evaluation/evaluationdashboard.html.md | 4 ++++
2 files changed, 6 insertions(+)
----------------------------------------------------------------------
[26/50] [abbrv] incubator-predictionio git commit: Merge branch 'ng'
into develop
Posted by ap...@apache.org.
Merge branch 'ng' into develop
Project: http://git-wip-us.apache.org/repos/asf/incubator-predictionio/repo
Commit: http://git-wip-us.apache.org/repos/asf/incubator-predictionio/commit/21f14b5b
Tree: http://git-wip-us.apache.org/repos/asf/incubator-predictionio/tree/21f14b5b
Diff: http://git-wip-us.apache.org/repos/asf/incubator-predictionio/diff/21f14b5b
Branch: refs/heads/master
Commit: 21f14b5ba54d1d147fcb526609d0e7cf8e2d3121
Parents: 2c55161 a96700a
Author: Donald Szeto <do...@prediction.io>
Authored: Tue Mar 8 18:26:15 2016 -0800
Committer: Donald Szeto <do...@prediction.io>
Committed: Tue Mar 8 18:26:15 2016 -0800
----------------------------------------------------------------------
bin/install.sh | 26 +---------
common/build.sbt | 5 ++
common/src/main/resources/application.conf | 11 ++++
.../authentication/KeyAuthentication.scala | 43 +++++++++++++++
.../configuration/SSLConfiguration.scala | 52 +++++++++++++++++++
conf/keystore.jks | Bin 0 -> 2238 bytes
conf/server.conf | 13 +++++
core/src/main/resources/application.conf | 4 --
.../io/prediction/workflow/CreateServer.scala | 47 +++++++++++------
docs/manual/source/deploy/index.html.md | 2 +
.../evaluation/evaluationdashboard.html.md | 4 ++
.../prediction/tools/dashboard/Dashboard.scala | 37 ++++++++-----
12 files changed, 185 insertions(+), 59 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/incubator-predictionio/blob/21f14b5b/bin/install.sh
----------------------------------------------------------------------
diff --cc bin/install.sh
index 453c0b3,6f9a861..61febe0
--- a/bin/install.sh
+++ b/bin/install.sh
@@@ -394,14 -368,9 +375,9 @@@ case $source_setup i
# HBase
echo -e "\033[1;36mStarting HBase setup in:\033[0m $hbase_dir"
- if [[ -e hbase-${HBASE_VERSION}-bin.tar.gz ]]; then
- if confirm "Delete existing hbase-$HBASE_VERSION-bin.tar.gz?"; then
- rm hbase-${HBASE_VERSION}-bin.tar.gz
- fi
- fi
if [[ ! -e hbase-${HBASE_VERSION}-bin.tar.gz ]]; then
echo "Downloading HBase..."
- curl -O http://archive.apache.org/dist/hbase/hbase-${HBASE_VERSION}/hbase-${HBASE_VERSION}-bin.tar.gz
+ curl -O http://archive.apache.org/dist/hbase/${HBASE_VERSION}/hbase-${HBASE_VERSION}-bin.tar.gz
fi
tar zxf hbase-${HBASE_VERSION}-bin.tar.gz
rm -rf ${hbase_dir}
[50/50] [abbrv] incubator-predictionio git commit: Follow redirects
Posted by ap...@apache.org.
Follow redirects
Project: http://git-wip-us.apache.org/repos/asf/incubator-predictionio/repo
Commit: http://git-wip-us.apache.org/repos/asf/incubator-predictionio/commit/03cab0fb
Tree: http://git-wip-us.apache.org/repos/asf/incubator-predictionio/tree/03cab0fb
Diff: http://git-wip-us.apache.org/repos/asf/incubator-predictionio/diff/03cab0fb
Branch: refs/heads/master
Commit: 03cab0fbe56e15f42c45fbe8a4e83d9294c51415
Parents: e1b7535
Author: Donald Szeto <ds...@salesforce.com>
Authored: Mon Apr 11 16:56:40 2016 -0700
Committer: Donald Szeto <ds...@salesforce.com>
Committed: Mon Apr 11 16:56:40 2016 -0700
----------------------------------------------------------------------
bin/install.sh | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/incubator-predictionio/blob/03cab0fb/bin/install.sh
----------------------------------------------------------------------
diff --git a/bin/install.sh b/bin/install.sh
index 46bd94c..5ce7fec 100755
--- a/bin/install.sh
+++ b/bin/install.sh
@@ -278,7 +278,7 @@ echo -e "\033[1;36mStarting PredictionIO setup in:\033[0m $pio_dir"
cd ${TEMP_DIR}
if [[ ! -e ${PIO_FILE} ]]; then
echo "Downloading PredictionIO..."
- curl -O https://github.com/PredictionIO/PredictionIO/releases/download/v${PIO_VERSION}/${PIO_FILE}
+ curl -OL https://github.com/PredictionIO/PredictionIO/releases/download/v${PIO_VERSION}/${PIO_FILE}
fi
tar zxf ${PIO_FILE}
rm -rf ${pio_dir}
[13/50] [abbrv] incubator-predictionio git commit: Use https when
submitting user email to pio
Posted by ap...@apache.org.
Use https when submitting user email to pio
When installing pio using the install.sh script, users that subscribe to
updates submit their email to a direct.prediction.io endpoint using
http. Email is PII and should be transmitted using https.
Project: http://git-wip-us.apache.org/repos/asf/incubator-predictionio/repo
Commit: http://git-wip-us.apache.org/repos/asf/incubator-predictionio/commit/587de034
Tree: http://git-wip-us.apache.org/repos/asf/incubator-predictionio/tree/587de034
Diff: http://git-wip-us.apache.org/repos/asf/incubator-predictionio/diff/587de034
Branch: refs/heads/master
Commit: 587de0347f24e820bacc84d1c74e6f4d43e06f96
Parents: e9daed3
Author: Yevgeny <yk...@salesforce.com>
Authored: Wed Feb 24 16:26:26 2016 -0800
Committer: Yevgeny <yk...@salesforce.com>
Committed: Thu Feb 25 17:23:53 2016 -0800
----------------------------------------------------------------------
bin/install.sh | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/incubator-predictionio/blob/587de034/bin/install.sh
----------------------------------------------------------------------
diff --git a/bin/install.sh b/bin/install.sh
index 298f45f..6f9a861 100755
--- a/bin/install.sh
+++ b/bin/install.sh
@@ -171,7 +171,7 @@ else
fi
email=${email:-$guess_email}
- url="http://direct.prediction.io/$PIO_VERSION/install.json/install/install/$email/"
+ url="https://direct.prediction.io/$PIO_VERSION/install.json/install/install/$email/"
curl --silent ${url} > /dev/null
fi
[37/50] [abbrv] incubator-predictionio git commit: Update Ruby
version for Travis
Posted by ap...@apache.org.
Update Ruby version for Travis
Project: http://git-wip-us.apache.org/repos/asf/incubator-predictionio/repo
Commit: http://git-wip-us.apache.org/repos/asf/incubator-predictionio/commit/20a4c208
Tree: http://git-wip-us.apache.org/repos/asf/incubator-predictionio/tree/20a4c208
Diff: http://git-wip-us.apache.org/repos/asf/incubator-predictionio/diff/20a4c208
Branch: refs/heads/master
Commit: 20a4c208ebb69e3978e6d92d52456c753328be31
Parents: 1e27c3b
Author: Donald Szeto <do...@prediction.io>
Authored: Mon Mar 28 17:22:07 2016 -0700
Committer: Donald Szeto <do...@prediction.io>
Committed: Mon Mar 28 17:22:07 2016 -0700
----------------------------------------------------------------------
.travis.yml | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/incubator-predictionio/blob/20a4c208/.travis.yml
----------------------------------------------------------------------
diff --git a/.travis.yml b/.travis.yml
index a2cc237..12ad02e 100644
--- a/.travis.yml
+++ b/.travis.yml
@@ -5,7 +5,7 @@ branches:
language: ruby
rvm:
- - 2.2.0
+ - 2.2.1
gemfile: docs/manual/Gemfile
[25/50] [abbrv] incubator-predictionio git commit: Update
index.html.md
Posted by ap...@apache.org.
Update index.html.md
fixed typo
Project: http://git-wip-us.apache.org/repos/asf/incubator-predictionio/repo
Commit: http://git-wip-us.apache.org/repos/asf/incubator-predictionio/commit/bfec267c
Tree: http://git-wip-us.apache.org/repos/asf/incubator-predictionio/tree/bfec267c
Diff: http://git-wip-us.apache.org/repos/asf/incubator-predictionio/diff/bfec267c
Branch: refs/heads/master
Commit: bfec267c39ffca6626e955804a5fbeb1023d0bff
Parents: de5aff6
Author: David Moncka <ra...@email.cz>
Authored: Sun Mar 6 23:10:45 2016 +0100
Committer: David Moncka <ra...@email.cz>
Committed: Sun Mar 6 23:10:45 2016 +0100
----------------------------------------------------------------------
docs/manual/source/deploy/index.html.md | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/incubator-predictionio/blob/bfec267c/docs/manual/source/deploy/index.html.md
----------------------------------------------------------------------
diff --git a/docs/manual/source/deploy/index.html.md b/docs/manual/source/deploy/index.html.md
index 1c69a6a..84baea4 100644
--- a/docs/manual/source/deploy/index.html.md
+++ b/docs/manual/source/deploy/index.html.md
@@ -15,7 +15,7 @@ After you have [downloaded an Engine Template](/start/download/), you can deplo
A deployed engine listens to port 8000 by default. Your application can [send query to retrieve prediction](/appintegration/) in real-time through the REST interface.
-**Note**: a new engine depoyed as above will have no data to start with. Your engine may come with a `data/` directory with some sample data that you can import, not all have this. Check the quickstart instructions for your template.
+**Note**: a new engine deployed as above will have no data to start with. Your engine may come with a `data/` directory with some sample data that you can import, not all have this. Check the quickstart instructions for your template.
## Update Model with New Data
[20/50] [abbrv] incubator-predictionio git commit: Doc dashboard
server and engine server security concerns
Posted by ap...@apache.org.
Doc dashboard server and engine server security concerns
Project: http://git-wip-us.apache.org/repos/asf/incubator-predictionio/repo
Commit: http://git-wip-us.apache.org/repos/asf/incubator-predictionio/commit/3904ee26
Tree: http://git-wip-us.apache.org/repos/asf/incubator-predictionio/tree/3904ee26
Diff: http://git-wip-us.apache.org/repos/asf/incubator-predictionio/diff/3904ee26
Branch: refs/heads/master
Commit: 3904ee2603e4704fb44f5e896d3aac37610f2bc0
Parents: acd9e3f
Author: Yevgeny <yk...@salesforce.com>
Authored: Wed Mar 2 09:43:25 2016 -0800
Committer: Yevgeny <yk...@salesforce.com>
Committed: Wed Mar 2 10:09:29 2016 -0800
----------------------------------------------------------------------
docs/manual/source/deploy/index.html.md | 2 ++
docs/manual/source/evaluation/evaluationdashboard.html.md | 4 ++++
2 files changed, 6 insertions(+)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/incubator-predictionio/blob/3904ee26/docs/manual/source/deploy/index.html.md
----------------------------------------------------------------------
diff --git a/docs/manual/source/deploy/index.html.md b/docs/manual/source/deploy/index.html.md
index 1c69a6a..8bb2aa5 100644
--- a/docs/manual/source/deploy/index.html.md
+++ b/docs/manual/source/deploy/index.html.md
@@ -4,6 +4,8 @@ title: Deploying an Engine
An engine must be **built** (i.e. `pio build`) and **trained** (i.e. `pio train`) before it can be deployed as a web service.
+WARNING: The engine server is not protected by authentication, and the instructions below assume deployment in a trusted environment. See the section [Deploying with AWS](/system/deploy-cloudformation/) for a production deployment example.
+
## Deploying an Engine the First Time
After you have [downloaded an Engine Template](/start/download/), you can deploy it with these steps:
http://git-wip-us.apache.org/repos/asf/incubator-predictionio/blob/3904ee26/docs/manual/source/evaluation/evaluationdashboard.html.md
----------------------------------------------------------------------
diff --git a/docs/manual/source/evaluation/evaluationdashboard.html.md b/docs/manual/source/evaluation/evaluationdashboard.html.md
index 387bb41..3d0bd2d 100644
--- a/docs/manual/source/evaluation/evaluationdashboard.html.md
+++ b/docs/manual/source/evaluation/evaluationdashboard.html.md
@@ -2,6 +2,8 @@
title: Evaluation Dashboard
---
+WARNING: This is an experimental development tool, which exposes environment variables and other sensitive information about the PredictionIO application (e.g. storage configs, credentials etc.). It is not recommended to be run in production.
+
PredictionIO provides a web dashboard which allows you to see previous
evaluation and a drill down page about each evaluation. It is particularly
useful when we ran multiple [hyperparameter tunings](/evaluation/paramtuning/)
@@ -17,3 +19,5 @@ The dashboard lists out all completed evaluations in a reversed chronological
order. A high level description of each evaluation can be seen directly from the
dashboard. We can also click on the *HTML* button to see the evaluation drill
down page.
+
+*Note:* The dashboard server has SSL enabled and is authenticated by a key passed as a query string param `accessKey`. The configuration is in `conf/server.conf`
\ No newline at end of file
[21/50] [abbrv] incubator-predictionio git commit: Load config
correctly
Posted by ap...@apache.org.
Load config correctly
Project: http://git-wip-us.apache.org/repos/asf/incubator-predictionio/repo
Commit: http://git-wip-us.apache.org/repos/asf/incubator-predictionio/commit/7cddc914
Tree: http://git-wip-us.apache.org/repos/asf/incubator-predictionio/tree/7cddc914
Diff: http://git-wip-us.apache.org/repos/asf/incubator-predictionio/diff/7cddc914
Branch: refs/heads/master
Commit: 7cddc9145bcdf638f464e999d5963637aa1d3204
Parents: 4a8b478
Author: Yevgeny <yk...@salesforce.com>
Authored: Wed Mar 2 12:09:32 2016 -0800
Committer: Yevgeny <yk...@salesforce.com>
Committed: Wed Mar 2 12:09:32 2016 -0800
----------------------------------------------------------------------
.../io/prediction/authentication/KeyAuthentication.scala | 8 +++-----
.../scala/io/prediction/configuration/SSLConfiguration.scala | 8 ++++----
conf/server.conf | 2 +-
3 files changed, 8 insertions(+), 10 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/incubator-predictionio/blob/7cddc914/common/src/main/scala/io/prediction/authentication/KeyAuthentication.scala
----------------------------------------------------------------------
diff --git a/common/src/main/scala/io/prediction/authentication/KeyAuthentication.scala b/common/src/main/scala/io/prediction/authentication/KeyAuthentication.scala
index 86beb44..d2e613e 100644
--- a/common/src/main/scala/io/prediction/authentication/KeyAuthentication.scala
+++ b/common/src/main/scala/io/prediction/authentication/KeyAuthentication.scala
@@ -20,11 +20,9 @@ import scala.concurrent.Future
trait KeyAuthentication {
object ServerKey {
- val serverConfig = ConfigFactory.parseFile(new File("conf/server.conf"))
-
- val key = serverConfig.getString("server.accessKey")
- def get: String = key
- def param: String = "accessKey"
+ private val config = ConfigFactory.load("server.conf")
+ val get = config.getString("io.prediction.server.accessKey")
+ val param = "accessKey"
}
def withAccessKeyFromFile: RequestContext => Future[Authentication[HttpRequest]] = {
http://git-wip-us.apache.org/repos/asf/incubator-predictionio/blob/7cddc914/common/src/main/scala/io/prediction/configuration/SSLConfiguration.scala
----------------------------------------------------------------------
diff --git a/common/src/main/scala/io/prediction/configuration/SSLConfiguration.scala b/common/src/main/scala/io/prediction/configuration/SSLConfiguration.scala
index 63ed2ab..0845373 100644
--- a/common/src/main/scala/io/prediction/configuration/SSLConfiguration.scala
+++ b/common/src/main/scala/io/prediction/configuration/SSLConfiguration.scala
@@ -14,11 +14,11 @@ import spray.io.ServerSSLEngineProvider
trait SSLConfiguration {
- private val serverConfig = ConfigFactory.parseFile(new File("conf/server.conf"))
+ private val serverConfig = ConfigFactory.load("server.conf")
- private val keyStoreResource = serverConfig.getString("server.ssl-keystore-resource")
- private val password = serverConfig.getString("server.ssl-keystore-pass")
- private val keyAlias = serverConfig.getString("server.ssl-key-alias")
+ private val keyStoreResource = serverConfig.getString("io.prediction.server.ssl-keystore-resource")
+ private val password = serverConfig.getString("io.prediction.server.ssl-keystore-pass")
+ private val keyAlias = serverConfig.getString("io.prediction.server.ssl-key-alias")
private val keyStore = {
http://git-wip-us.apache.org/repos/asf/incubator-predictionio/blob/7cddc914/conf/server.conf
----------------------------------------------------------------------
diff --git a/conf/server.conf b/conf/server.conf
index 3963b62..d3befb2 100644
--- a/conf/server.conf
+++ b/conf/server.conf
@@ -1,5 +1,5 @@
# Engine and dashboard Server related configurations
-server {
+io.prediction.server {
# This access key is used by io.prediction.authentication.KeyAuthentication
# to authenticate Evalutaion Dashboard, and Engine Server /stop and /reload enpoints
[22/50] [abbrv] incubator-predictionio git commit: Read server cert
store correctly
Posted by ap...@apache.org.
Read server cert store correctly
Project: http://git-wip-us.apache.org/repos/asf/incubator-predictionio/repo
Commit: http://git-wip-us.apache.org/repos/asf/incubator-predictionio/commit/bc7ab1d9
Tree: http://git-wip-us.apache.org/repos/asf/incubator-predictionio/tree/bc7ab1d9
Diff: http://git-wip-us.apache.org/repos/asf/incubator-predictionio/diff/bc7ab1d9
Branch: refs/heads/master
Commit: bc7ab1d9bebf5ff8405cf459d9c904455f972916
Parents: 7cddc91
Author: Yevgeny <yk...@salesforce.com>
Authored: Wed Mar 2 14:40:29 2016 -0800
Committer: Yevgeny <yk...@salesforce.com>
Committed: Wed Mar 2 14:40:29 2016 -0800
----------------------------------------------------------------------
.../main/scala/io/prediction/configuration/SSLConfiguration.scala | 2 +-
conf/server.conf | 2 +-
2 files changed, 2 insertions(+), 2 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/incubator-predictionio/blob/bc7ab1d9/common/src/main/scala/io/prediction/configuration/SSLConfiguration.scala
----------------------------------------------------------------------
diff --git a/common/src/main/scala/io/prediction/configuration/SSLConfiguration.scala b/common/src/main/scala/io/prediction/configuration/SSLConfiguration.scala
index 0845373..95cc674 100644
--- a/common/src/main/scala/io/prediction/configuration/SSLConfiguration.scala
+++ b/common/src/main/scala/io/prediction/configuration/SSLConfiguration.scala
@@ -24,7 +24,7 @@ trait SSLConfiguration {
//Loading keystore from specified file
val clientStore = KeyStore.getInstance("JKS")
- val inputStream = new FileInputStream(keyStoreResource)
+ val inputStream = new FileInputStream(getClass().getClassLoader().getResource(keyStoreResource).getFile())
clientStore.load(inputStream, password.toCharArray)
inputStream.close()
clientStore
http://git-wip-us.apache.org/repos/asf/incubator-predictionio/blob/bc7ab1d9/conf/server.conf
----------------------------------------------------------------------
diff --git a/conf/server.conf b/conf/server.conf
index d3befb2..2d2f628 100644
--- a/conf/server.conf
+++ b/conf/server.conf
@@ -7,7 +7,7 @@ io.prediction.server {
accessKey = ""
# configs used by io.prediction.configuration.SSLConfiguration
- ssl-keystore-resource = "conf/keystore.jks"
+ ssl-keystore-resource = "keystore.jks"
ssl-keystore-pass = "pioserver"
ssl-key-alias = "selfsigned"
}
[49/50] [abbrv] incubator-predictionio git commit: Use GitHub for
binaries
Posted by ap...@apache.org.
Use GitHub for binaries
Project: http://git-wip-us.apache.org/repos/asf/incubator-predictionio/repo
Commit: http://git-wip-us.apache.org/repos/asf/incubator-predictionio/commit/e1b7535d
Tree: http://git-wip-us.apache.org/repos/asf/incubator-predictionio/tree/e1b7535d
Diff: http://git-wip-us.apache.org/repos/asf/incubator-predictionio/diff/e1b7535d
Branch: refs/heads/master
Commit: e1b7535d9d31d7b9ae8e5d0d6059461c532c8255
Parents: 7cad71e
Author: Donald Szeto <ds...@salesforce.com>
Authored: Mon Apr 11 16:36:42 2016 -0700
Committer: Donald Szeto <ds...@salesforce.com>
Committed: Mon Apr 11 16:36:42 2016 -0700
----------------------------------------------------------------------
bin/install.sh | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/incubator-predictionio/blob/e1b7535d/bin/install.sh
----------------------------------------------------------------------
diff --git a/bin/install.sh b/bin/install.sh
index 61febe0..46bd94c 100755
--- a/bin/install.sh
+++ b/bin/install.sh
@@ -278,7 +278,7 @@ echo -e "\033[1;36mStarting PredictionIO setup in:\033[0m $pio_dir"
cd ${TEMP_DIR}
if [[ ! -e ${PIO_FILE} ]]; then
echo "Downloading PredictionIO..."
- curl -O https://d8k1yxp8elc6b.cloudfront.net/${PIO_FILE}
+ curl -O https://github.com/PredictionIO/PredictionIO/releases/download/v${PIO_VERSION}/${PIO_FILE}
fi
tar zxf ${PIO_FILE}
rm -rf ${pio_dir}
[06/50] [abbrv] incubator-predictionio git commit: Revert "silently
delete existing temp files before download again"
Posted by ap...@apache.org.
Revert "silently delete existing temp files before download again"
This reverts commit 31808e45b16995b9ea07f4fcda1093ecba295dfe.
Conflicts:
bin/install.sh
Project: http://git-wip-us.apache.org/repos/asf/incubator-predictionio/repo
Commit: http://git-wip-us.apache.org/repos/asf/incubator-predictionio/commit/9374f206
Tree: http://git-wip-us.apache.org/repos/asf/incubator-predictionio/tree/9374f206
Diff: http://git-wip-us.apache.org/repos/asf/incubator-predictionio/diff/9374f206
Branch: refs/heads/master
Commit: 9374f206a25db24b515ee877c292232977852692
Parents: 5732d48
Author: Donald Szeto <do...@prediction.io>
Authored: Thu Jan 28 17:46:38 2016 -0800
Committer: Donald Szeto <do...@prediction.io>
Committed: Thu Jan 28 17:46:38 2016 -0800
----------------------------------------------------------------------
bin/install.sh | 9 ---------
1 file changed, 9 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/incubator-predictionio/blob/9374f206/bin/install.sh
----------------------------------------------------------------------
diff --git a/bin/install.sh b/bin/install.sh
index 6f57171..73de6fd 100755
--- a/bin/install.sh
+++ b/bin/install.sh
@@ -303,9 +303,6 @@ mkdir ${vendors_dir}
# Spark
echo -e "\033[1;36mStarting Spark setup in:\033[0m $spark_dir"
-if [[ -e spark-${SPARK_VERSION}-bin-hadoop2.6.tgz ]]; then
- rm spark-${SPARK_VERSION}-bin-hadoop2.6.tgz
-fi
if [[ ! -e spark-${SPARK_VERSION}-bin-hadoop2.6.tgz ]]; then
echo "Downloading Spark..."
curl -O http://d3kbcqa49mib13.cloudfront.net/spark-${SPARK_VERSION}-bin-hadoop2.6.tgz
@@ -355,9 +352,6 @@ case $source_setup in
"$ES_HB")
# Elasticsearch
echo -e "\033[1;36mStarting Elasticsearch setup in:\033[0m $elasticsearch_dir"
- if [[ -e elasticsearch-${ELASTICSEARCH_VERSION}.tar.gz ]]; then
- rm elasticsearch-${ELASTICSEARCH_VERSION}.tar.gz
- fi
if [[ ! -e elasticsearch-${ELASTICSEARCH_VERSION}.tar.gz ]]; then
echo "Downloading Elasticsearch..."
curl -O https://download.elasticsearch.org/elasticsearch/elasticsearch/elasticsearch-${ELASTICSEARCH_VERSION}.tar.gz
@@ -382,9 +376,6 @@ case $source_setup in
# HBase
echo -e "\033[1;36mStarting HBase setup in:\033[0m $hbase_dir"
- if [[ -e hbase-${HBASE_VERSION}-bin.tar.gz ]]; then
- rm hbase-${HBASE_VERSION}-bin.tar.gz
- fi
if [[ ! -e hbase-${HBASE_VERSION}-bin.tar.gz ]]; then
echo "Downloading HBase..."
curl -O http://archive.apache.org/dist/hbase/hbase-${HBASE_VERSION}/hbase-${HBASE_VERSION}-bin.tar.gz
[11/50] [abbrv] incubator-predictionio git commit: Remove useless
statements and convert classes to case classes
Posted by ap...@apache.org.
Remove useless statements and convert classes to case classes
Project: http://git-wip-us.apache.org/repos/asf/incubator-predictionio/repo
Commit: http://git-wip-us.apache.org/repos/asf/incubator-predictionio/commit/e39ff805
Tree: http://git-wip-us.apache.org/repos/asf/incubator-predictionio/tree/e39ff805
Diff: http://git-wip-us.apache.org/repos/asf/incubator-predictionio/diff/e39ff805
Branch: refs/heads/master
Commit: e39ff8056505a5f9de00a56ae927fbe479ea916c
Parents: 2c55161
Author: hyukjinkwon <gu...@gmail.com>
Authored: Thu Feb 4 10:12:34 2016 +0900
Committer: hyukjinkwon <gu...@gmail.com>
Committed: Thu Feb 4 10:12:34 2016 +0900
----------------------------------------------------------------------
.../scala/FriendRecommendationPrediction.scala | 8 ++--
.../main/scala/FriendRecommendationQuery.scala | 8 ++--
.../FriendRecommendationTrainingData.scala | 16 ++++----
.../src/main/scala/KeywordSimilarityModel.scala | 16 ++++----
.../src/main/scala/RandomModel.scala | 6 +--
.../scala-local-helloworld/HelloWorld.scala | 24 +++++------
.../scala-local-regression/Run.scala | 3 +-
.../src/main/scala/DataSource.scala | 2 +-
.../src/main/scala/Engine.scala | 6 +--
.../src/main/scala/ALSAlgorithm.scala | 14 +++----
.../src/main/scala/DataSource.scala | 10 ++---
.../src/main/scala/Engine.scala | 6 +--
.../src/main/scala/Preparator.scala | 4 +-
.../src/main/scala/Serving.scala | 3 +-
.../src/main/scala/DataSource.scala | 6 +--
.../src/main/scala/Engine.scala | 6 +--
.../src/main/scala/Preparator.scala | 6 +--
.../src/main/scala/Serving.scala | 3 +-
.../src/main/scala/DataSource.scala | 10 ++---
.../src/main/scala/Engine.scala | 6 +--
.../src/main/scala/Preparator.scala | 10 ++---
.../src/main/scala/DataSource.scala | 4 +-
.../src/main/scala/Engine.scala | 6 +--
.../src/main/scala/Preparator.scala | 6 +--
.../src/main/scala/Serving.scala | 3 +-
.../src/main/scala/DataSource.scala | 4 +-
.../src/main/scala/Engine.scala | 6 +--
.../src/main/scala/Preparator.scala | 10 ++---
.../src/main/scala/Serving.scala | 3 +-
.../src/main/scala/ALSAlgorithm.scala | 10 ++---
.../src/main/scala/DataSource.scala | 4 +-
.../src/main/scala/Engine.scala | 6 +--
.../src/main/scala/Preparator.scala | 10 ++---
.../src/main/scala/Serving.scala | 3 +-
.../src/main/scala/Algorithm.scala | 2 +-
.../src/main/scala/DataSource.scala | 4 +-
.../src/main/scala/Engine.scala | 6 +--
.../src/main/scala/Serving.scala | 3 +-
.../src/main/scala/BackTestingMetrics.scala | 37 +++++++++--------
.../scala-stock/src/main/scala/Data.scala | 9 ++---
.../src/main/scala/YahooDataSource.scala | 42 ++++++++++----------
.../add-algorithm/src/main/scala/Engine.scala | 12 +++---
.../src/main/scala/Preparator.scala | 4 +-
.../src/main/scala/DataSource.scala | 10 ++---
.../src/main/scala/Engine.scala | 16 ++++----
.../src/main/scala/Preparator.scala | 10 ++---
.../src/main/scala/RandomForestAlgorithm.scala | 10 ++---
.../src/main/scala/ALSAlgorithm.scala | 14 +++----
.../src/main/scala/DataSource.scala | 10 ++---
.../src/main/scala/Engine.scala | 6 +--
.../src/main/scala/Preparator.scala | 10 ++---
.../src/main/scala/ALSAlgorithm.scala | 14 +++----
.../src/main/scala/DataSource.scala | 10 ++---
.../weighted-items/src/main/scala/Engine.scala | 6 +--
.../src/main/scala/Preparator.scala | 10 ++---
.../src/main/scala/DataSource.scala | 4 +-
.../src/main/scala/Engine.scala | 6 +--
.../src/main/scala/Preparator.scala | 6 +--
.../src/main/scala/Serving.scala | 3 +-
.../src/main/scala/DataSource.scala | 3 +-
.../custom-query/src/main/scala/Engine.scala | 4 +-
.../src/main/scala/Preparator.scala | 3 +-
.../src/main/scala/DataSource.scala | 6 +--
.../custom-serving/src/main/scala/Engine.scala | 6 +--
.../src/main/scala/Preparator.scala | 6 +--
.../src/main/scala/DataSource.scala | 8 ++--
.../src/main/scala/Engine.scala | 6 +--
.../src/main/scala/Preparator.scala | 8 ++--
.../src/main/scala/ALSAlgorithm.scala | 10 ++---
.../src/main/scala/DataSource.scala | 2 +-
.../src/main/scala/Engine.scala | 6 +--
.../src/main/scala/Preparator.scala | 10 ++---
.../src/main/scala/DataSource.scala | 10 ++---
.../add-rateevent/src/main/scala/Engine.scala | 6 +--
.../src/main/scala/Preparator.scala | 10 ++---
.../src/main/scala/DataSource.scala | 10 ++---
.../filterbyyear/src/main/scala/Engine.scala | 6 +--
.../src/main/scala/Preparator.scala | 10 ++---
.../filterbyyear/src/main/scala/Serving.scala | 3 +-
.../multi/src/main/scala/DataSource.scala | 12 +++---
.../multi/src/main/scala/Engine.scala | 6 +--
.../multi/src/main/scala/Preparator.scala | 12 +++---
.../multi/src/main/scala/Serving.scala | 3 +-
.../no-set-user/src/main/scala/DataSource.scala | 8 ++--
.../no-set-user/src/main/scala/Engine.scala | 6 +--
.../no-set-user/src/main/scala/Preparator.scala | 8 ++--
.../no-set-user/src/main/scala/Serving.scala | 3 +-
.../src/main/scala/DataSource.scala | 8 ++--
.../src/main/scala/Engine.scala | 6 +--
.../src/main/scala/Preparator.scala | 8 ++--
90 files changed, 354 insertions(+), 371 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/incubator-predictionio/blob/e39ff805/examples/experimental/scala-local-friend-recommendation/src/main/scala/FriendRecommendationPrediction.scala
----------------------------------------------------------------------
diff --git a/examples/experimental/scala-local-friend-recommendation/src/main/scala/FriendRecommendationPrediction.scala b/examples/experimental/scala-local-friend-recommendation/src/main/scala/FriendRecommendationPrediction.scala
index 74a23ca..e0177c8 100644
--- a/examples/experimental/scala-local-friend-recommendation/src/main/scala/FriendRecommendationPrediction.scala
+++ b/examples/experimental/scala-local-friend-recommendation/src/main/scala/FriendRecommendationPrediction.scala
@@ -1,7 +1,7 @@
package io.prediction.examples.friendrecommendation
-class FriendRecommendationPrediction (
- val confidence: Double,
+case class FriendRecommendationPrediction (
+ confidence: Double,
// returning boolean acceptance to align with KDD 2012 scenario
- val acceptance: Boolean
-) extends Serializable
+ acceptance: Boolean
+)
http://git-wip-us.apache.org/repos/asf/incubator-predictionio/blob/e39ff805/examples/experimental/scala-local-friend-recommendation/src/main/scala/FriendRecommendationQuery.scala
----------------------------------------------------------------------
diff --git a/examples/experimental/scala-local-friend-recommendation/src/main/scala/FriendRecommendationQuery.scala b/examples/experimental/scala-local-friend-recommendation/src/main/scala/FriendRecommendationQuery.scala
index 5f37e75..d9c5cb8 100644
--- a/examples/experimental/scala-local-friend-recommendation/src/main/scala/FriendRecommendationQuery.scala
+++ b/examples/experimental/scala-local-friend-recommendation/src/main/scala/FriendRecommendationQuery.scala
@@ -1,8 +1,8 @@
package io.prediction.examples.friendrecommendation
-class FriendRecommendationQuery (
+case class FriendRecommendationQuery (
// To align with the KDD 2012 scenario
// Given a user and an item, predict acceptance
- val user: Int,
- val item: Int
-) extends Serializable
+ user: Int,
+ item: Int
+)
http://git-wip-us.apache.org/repos/asf/incubator-predictionio/blob/e39ff805/examples/experimental/scala-local-friend-recommendation/src/main/scala/FriendRecommendationTrainingData.scala
----------------------------------------------------------------------
diff --git a/examples/experimental/scala-local-friend-recommendation/src/main/scala/FriendRecommendationTrainingData.scala b/examples/experimental/scala-local-friend-recommendation/src/main/scala/FriendRecommendationTrainingData.scala
index 0f0056c..7d6eddd 100644
--- a/examples/experimental/scala-local-friend-recommendation/src/main/scala/FriendRecommendationTrainingData.scala
+++ b/examples/experimental/scala-local-friend-recommendation/src/main/scala/FriendRecommendationTrainingData.scala
@@ -2,18 +2,18 @@ package io.prediction.examples.friendrecommendation
import scala.collection.immutable.HashMap
-class FriendRecommendationTrainingData (
+case class FriendRecommendationTrainingData (
// Designed to fit random, keyword similarity methods and simrank now
// Will be updated to to fit more advanced algorithms when they are developed
// External-internal id map
- val userIdMap: HashMap[Int, Int],
- val itemIdMap: HashMap[Int, Int],
+ userIdMap: HashMap[Int, Int],
+ itemIdMap: HashMap[Int, Int],
// Keyword array, internal id index, term-weight map item
- val userKeyword: Array[HashMap[Int, Double]],
- val itemKeyword: Array[HashMap[Int, Double]],
+ userKeyword: Array[HashMap[Int, Double]],
+ itemKeyword: Array[HashMap[Int, Double]],
// User relationship array,
// src internal id index, dest-internal-id-weight list item
- val socialAction: Array[List[(Int, Int)]],
+ socialAction: Array[List[(Int, Int)]],
// Training record for training purpose
- val trainingRecord: Stream[(Int, Int, Boolean)]
-) extends Serializable
+ trainingRecord: Stream[(Int, Int, Boolean)]
+)
http://git-wip-us.apache.org/repos/asf/incubator-predictionio/blob/e39ff805/examples/experimental/scala-local-friend-recommendation/src/main/scala/KeywordSimilarityModel.scala
----------------------------------------------------------------------
diff --git a/examples/experimental/scala-local-friend-recommendation/src/main/scala/KeywordSimilarityModel.scala b/examples/experimental/scala-local-friend-recommendation/src/main/scala/KeywordSimilarityModel.scala
index 4523327..c3838bb 100644
--- a/examples/experimental/scala-local-friend-recommendation/src/main/scala/KeywordSimilarityModel.scala
+++ b/examples/experimental/scala-local-friend-recommendation/src/main/scala/KeywordSimilarityModel.scala
@@ -2,14 +2,14 @@ package io.prediction.examples.friendrecommendation
import scala.collection.immutable.HashMap
-class KeywordSimilarityModel (
+case class KeywordSimilarityModel (
// External-internal id map
- val userIdMap: HashMap[Int, Int],
- val itemIdMap: HashMap[Int, Int],
+ userIdMap: HashMap[Int, Int],
+ itemIdMap: HashMap[Int, Int],
// Keyword array, internal id index, term-weight map item
- val userKeyword: Array[HashMap[Int, Double]],
- val itemKeyword: Array[HashMap[Int, Double]],
+ userKeyword: Array[HashMap[Int, Double]],
+ itemKeyword: Array[HashMap[Int, Double]],
// Weight and threshold trained
- val keywordSimWeight: Double,
- val keywordSimThreshold: Double
-) extends Serializable
+ keywordSimWeight: Double,
+ keywordSimThreshold: Double
+)
http://git-wip-us.apache.org/repos/asf/incubator-predictionio/blob/e39ff805/examples/experimental/scala-local-friend-recommendation/src/main/scala/RandomModel.scala
----------------------------------------------------------------------
diff --git a/examples/experimental/scala-local-friend-recommendation/src/main/scala/RandomModel.scala b/examples/experimental/scala-local-friend-recommendation/src/main/scala/RandomModel.scala
index ab1955d..07250e9 100644
--- a/examples/experimental/scala-local-friend-recommendation/src/main/scala/RandomModel.scala
+++ b/examples/experimental/scala-local-friend-recommendation/src/main/scala/RandomModel.scala
@@ -1,5 +1,5 @@
package io.prediction.examples.friendrecommendation
-class RandomModel(
- val randomThreshold: Double
-) extends Serializable
+case class RandomModel(
+ randomThreshold: Double
+)
http://git-wip-us.apache.org/repos/asf/incubator-predictionio/blob/e39ff805/examples/experimental/scala-local-helloworld/HelloWorld.scala
----------------------------------------------------------------------
diff --git a/examples/experimental/scala-local-helloworld/HelloWorld.scala b/examples/experimental/scala-local-helloworld/HelloWorld.scala
index 5fa3d68..5cab481 100644
--- a/examples/experimental/scala-local-helloworld/HelloWorld.scala
+++ b/examples/experimental/scala-local-helloworld/HelloWorld.scala
@@ -6,24 +6,24 @@ import scala.io.Source
import scala.collection.immutable.HashMap
// all data need to be serializable
-class MyTrainingData(
+case class MyTrainingData(
// list of (day, temperature) tuples
- val temperatures: List[(String, Double)]
-) extends Serializable
+ temperatures: List[(String, Double)]
+)
-class MyQuery(
- val day: String
-) extends Serializable
+case class MyQuery(
+ day: String
+)
-class MyModel(
- val temperatures: HashMap[String, Double]
-) extends Serializable {
+case class MyModel(
+ temperatures: HashMap[String, Double]
+) {
override def toString = temperatures.toString
}
-class MyPredictedResult(
- val temperature: Double
-) extends Serializable
+case class MyPredictedResult(
+ temperature: Double
+)
// controller components
class MyDataSource extends LDataSource[EmptyDataSourceParams, EmptyDataParams,
http://git-wip-us.apache.org/repos/asf/incubator-predictionio/blob/e39ff805/examples/experimental/scala-local-regression/Run.scala
----------------------------------------------------------------------
diff --git a/examples/experimental/scala-local-regression/Run.scala b/examples/experimental/scala-local-regression/Run.scala
index 96aa57e..3708a1c 100644
--- a/examples/experimental/scala-local-regression/Run.scala
+++ b/examples/experimental/scala-local-regression/Run.scala
@@ -26,8 +26,7 @@ import java.io.File
case class DataSourceParams(val filepath: String, val seed: Int = 9527)
extends Params
-case class TrainingData(x: Vector[Vector[Double]], y: Vector[Double])
- extends Serializable {
+case class TrainingData(x: Vector[Vector[Double]], y: Vector[Double]) {
val r = x.length
val c = x.head.length
}
http://git-wip-us.apache.org/repos/asf/incubator-predictionio/blob/e39ff805/examples/experimental/scala-parallel-friend-recommendation/src/main/scala/DataSource.scala
----------------------------------------------------------------------
diff --git a/examples/experimental/scala-parallel-friend-recommendation/src/main/scala/DataSource.scala b/examples/experimental/scala-parallel-friend-recommendation/src/main/scala/DataSource.scala
index 2886260..6b586f4 100644
--- a/examples/experimental/scala-parallel-friend-recommendation/src/main/scala/DataSource.scala
+++ b/examples/experimental/scala-parallel-friend-recommendation/src/main/scala/DataSource.scala
@@ -24,7 +24,7 @@ case class DataSourceParams(
case class TrainingData(
val g:Graph[Int,Int],
val identityMatrix:RDD[(VertexId,Double)]
-) extends Serializable
+)
class DataSource(val dsp: DataSourceParams)
extends PDataSource[TrainingData, EmptyEvaluationInfo, Query, Double] {
http://git-wip-us.apache.org/repos/asf/incubator-predictionio/blob/e39ff805/examples/experimental/scala-parallel-friend-recommendation/src/main/scala/Engine.scala
----------------------------------------------------------------------
diff --git a/examples/experimental/scala-parallel-friend-recommendation/src/main/scala/Engine.scala b/examples/experimental/scala-parallel-friend-recommendation/src/main/scala/Engine.scala
index efbba5e..e189d0f 100644
--- a/examples/experimental/scala-parallel-friend-recommendation/src/main/scala/Engine.scala
+++ b/examples/experimental/scala-parallel-friend-recommendation/src/main/scala/Engine.scala
@@ -6,16 +6,16 @@ import io.prediction.controller.Engine
case class Query(
val item1: Long,
val item2: Long
-) extends Serializable
+)
case class PredictedResult(
val productScores: Array[ProductScore]
-) extends Serializable
+)
case class ProductScore(
product: Int,
score: Double
-) extends Serializable
+)
object PSimRankEngineFactory extends IEngineFactory {
def apply() = {
http://git-wip-us.apache.org/repos/asf/incubator-predictionio/blob/e39ff805/examples/experimental/scala-parallel-recommendation-cat/src/main/scala/ALSAlgorithm.scala
----------------------------------------------------------------------
diff --git a/examples/experimental/scala-parallel-recommendation-cat/src/main/scala/ALSAlgorithm.scala b/examples/experimental/scala-parallel-recommendation-cat/src/main/scala/ALSAlgorithm.scala
index 0a60f8b..a7b91d8 100644
--- a/examples/experimental/scala-parallel-recommendation-cat/src/main/scala/ALSAlgorithm.scala
+++ b/examples/experimental/scala-parallel-recommendation-cat/src/main/scala/ALSAlgorithm.scala
@@ -24,13 +24,13 @@ case class ALSAlgorithmParams(
seed: Option[Long]
) extends Params
-class ALSModel(
- val rank: Int,
- val userFeatures: Map[Int, Array[Double]],
- val productFeatures: Map[Int, (Item, Option[Array[Double]])],
- val userStringIntMap: BiMap[String, Int],
- val itemStringIntMap: BiMap[String, Int]
-) extends Serializable {
+case class ALSModel(
+ rank: Int,
+ userFeatures: Map[Int, Array[Double]],
+ productFeatures: Map[Int, (Item, Option[Array[Double]])],
+ userStringIntMap: BiMap[String, Int],
+ itemStringIntMap: BiMap[String, Int]
+) {
@transient lazy val itemIntStringMap = itemStringIntMap.inverse
http://git-wip-us.apache.org/repos/asf/incubator-predictionio/blob/e39ff805/examples/experimental/scala-parallel-recommendation-cat/src/main/scala/DataSource.scala
----------------------------------------------------------------------
diff --git a/examples/experimental/scala-parallel-recommendation-cat/src/main/scala/DataSource.scala b/examples/experimental/scala-parallel-recommendation-cat/src/main/scala/DataSource.scala
index 6a08060..5abf22b 100644
--- a/examples/experimental/scala-parallel-recommendation-cat/src/main/scala/DataSource.scala
+++ b/examples/experimental/scala-parallel-recommendation-cat/src/main/scala/DataSource.scala
@@ -101,11 +101,11 @@ case class Item(categories: Option[List[String]])
case class ViewEvent(user: String, item: String, t: Long)
-class TrainingData(
- val users: RDD[(String, User)],
- val items: RDD[(String, Item)],
- val viewEvents: RDD[ViewEvent]
-) extends Serializable {
+case class TrainingData(
+ users: RDD[(String, User)],
+ items: RDD[(String, Item)],
+ viewEvents: RDD[ViewEvent]
+) {
override def toString = {
s"users: [${users.count()} (${users.take(2).toList}...)]" +
s"items: [${items.count()} (${items.take(2).toList}...)]" +
http://git-wip-us.apache.org/repos/asf/incubator-predictionio/blob/e39ff805/examples/experimental/scala-parallel-recommendation-cat/src/main/scala/Engine.scala
----------------------------------------------------------------------
diff --git a/examples/experimental/scala-parallel-recommendation-cat/src/main/scala/Engine.scala b/examples/experimental/scala-parallel-recommendation-cat/src/main/scala/Engine.scala
index eb8ff29..8fe6361 100644
--- a/examples/experimental/scala-parallel-recommendation-cat/src/main/scala/Engine.scala
+++ b/examples/experimental/scala-parallel-recommendation-cat/src/main/scala/Engine.scala
@@ -9,16 +9,16 @@ case class Query(
categories: Option[Set[String]],
whiteList: Option[Set[String]],
blackList: Option[Set[String]]
-) extends Serializable
+)
case class PredictedResult(
itemScores: Array[ItemScore]
-) extends Serializable
+)
case class ItemScore(
item: String,
score: Double
-) extends Serializable
+)
object RecommendationEngine extends IEngineFactory {
def apply() = {
http://git-wip-us.apache.org/repos/asf/incubator-predictionio/blob/e39ff805/examples/experimental/scala-parallel-recommendation-cat/src/main/scala/Preparator.scala
----------------------------------------------------------------------
diff --git a/examples/experimental/scala-parallel-recommendation-cat/src/main/scala/Preparator.scala b/examples/experimental/scala-parallel-recommendation-cat/src/main/scala/Preparator.scala
index 64f3908..25c67c0 100644
--- a/examples/experimental/scala-parallel-recommendation-cat/src/main/scala/Preparator.scala
+++ b/examples/experimental/scala-parallel-recommendation-cat/src/main/scala/Preparator.scala
@@ -17,8 +17,8 @@ class Preparator
}
}
-class PreparedData(
+case class PreparedData(
val users: RDD[(String, User)],
val items: RDD[(String, Item)],
val viewEvents: RDD[ViewEvent]
-) extends Serializable
+)
http://git-wip-us.apache.org/repos/asf/incubator-predictionio/blob/e39ff805/examples/experimental/scala-parallel-recommendation-cat/src/main/scala/Serving.scala
----------------------------------------------------------------------
diff --git a/examples/experimental/scala-parallel-recommendation-cat/src/main/scala/Serving.scala b/examples/experimental/scala-parallel-recommendation-cat/src/main/scala/Serving.scala
index cc5542c..132755e 100644
--- a/examples/experimental/scala-parallel-recommendation-cat/src/main/scala/Serving.scala
+++ b/examples/experimental/scala-parallel-recommendation-cat/src/main/scala/Serving.scala
@@ -5,8 +5,7 @@ import io.prediction.controller.LServing
class Serving
extends LServing[Query, PredictedResult] {
- override
- def serve(query: Query,
+ override def serve(query: Query,
predictedResults: Seq[PredictedResult]): PredictedResult = {
predictedResults.head
}
http://git-wip-us.apache.org/repos/asf/incubator-predictionio/blob/e39ff805/examples/experimental/scala-parallel-recommendation-custom-datasource/src/main/scala/DataSource.scala
----------------------------------------------------------------------
diff --git a/examples/experimental/scala-parallel-recommendation-custom-datasource/src/main/scala/DataSource.scala b/examples/experimental/scala-parallel-recommendation-custom-datasource/src/main/scala/DataSource.scala
index c1c340d..7b0af4a 100644
--- a/examples/experimental/scala-parallel-recommendation-custom-datasource/src/main/scala/DataSource.scala
+++ b/examples/experimental/scala-parallel-recommendation-custom-datasource/src/main/scala/DataSource.scala
@@ -39,9 +39,9 @@ case class Rating(
rating: Double
)
-class TrainingData(
- val ratings: RDD[Rating]
-) extends Serializable {
+case class TrainingData(
+ ratings: RDD[Rating]
+) {
override def toString = {
s"ratings: [${ratings.count()}] (${ratings.take(2).toList}...)"
}
http://git-wip-us.apache.org/repos/asf/incubator-predictionio/blob/e39ff805/examples/experimental/scala-parallel-recommendation-custom-datasource/src/main/scala/Engine.scala
----------------------------------------------------------------------
diff --git a/examples/experimental/scala-parallel-recommendation-custom-datasource/src/main/scala/Engine.scala b/examples/experimental/scala-parallel-recommendation-custom-datasource/src/main/scala/Engine.scala
index 22add39..edb7767 100644
--- a/examples/experimental/scala-parallel-recommendation-custom-datasource/src/main/scala/Engine.scala
+++ b/examples/experimental/scala-parallel-recommendation-custom-datasource/src/main/scala/Engine.scala
@@ -6,16 +6,16 @@ import io.prediction.controller.Engine
case class Query(
user: String,
num: Int
-) extends Serializable
+)
case class PredictedResult(
itemScores: Array[ItemScore]
-) extends Serializable
+)
case class ItemScore(
item: String,
score: Double
-) extends Serializable
+)
object RecommendationEngine extends IEngineFactory {
def apply() = {
http://git-wip-us.apache.org/repos/asf/incubator-predictionio/blob/e39ff805/examples/experimental/scala-parallel-recommendation-custom-datasource/src/main/scala/Preparator.scala
----------------------------------------------------------------------
diff --git a/examples/experimental/scala-parallel-recommendation-custom-datasource/src/main/scala/Preparator.scala b/examples/experimental/scala-parallel-recommendation-custom-datasource/src/main/scala/Preparator.scala
index 6468e4b..7b6c7c9 100644
--- a/examples/experimental/scala-parallel-recommendation-custom-datasource/src/main/scala/Preparator.scala
+++ b/examples/experimental/scala-parallel-recommendation-custom-datasource/src/main/scala/Preparator.scala
@@ -14,6 +14,6 @@ class Preparator
}
}
-class PreparedData(
- val ratings: RDD[Rating]
-) extends Serializable
+case class PreparedData(
+ ratings: RDD[Rating]
+)
http://git-wip-us.apache.org/repos/asf/incubator-predictionio/blob/e39ff805/examples/experimental/scala-parallel-recommendation-custom-datasource/src/main/scala/Serving.scala
----------------------------------------------------------------------
diff --git a/examples/experimental/scala-parallel-recommendation-custom-datasource/src/main/scala/Serving.scala b/examples/experimental/scala-parallel-recommendation-custom-datasource/src/main/scala/Serving.scala
index cc5542c..132755e 100644
--- a/examples/experimental/scala-parallel-recommendation-custom-datasource/src/main/scala/Serving.scala
+++ b/examples/experimental/scala-parallel-recommendation-custom-datasource/src/main/scala/Serving.scala
@@ -5,8 +5,7 @@ import io.prediction.controller.LServing
class Serving
extends LServing[Query, PredictedResult] {
- override
- def serve(query: Query,
+ override def serve(query: Query,
predictedResults: Seq[PredictedResult]): PredictedResult = {
predictedResults.head
}
http://git-wip-us.apache.org/repos/asf/incubator-predictionio/blob/e39ff805/examples/experimental/scala-parallel-recommendation-entitymap/src/main/scala/DataSource.scala
----------------------------------------------------------------------
diff --git a/examples/experimental/scala-parallel-recommendation-entitymap/src/main/scala/DataSource.scala b/examples/experimental/scala-parallel-recommendation-entitymap/src/main/scala/DataSource.scala
index 5b219eb..2808ab7 100644
--- a/examples/experimental/scala-parallel-recommendation-entitymap/src/main/scala/DataSource.scala
+++ b/examples/experimental/scala-parallel-recommendation-entitymap/src/main/scala/DataSource.scala
@@ -98,11 +98,11 @@ case class Rating(
rating: Double
)
-class TrainingData(
- val users: EntityMap[User],
- val items: EntityMap[Item],
- val ratings: RDD[Rating]
-) extends Serializable {
+case class TrainingData(
+ users: EntityMap[User],
+ items: EntityMap[Item],
+ ratings: RDD[Rating]
+) {
override def toString = {
s"users: [${users.size} (${users.take(2).toString}...)]" +
s"items: [${items.size} (${items.take(2).toString}...)]" +
http://git-wip-us.apache.org/repos/asf/incubator-predictionio/blob/e39ff805/examples/experimental/scala-parallel-recommendation-entitymap/src/main/scala/Engine.scala
----------------------------------------------------------------------
diff --git a/examples/experimental/scala-parallel-recommendation-entitymap/src/main/scala/Engine.scala b/examples/experimental/scala-parallel-recommendation-entitymap/src/main/scala/Engine.scala
index 22add39..edb7767 100644
--- a/examples/experimental/scala-parallel-recommendation-entitymap/src/main/scala/Engine.scala
+++ b/examples/experimental/scala-parallel-recommendation-entitymap/src/main/scala/Engine.scala
@@ -6,16 +6,16 @@ import io.prediction.controller.Engine
case class Query(
user: String,
num: Int
-) extends Serializable
+)
case class PredictedResult(
itemScores: Array[ItemScore]
-) extends Serializable
+)
case class ItemScore(
item: String,
score: Double
-) extends Serializable
+)
object RecommendationEngine extends IEngineFactory {
def apply() = {
http://git-wip-us.apache.org/repos/asf/incubator-predictionio/blob/e39ff805/examples/experimental/scala-parallel-recommendation-entitymap/src/main/scala/Preparator.scala
----------------------------------------------------------------------
diff --git a/examples/experimental/scala-parallel-recommendation-entitymap/src/main/scala/Preparator.scala b/examples/experimental/scala-parallel-recommendation-entitymap/src/main/scala/Preparator.scala
index bf5013b..c51fd9c 100644
--- a/examples/experimental/scala-parallel-recommendation-entitymap/src/main/scala/Preparator.scala
+++ b/examples/experimental/scala-parallel-recommendation-entitymap/src/main/scala/Preparator.scala
@@ -18,8 +18,8 @@ class Preparator
}
}
-class PreparedData(
- val users: EntityMap[User],
- val items: EntityMap[Item],
- val ratings: RDD[Rating]
-) extends Serializable
+case class PreparedData(
+ users: EntityMap[User],
+ items: EntityMap[Item],
+ ratings: RDD[Rating]
+)
http://git-wip-us.apache.org/repos/asf/incubator-predictionio/blob/e39ff805/examples/experimental/scala-parallel-recommendation-mongo-datasource/src/main/scala/DataSource.scala
----------------------------------------------------------------------
diff --git a/examples/experimental/scala-parallel-recommendation-mongo-datasource/src/main/scala/DataSource.scala b/examples/experimental/scala-parallel-recommendation-mongo-datasource/src/main/scala/DataSource.scala
index c3cf391..de57c4d 100644
--- a/examples/experimental/scala-parallel-recommendation-mongo-datasource/src/main/scala/DataSource.scala
+++ b/examples/experimental/scala-parallel-recommendation-mongo-datasource/src/main/scala/DataSource.scala
@@ -58,9 +58,9 @@ case class Rating(
rating: Double
)
-class TrainingData(
+case class TrainingData(
val ratings: RDD[Rating]
-) extends Serializable {
+) {
override def toString = {
s"ratings: [${ratings.count()}] (${ratings.take(2).toList}...)"
}
http://git-wip-us.apache.org/repos/asf/incubator-predictionio/blob/e39ff805/examples/experimental/scala-parallel-recommendation-mongo-datasource/src/main/scala/Engine.scala
----------------------------------------------------------------------
diff --git a/examples/experimental/scala-parallel-recommendation-mongo-datasource/src/main/scala/Engine.scala b/examples/experimental/scala-parallel-recommendation-mongo-datasource/src/main/scala/Engine.scala
index 22add39..edb7767 100644
--- a/examples/experimental/scala-parallel-recommendation-mongo-datasource/src/main/scala/Engine.scala
+++ b/examples/experimental/scala-parallel-recommendation-mongo-datasource/src/main/scala/Engine.scala
@@ -6,16 +6,16 @@ import io.prediction.controller.Engine
case class Query(
user: String,
num: Int
-) extends Serializable
+)
case class PredictedResult(
itemScores: Array[ItemScore]
-) extends Serializable
+)
case class ItemScore(
item: String,
score: Double
-) extends Serializable
+)
object RecommendationEngine extends IEngineFactory {
def apply() = {
http://git-wip-us.apache.org/repos/asf/incubator-predictionio/blob/e39ff805/examples/experimental/scala-parallel-recommendation-mongo-datasource/src/main/scala/Preparator.scala
----------------------------------------------------------------------
diff --git a/examples/experimental/scala-parallel-recommendation-mongo-datasource/src/main/scala/Preparator.scala b/examples/experimental/scala-parallel-recommendation-mongo-datasource/src/main/scala/Preparator.scala
index 6468e4b..7b6c7c9 100644
--- a/examples/experimental/scala-parallel-recommendation-mongo-datasource/src/main/scala/Preparator.scala
+++ b/examples/experimental/scala-parallel-recommendation-mongo-datasource/src/main/scala/Preparator.scala
@@ -14,6 +14,6 @@ class Preparator
}
}
-class PreparedData(
- val ratings: RDD[Rating]
-) extends Serializable
+case class PreparedData(
+ ratings: RDD[Rating]
+)
http://git-wip-us.apache.org/repos/asf/incubator-predictionio/blob/e39ff805/examples/experimental/scala-parallel-recommendation-mongo-datasource/src/main/scala/Serving.scala
----------------------------------------------------------------------
diff --git a/examples/experimental/scala-parallel-recommendation-mongo-datasource/src/main/scala/Serving.scala b/examples/experimental/scala-parallel-recommendation-mongo-datasource/src/main/scala/Serving.scala
index cc5542c..132755e 100644
--- a/examples/experimental/scala-parallel-recommendation-mongo-datasource/src/main/scala/Serving.scala
+++ b/examples/experimental/scala-parallel-recommendation-mongo-datasource/src/main/scala/Serving.scala
@@ -5,8 +5,7 @@ import io.prediction.controller.LServing
class Serving
extends LServing[Query, PredictedResult] {
- override
- def serve(query: Query,
+ override def serve(query: Query,
predictedResults: Seq[PredictedResult]): PredictedResult = {
predictedResults.head
}
http://git-wip-us.apache.org/repos/asf/incubator-predictionio/blob/e39ff805/examples/experimental/scala-parallel-similarproduct-dimsum/src/main/scala/DataSource.scala
----------------------------------------------------------------------
diff --git a/examples/experimental/scala-parallel-similarproduct-dimsum/src/main/scala/DataSource.scala b/examples/experimental/scala-parallel-similarproduct-dimsum/src/main/scala/DataSource.scala
index 4211186..f586607 100644
--- a/examples/experimental/scala-parallel-similarproduct-dimsum/src/main/scala/DataSource.scala
+++ b/examples/experimental/scala-parallel-similarproduct-dimsum/src/main/scala/DataSource.scala
@@ -104,11 +104,11 @@ case class ViewEvent(
t: Long
)
-class TrainingData(
+case class TrainingData(
val users: RDD[(String, User)],
val items: RDD[(String, Item)],
val viewEvents: RDD[ViewEvent]
-) extends Serializable {
+) {
override def toString = {
s"users: [${users.count()} (${users.take(2).toList}...)]" +
s"items: [${items.count()} (${items.take(2).toList}...)]" +
http://git-wip-us.apache.org/repos/asf/incubator-predictionio/blob/e39ff805/examples/experimental/scala-parallel-similarproduct-dimsum/src/main/scala/Engine.scala
----------------------------------------------------------------------
diff --git a/examples/experimental/scala-parallel-similarproduct-dimsum/src/main/scala/Engine.scala b/examples/experimental/scala-parallel-similarproduct-dimsum/src/main/scala/Engine.scala
index e961ee2..02a3212 100644
--- a/examples/experimental/scala-parallel-similarproduct-dimsum/src/main/scala/Engine.scala
+++ b/examples/experimental/scala-parallel-similarproduct-dimsum/src/main/scala/Engine.scala
@@ -9,16 +9,16 @@ case class Query(
categories: Option[Set[String]],
whiteList: Option[Set[String]],
blackList: Option[Set[String]]
-) extends Serializable
+)
case class PredictedResult(
itemScores: Array[ItemScore]
-) extends Serializable
+)
case class ItemScore(
item: String,
score: Double
-) extends Serializable
+)
object SimilarProductEngine extends IEngineFactory {
def apply() = {
http://git-wip-us.apache.org/repos/asf/incubator-predictionio/blob/e39ff805/examples/experimental/scala-parallel-similarproduct-dimsum/src/main/scala/Preparator.scala
----------------------------------------------------------------------
diff --git a/examples/experimental/scala-parallel-similarproduct-dimsum/src/main/scala/Preparator.scala b/examples/experimental/scala-parallel-similarproduct-dimsum/src/main/scala/Preparator.scala
index c5e42ec..8fa8c48 100644
--- a/examples/experimental/scala-parallel-similarproduct-dimsum/src/main/scala/Preparator.scala
+++ b/examples/experimental/scala-parallel-similarproduct-dimsum/src/main/scala/Preparator.scala
@@ -17,8 +17,8 @@ class Preparator
}
}
-class PreparedData(
- val users: RDD[(String, User)],
- val items: RDD[(String, Item)],
- val viewEvents: RDD[ViewEvent]
-) extends Serializable
+case class PreparedData(
+ users: RDD[(String, User)],
+ items: RDD[(String, Item)],
+ viewEvents: RDD[ViewEvent]
+)
http://git-wip-us.apache.org/repos/asf/incubator-predictionio/blob/e39ff805/examples/experimental/scala-parallel-similarproduct-dimsum/src/main/scala/Serving.scala
----------------------------------------------------------------------
diff --git a/examples/experimental/scala-parallel-similarproduct-dimsum/src/main/scala/Serving.scala b/examples/experimental/scala-parallel-similarproduct-dimsum/src/main/scala/Serving.scala
index 7a7f124..e7dadab 100644
--- a/examples/experimental/scala-parallel-similarproduct-dimsum/src/main/scala/Serving.scala
+++ b/examples/experimental/scala-parallel-similarproduct-dimsum/src/main/scala/Serving.scala
@@ -5,8 +5,7 @@ import io.prediction.controller.LServing
class Serving
extends LServing[Query, PredictedResult] {
- override
- def serve(query: Query,
+ override def serve(query: Query,
predictedResults: Seq[PredictedResult]): PredictedResult = {
predictedResults.head
}
http://git-wip-us.apache.org/repos/asf/incubator-predictionio/blob/e39ff805/examples/experimental/scala-parallel-similarproduct-localmodel/src/main/scala/ALSAlgorithm.scala
----------------------------------------------------------------------
diff --git a/examples/experimental/scala-parallel-similarproduct-localmodel/src/main/scala/ALSAlgorithm.scala b/examples/experimental/scala-parallel-similarproduct-localmodel/src/main/scala/ALSAlgorithm.scala
index d250b71..3d57992 100644
--- a/examples/experimental/scala-parallel-similarproduct-localmodel/src/main/scala/ALSAlgorithm.scala
+++ b/examples/experimental/scala-parallel-similarproduct-localmodel/src/main/scala/ALSAlgorithm.scala
@@ -22,11 +22,11 @@ case class ALSAlgorithmParams(
lambda: Double,
seed: Option[Long]) extends Params
-class ALSLocalModel( // MODIFIED
- val productFeatures: Map[Int, Array[Double]], // MODIFIED
- val itemStringIntMap: BiMap[String, Int],
- val items: Map[Int, Item]
-) extends Serializable { // MODIFIED
+case class ALSLocalModel( // MODIFIED
+ productFeatures: Map[Int, Array[Double]], // MODIFIED
+ itemStringIntMap: BiMap[String, Int],
+ items: Map[Int, Item]
+) { // MODIFIED
// MODIFIED
http://git-wip-us.apache.org/repos/asf/incubator-predictionio/blob/e39ff805/examples/experimental/scala-parallel-similarproduct-localmodel/src/main/scala/DataSource.scala
----------------------------------------------------------------------
diff --git a/examples/experimental/scala-parallel-similarproduct-localmodel/src/main/scala/DataSource.scala b/examples/experimental/scala-parallel-similarproduct-localmodel/src/main/scala/DataSource.scala
index b45fe37..3de9444 100644
--- a/examples/experimental/scala-parallel-similarproduct-localmodel/src/main/scala/DataSource.scala
+++ b/examples/experimental/scala-parallel-similarproduct-localmodel/src/main/scala/DataSource.scala
@@ -101,11 +101,11 @@ case class Item(categories: Option[List[String]])
case class ViewEvent(user: String, item: String, t: Long)
-class TrainingData(
+case class TrainingData(
val users: RDD[(String, User)],
val items: RDD[(String, Item)],
val viewEvents: RDD[ViewEvent]
-) extends Serializable {
+) {
override def toString = {
s"users: [${users.count()} (${users.take(2).toList}...)]" +
s"items: [${items.count()} (${items.take(2).toList}...)]" +
http://git-wip-us.apache.org/repos/asf/incubator-predictionio/blob/e39ff805/examples/experimental/scala-parallel-similarproduct-localmodel/src/main/scala/Engine.scala
----------------------------------------------------------------------
diff --git a/examples/experimental/scala-parallel-similarproduct-localmodel/src/main/scala/Engine.scala b/examples/experimental/scala-parallel-similarproduct-localmodel/src/main/scala/Engine.scala
index 9815ebf..8d594fc 100644
--- a/examples/experimental/scala-parallel-similarproduct-localmodel/src/main/scala/Engine.scala
+++ b/examples/experimental/scala-parallel-similarproduct-localmodel/src/main/scala/Engine.scala
@@ -9,16 +9,16 @@ case class Query(
categories: Option[Set[String]],
whiteList: Option[Set[String]],
blackList: Option[Set[String]]
-) extends Serializable
+)
case class PredictedResult(
itemScores: Array[ItemScore]
-) extends Serializable
+)
case class ItemScore(
item: String,
score: Double
-) extends Serializable
+)
object SimilarProductEngine extends IEngineFactory {
def apply() = {
http://git-wip-us.apache.org/repos/asf/incubator-predictionio/blob/e39ff805/examples/experimental/scala-parallel-similarproduct-localmodel/src/main/scala/Preparator.scala
----------------------------------------------------------------------
diff --git a/examples/experimental/scala-parallel-similarproduct-localmodel/src/main/scala/Preparator.scala b/examples/experimental/scala-parallel-similarproduct-localmodel/src/main/scala/Preparator.scala
index c5e42ec..8fa8c48 100644
--- a/examples/experimental/scala-parallel-similarproduct-localmodel/src/main/scala/Preparator.scala
+++ b/examples/experimental/scala-parallel-similarproduct-localmodel/src/main/scala/Preparator.scala
@@ -17,8 +17,8 @@ class Preparator
}
}
-class PreparedData(
- val users: RDD[(String, User)],
- val items: RDD[(String, Item)],
- val viewEvents: RDD[ViewEvent]
-) extends Serializable
+case class PreparedData(
+ users: RDD[(String, User)],
+ items: RDD[(String, Item)],
+ viewEvents: RDD[ViewEvent]
+)
http://git-wip-us.apache.org/repos/asf/incubator-predictionio/blob/e39ff805/examples/experimental/scala-parallel-similarproduct-localmodel/src/main/scala/Serving.scala
----------------------------------------------------------------------
diff --git a/examples/experimental/scala-parallel-similarproduct-localmodel/src/main/scala/Serving.scala b/examples/experimental/scala-parallel-similarproduct-localmodel/src/main/scala/Serving.scala
index 7a7f124..e7dadab 100644
--- a/examples/experimental/scala-parallel-similarproduct-localmodel/src/main/scala/Serving.scala
+++ b/examples/experimental/scala-parallel-similarproduct-localmodel/src/main/scala/Serving.scala
@@ -5,8 +5,7 @@ import io.prediction.controller.LServing
class Serving
extends LServing[Query, PredictedResult] {
- override
- def serve(query: Query,
+ override def serve(query: Query,
predictedResults: Seq[PredictedResult]): PredictedResult = {
predictedResults.head
}
http://git-wip-us.apache.org/repos/asf/incubator-predictionio/blob/e39ff805/examples/experimental/scala-refactor-test/src/main/scala/Algorithm.scala
----------------------------------------------------------------------
diff --git a/examples/experimental/scala-refactor-test/src/main/scala/Algorithm.scala b/examples/experimental/scala-refactor-test/src/main/scala/Algorithm.scala
index 15131f7..97de0eb 100644
--- a/examples/experimental/scala-refactor-test/src/main/scala/Algorithm.scala
+++ b/examples/experimental/scala-refactor-test/src/main/scala/Algorithm.scala
@@ -34,6 +34,6 @@ class Algorithm(val ap: AlgorithmParams)
}
}
-class Model(val mc: Int) extends Serializable {
+case class Model(mc: Int) {
override def toString = s"mc=${mc}"
}
http://git-wip-us.apache.org/repos/asf/incubator-predictionio/blob/e39ff805/examples/experimental/scala-refactor-test/src/main/scala/DataSource.scala
----------------------------------------------------------------------
diff --git a/examples/experimental/scala-refactor-test/src/main/scala/DataSource.scala b/examples/experimental/scala-refactor-test/src/main/scala/DataSource.scala
index 2707304..4a52b2c 100644
--- a/examples/experimental/scala-refactor-test/src/main/scala/DataSource.scala
+++ b/examples/experimental/scala-refactor-test/src/main/scala/DataSource.scala
@@ -48,9 +48,9 @@ class DataSource
}
}
-class TrainingData(
+case class TrainingData(
val events: RDD[Int]
-) extends Serializable {
+) {
override def toString = {
s"events: [${events.count()}] (${events.take(2).toList}...)"
}
http://git-wip-us.apache.org/repos/asf/incubator-predictionio/blob/e39ff805/examples/experimental/scala-refactor-test/src/main/scala/Engine.scala
----------------------------------------------------------------------
diff --git a/examples/experimental/scala-refactor-test/src/main/scala/Engine.scala b/examples/experimental/scala-refactor-test/src/main/scala/Engine.scala
index b6410e5..8726c87 100644
--- a/examples/experimental/scala-refactor-test/src/main/scala/Engine.scala
+++ b/examples/experimental/scala-refactor-test/src/main/scala/Engine.scala
@@ -6,11 +6,11 @@ import io.prediction.controller._
//import io.prediction.workflow.CoreWorkflow
import grizzled.slf4j.Logger
-case class Query(q: Int) extends Serializable
+case class Query(q: Int)
-case class PredictedResult(p: Int) extends Serializable
+case class PredictedResult(p: Int)
-case class ActualResult() extends Serializable
+case class ActualResult()
object VanillaEngine extends IEngineFactory {
def apply() = {
http://git-wip-us.apache.org/repos/asf/incubator-predictionio/blob/e39ff805/examples/experimental/scala-refactor-test/src/main/scala/Serving.scala
----------------------------------------------------------------------
diff --git a/examples/experimental/scala-refactor-test/src/main/scala/Serving.scala b/examples/experimental/scala-refactor-test/src/main/scala/Serving.scala
index 004d864..91a37ef 100644
--- a/examples/experimental/scala-refactor-test/src/main/scala/Serving.scala
+++ b/examples/experimental/scala-refactor-test/src/main/scala/Serving.scala
@@ -7,8 +7,7 @@ class Serving
extends LServing[Query, PredictedResult] {
@transient lazy val logger = Logger[this.type]
- override
- def serve(query: Query,
+ override def serve(query: Query,
predictedResults: Seq[PredictedResult]): PredictedResult = {
logger.error("Serving.serve")
predictedResults.head
http://git-wip-us.apache.org/repos/asf/incubator-predictionio/blob/e39ff805/examples/experimental/scala-stock/src/main/scala/BackTestingMetrics.scala
----------------------------------------------------------------------
diff --git a/examples/experimental/scala-stock/src/main/scala/BackTestingMetrics.scala b/examples/experimental/scala-stock/src/main/scala/BackTestingMetrics.scala
index 6b991a6..9c252f1 100644
--- a/examples/experimental/scala-stock/src/main/scala/BackTestingMetrics.scala
+++ b/examples/experimental/scala-stock/src/main/scala/BackTestingMetrics.scala
@@ -24,32 +24,31 @@ case class BacktestingParams(
) extends Params {}
// prediction is Ticker -> ({1:Enter, -1:Exit}, ActualReturn)
-class DailyResult(
+case class DailyResult(
//val date: DateTime,
- val dateIdx: Int,
- val toEnter: Seq[String],
- val toExit: Seq[String])
-extends Serializable {}
+ dateIdx: Int,
+ toEnter: Seq[String],
+ toExit: Seq[String])
case class DailyStat (
- val time: Long,
- val nav: Double,
- val ret: Double,
- val market: Double,
- val positionCount: Int
-) extends Serializable
+ time: Long,
+ nav: Double,
+ ret: Double,
+ market: Double,
+ positionCount: Int
+)
case class OverallStat (
- val ret: Double,
- val vol: Double,
- val sharpe: Double,
- val days: Int
-) extends Serializable
+ ret: Double,
+ vol: Double,
+ sharpe: Double,
+ days: Int
+)
case class BacktestingResult(
- val daily: Seq[DailyStat],
- val overall: OverallStat
-) extends Serializable with NiceRendering {
+ daily: Seq[DailyStat],
+ overall: OverallStat
+) with NiceRendering {
override def toString(): String = overall.toString
def toHTML(): String = {
http://git-wip-us.apache.org/repos/asf/incubator-predictionio/blob/e39ff805/examples/experimental/scala-stock/src/main/scala/Data.scala
----------------------------------------------------------------------
diff --git a/examples/experimental/scala-stock/src/main/scala/Data.scala b/examples/experimental/scala-stock/src/main/scala/Data.scala
index dba9a9f..5f1d144 100644
--- a/examples/experimental/scala-stock/src/main/scala/Data.scala
+++ b/examples/experimental/scala-stock/src/main/scala/Data.scala
@@ -74,16 +74,15 @@ case class DataView(val rawData: RawData, val idx: Int, val maxWindowSize: Int)
case class TrainingData(
val untilIdx: Int,
val maxWindowSize: Int,
- val rawDataB: Broadcast[RawData])
- extends Serializable {
+ val rawDataB: Broadcast[RawData]) {
def view(): DataView = DataView(rawDataB.value, untilIdx - 1, maxWindowSize)
}
-case class DataParams(val rawDataB: Broadcast[RawData]) extends Serializable
+case class DataParams(rawDataB: Broadcast[RawData])
// Date
-case class QueryDate(val idx: Int) extends Serializable {}
+case class QueryDate(idx: Int)
case class Query(
val idx: Int,
@@ -92,7 +91,7 @@ case class Query(
val mktTicker: String)
// Prediction
-case class Prediction(val data: HashMap[String, Double]) extends Serializable {}
+case class Prediction(data: HashMap[String, Double])
object SaddleWrapper {
def ToFrame[A](
http://git-wip-us.apache.org/repos/asf/incubator-predictionio/blob/e39ff805/examples/experimental/scala-stock/src/main/scala/YahooDataSource.scala
----------------------------------------------------------------------
diff --git a/examples/experimental/scala-stock/src/main/scala/YahooDataSource.scala b/examples/experimental/scala-stock/src/main/scala/YahooDataSource.scala
index 1359818..3c8d4f0 100644
--- a/examples/experimental/scala-stock/src/main/scala/YahooDataSource.scala
+++ b/examples/experimental/scala-stock/src/main/scala/YahooDataSource.scala
@@ -27,13 +27,13 @@ import org.json4s._
//import org.saddle._
case class HistoricalData(
- val ticker: String,
- val timeIndex: Array[DateTime],
- val close: Array[Double],
- val adjClose: Array[Double],
- val adjReturn: Array[Double],
- val volume: Array[Double],
- val active: Array[Boolean]) extends Serializable {
+ ticker: String,
+ timeIndex: Array[DateTime],
+ close: Array[Double],
+ adjClose: Array[Double],
+ adjReturn: Array[Double],
+ volume: Array[Double],
+ active: Array[Boolean]) {
override def toString(): String = {
s"HistoricalData($ticker, ${timeIndex.head}, ${timeIndex.last}, " +
@@ -335,31 +335,31 @@ class YahooDataSource(val params: YahooDataSource.Params)
object YahooDataSource {
case class Params(
- val windowParams: DataSourceParams,
+ windowParams: DataSourceParams,
// Below filters with DataAPISpecific details
- val appId: Int, // Ignore appId in DataSourceParams
- val entityType: String,
- val startTime: Option[DateTime] = None,
- val untilTime: Option[DateTime] = None
+ appId: Int, // Ignore appId in DataSourceParams
+ entityType: String,
+ startTime: Option[DateTime] = None,
+ untilTime: Option[DateTime] = None
) extends BaseParams
case class Daily(
- val close: Double,
- val adjClose: Double,
- val adjReturn: Double,
- val volume: Double,
- val active: Boolean,
+ close: Double,
+ adjClose: Double,
+ adjReturn: Double,
+ volume: Double,
+ active: Boolean,
// prevDate is used to verify continuity
- val prevDate: DateTime)
+ prevDate: DateTime)
/** Intermediate storage for constructing historical data
* @param timeIndexSet Only datetime in this set is used to create historical
* data.
*/
case class Intermediate(
- val ticker: String = "",
- val dailyMap: Map[DateTime, Daily] = Map[DateTime, Daily]()
- ) extends Serializable {
+ ticker: String = "",
+ dailyMap: Map[DateTime, Daily] = Map[DateTime, Daily]()
+ ) {
override def toString(): String =
s"YDS.Intermediate($ticker, size=${dailyMap.size})"
}
http://git-wip-us.apache.org/repos/asf/incubator-predictionio/blob/e39ff805/examples/scala-parallel-classification/add-algorithm/src/main/scala/Engine.scala
----------------------------------------------------------------------
diff --git a/examples/scala-parallel-classification/add-algorithm/src/main/scala/Engine.scala b/examples/scala-parallel-classification/add-algorithm/src/main/scala/Engine.scala
index 67e36d2..16baf51 100644
--- a/examples/scala-parallel-classification/add-algorithm/src/main/scala/Engine.scala
+++ b/examples/scala-parallel-classification/add-algorithm/src/main/scala/Engine.scala
@@ -3,13 +3,13 @@ package org.template.classification
import io.prediction.controller.IEngineFactory
import io.prediction.controller.Engine
-class Query(
- val features: Array[Double]
-) extends Serializable
+case class Query(
+ features: Array[Double]
+)
-class PredictedResult(
- val label: Double
-) extends Serializable
+case class PredictedResult(
+ label: Double
+)
object ClassificationEngine extends IEngineFactory {
def apply() = {
http://git-wip-us.apache.org/repos/asf/incubator-predictionio/blob/e39ff805/examples/scala-parallel-classification/add-algorithm/src/main/scala/Preparator.scala
----------------------------------------------------------------------
diff --git a/examples/scala-parallel-classification/add-algorithm/src/main/scala/Preparator.scala b/examples/scala-parallel-classification/add-algorithm/src/main/scala/Preparator.scala
index 4e581ea..629a013 100644
--- a/examples/scala-parallel-classification/add-algorithm/src/main/scala/Preparator.scala
+++ b/examples/scala-parallel-classification/add-algorithm/src/main/scala/Preparator.scala
@@ -7,9 +7,9 @@ import org.apache.spark.SparkContext._
import org.apache.spark.rdd.RDD
import org.apache.spark.mllib.regression.LabeledPoint
-class PreparedData(
+case class PreparedData(
val labeledPoints: RDD[LabeledPoint]
-) extends Serializable
+)
class Preparator extends PPreparator[TrainingData, PreparedData] {
http://git-wip-us.apache.org/repos/asf/incubator-predictionio/blob/e39ff805/examples/scala-parallel-classification/custom-attributes/src/main/scala/DataSource.scala
----------------------------------------------------------------------
diff --git a/examples/scala-parallel-classification/custom-attributes/src/main/scala/DataSource.scala b/examples/scala-parallel-classification/custom-attributes/src/main/scala/DataSource.scala
index 52a8635..ce453e2 100644
--- a/examples/scala-parallel-classification/custom-attributes/src/main/scala/DataSource.scala
+++ b/examples/scala-parallel-classification/custom-attributes/src/main/scala/DataSource.scala
@@ -59,8 +59,8 @@ class DataSource(val dsp: DataSourceParams)
}
}
-class TrainingData(
- val labeledPoints: RDD[LabeledPoint],
- val gendersMap: Map[String,Double],
- val educationMap: Map[String,Double]
-) extends Serializable
+case class TrainingData(
+ labeledPoints: RDD[LabeledPoint],
+ gendersMap: Map[String,Double],
+ educationMap: Map[String,Double]
+)
http://git-wip-us.apache.org/repos/asf/incubator-predictionio/blob/e39ff805/examples/scala-parallel-classification/custom-attributes/src/main/scala/Engine.scala
----------------------------------------------------------------------
diff --git a/examples/scala-parallel-classification/custom-attributes/src/main/scala/Engine.scala b/examples/scala-parallel-classification/custom-attributes/src/main/scala/Engine.scala
index 8236808..fa8b20d 100644
--- a/examples/scala-parallel-classification/custom-attributes/src/main/scala/Engine.scala
+++ b/examples/scala-parallel-classification/custom-attributes/src/main/scala/Engine.scala
@@ -3,15 +3,15 @@ package com.test1
import io.prediction.controller.IEngineFactory
import io.prediction.controller.Engine
-class Query(
- val gender: String,
- val age: Int,
- val education: String
-) extends Serializable
+case class Query(
+ gender: String,
+ age: Int,
+ education: String
+)
-class PredictedResult(
- val label: Double
-) extends Serializable
+case class PredictedResult(
+ label: Double
+)
object ClassificationEngine extends IEngineFactory {
def apply() = {
http://git-wip-us.apache.org/repos/asf/incubator-predictionio/blob/e39ff805/examples/scala-parallel-classification/custom-attributes/src/main/scala/Preparator.scala
----------------------------------------------------------------------
diff --git a/examples/scala-parallel-classification/custom-attributes/src/main/scala/Preparator.scala b/examples/scala-parallel-classification/custom-attributes/src/main/scala/Preparator.scala
index c49ed8d..81545ab 100644
--- a/examples/scala-parallel-classification/custom-attributes/src/main/scala/Preparator.scala
+++ b/examples/scala-parallel-classification/custom-attributes/src/main/scala/Preparator.scala
@@ -7,11 +7,11 @@ import org.apache.spark.SparkContext._
import org.apache.spark.rdd.RDD
import org.apache.spark.mllib.regression.LabeledPoint
-class PreparedData(
- val labeledPoints: RDD[LabeledPoint],
- val gendersMap: Map[String,Double],
- val educationMap: Map[String,Double]
-) extends Serializable
+case class PreparedData(
+ labeledPoints: RDD[LabeledPoint],
+ gendersMap: Map[String,Double],
+ educationMap: Map[String,Double]
+)
class Preparator extends PPreparator[TrainingData, PreparedData] {
http://git-wip-us.apache.org/repos/asf/incubator-predictionio/blob/e39ff805/examples/scala-parallel-classification/custom-attributes/src/main/scala/RandomForestAlgorithm.scala
----------------------------------------------------------------------
diff --git a/examples/scala-parallel-classification/custom-attributes/src/main/scala/RandomForestAlgorithm.scala b/examples/scala-parallel-classification/custom-attributes/src/main/scala/RandomForestAlgorithm.scala
index f2b5c35..5e708fd 100644
--- a/examples/scala-parallel-classification/custom-attributes/src/main/scala/RandomForestAlgorithm.scala
+++ b/examples/scala-parallel-classification/custom-attributes/src/main/scala/RandomForestAlgorithm.scala
@@ -17,11 +17,11 @@ case class RandomForestAlgorithmParams(
maxBins: Int
) extends Params
-class PIORandomForestModel(
- val gendersMap: Map[String, Double],
- val educationMap: Map[String, Double],
- val randomForestModel: RandomForestModel
-) extends Serializable
+case class PIORandomForestModel(
+ gendersMap: Map[String, Double],
+ educationMap: Map[String, Double],
+ randomForestModel: RandomForestModel
+)
// extends P2LAlgorithm because the MLlib's RandomForestModel doesn't
// contain RDD.
http://git-wip-us.apache.org/repos/asf/incubator-predictionio/blob/e39ff805/examples/scala-parallel-ecommercerecommendation/train-with-rate-event/src/main/scala/ALSAlgorithm.scala
----------------------------------------------------------------------
diff --git a/examples/scala-parallel-ecommercerecommendation/train-with-rate-event/src/main/scala/ALSAlgorithm.scala b/examples/scala-parallel-ecommercerecommendation/train-with-rate-event/src/main/scala/ALSAlgorithm.scala
index 21e619e..af5306c 100644
--- a/examples/scala-parallel-ecommercerecommendation/train-with-rate-event/src/main/scala/ALSAlgorithm.scala
+++ b/examples/scala-parallel-ecommercerecommendation/train-with-rate-event/src/main/scala/ALSAlgorithm.scala
@@ -27,13 +27,13 @@ case class ALSAlgorithmParams(
seed: Option[Long]
) extends Params
-class ALSModel(
- val rank: Int,
- val userFeatures: Map[Int, Array[Double]],
- val productFeatures: Map[Int, (Item, Option[Array[Double]])],
- val userStringIntMap: BiMap[String, Int],
- val itemStringIntMap: BiMap[String, Int]
-) extends Serializable {
+case class ALSModel(
+ rank: Int,
+ userFeatures: Map[Int, Array[Double]],
+ productFeatures: Map[Int, (Item, Option[Array[Double]])],
+ userStringIntMap: BiMap[String, Int],
+ itemStringIntMap: BiMap[String, Int]
+) {
@transient lazy val itemIntStringMap = itemStringIntMap.inverse
http://git-wip-us.apache.org/repos/asf/incubator-predictionio/blob/e39ff805/examples/scala-parallel-ecommercerecommendation/train-with-rate-event/src/main/scala/DataSource.scala
----------------------------------------------------------------------
diff --git a/examples/scala-parallel-ecommercerecommendation/train-with-rate-event/src/main/scala/DataSource.scala b/examples/scala-parallel-ecommercerecommendation/train-with-rate-event/src/main/scala/DataSource.scala
index c15c2ba..c216f2b 100644
--- a/examples/scala-parallel-ecommercerecommendation/train-with-rate-event/src/main/scala/DataSource.scala
+++ b/examples/scala-parallel-ecommercerecommendation/train-with-rate-event/src/main/scala/DataSource.scala
@@ -103,11 +103,11 @@ case class Item(categories: Option[List[String]])
// MODIFIED
case class RateEvent(user: String, item: String, rating: Double, t: Long)
-class TrainingData(
- val users: RDD[(String, User)],
- val items: RDD[(String, Item)],
- val rateEvents: RDD[RateEvent] // MODIFIED
-) extends Serializable {
+case class TrainingData(
+ users: RDD[(String, User)],
+ items: RDD[(String, Item)],
+ rateEvents: RDD[RateEvent] // MODIFIED
+) {
override def toString = {
s"users: [${users.count()} (${users.take(2).toList}...)]" +
s"items: [${items.count()} (${items.take(2).toList}...)]" +
http://git-wip-us.apache.org/repos/asf/incubator-predictionio/blob/e39ff805/examples/scala-parallel-ecommercerecommendation/train-with-rate-event/src/main/scala/Engine.scala
----------------------------------------------------------------------
diff --git a/examples/scala-parallel-ecommercerecommendation/train-with-rate-event/src/main/scala/Engine.scala b/examples/scala-parallel-ecommercerecommendation/train-with-rate-event/src/main/scala/Engine.scala
index 42ec4d4..1b453de 100644
--- a/examples/scala-parallel-ecommercerecommendation/train-with-rate-event/src/main/scala/Engine.scala
+++ b/examples/scala-parallel-ecommercerecommendation/train-with-rate-event/src/main/scala/Engine.scala
@@ -9,16 +9,16 @@ case class Query(
categories: Option[Set[String]],
whiteList: Option[Set[String]],
blackList: Option[Set[String]]
-) extends Serializable
+)
case class PredictedResult(
itemScores: Array[ItemScore]
-) extends Serializable
+)
case class ItemScore(
item: String,
score: Double
-) extends Serializable
+)
object ECommerceRecommendationEngine extends IEngineFactory {
def apply() = {
http://git-wip-us.apache.org/repos/asf/incubator-predictionio/blob/e39ff805/examples/scala-parallel-ecommercerecommendation/train-with-rate-event/src/main/scala/Preparator.scala
----------------------------------------------------------------------
diff --git a/examples/scala-parallel-ecommercerecommendation/train-with-rate-event/src/main/scala/Preparator.scala b/examples/scala-parallel-ecommercerecommendation/train-with-rate-event/src/main/scala/Preparator.scala
index e575a08..323816a 100644
--- a/examples/scala-parallel-ecommercerecommendation/train-with-rate-event/src/main/scala/Preparator.scala
+++ b/examples/scala-parallel-ecommercerecommendation/train-with-rate-event/src/main/scala/Preparator.scala
@@ -17,8 +17,8 @@ class Preparator
}
}
-class PreparedData(
- val users: RDD[(String, User)],
- val items: RDD[(String, Item)],
- val rateEvents: RDD[RateEvent] // MODIFIED
-) extends Serializable
+case class PreparedData(
+ users: RDD[(String, User)],
+ items: RDD[(String, Item)],
+ rateEvents: RDD[RateEvent] // MODIFIED
+)
http://git-wip-us.apache.org/repos/asf/incubator-predictionio/blob/e39ff805/examples/scala-parallel-ecommercerecommendation/weighted-items/src/main/scala/ALSAlgorithm.scala
----------------------------------------------------------------------
diff --git a/examples/scala-parallel-ecommercerecommendation/weighted-items/src/main/scala/ALSAlgorithm.scala b/examples/scala-parallel-ecommercerecommendation/weighted-items/src/main/scala/ALSAlgorithm.scala
index 019937b..9b557dc 100644
--- a/examples/scala-parallel-ecommercerecommendation/weighted-items/src/main/scala/ALSAlgorithm.scala
+++ b/examples/scala-parallel-ecommercerecommendation/weighted-items/src/main/scala/ALSAlgorithm.scala
@@ -27,13 +27,13 @@ case class ALSAlgorithmParams(
seed: Option[Long]
) extends Params
-class ALSModel(
- val rank: Int,
- val userFeatures: Map[Int, Array[Double]],
- val productFeatures: Map[Int, (Item, Option[Array[Double]])],
- val userStringIntMap: BiMap[String, Int],
- val itemStringIntMap: BiMap[String, Int]
-) extends Serializable {
+case class ALSModel(
+ rank: Int,
+ userFeatures: Map[Int, Array[Double]],
+ productFeatures: Map[Int, (Item, Option[Array[Double]])],
+ userStringIntMap: BiMap[String, Int],
+ itemStringIntMap: BiMap[String, Int]
+) {
@transient lazy val itemIntStringMap = itemStringIntMap.inverse
http://git-wip-us.apache.org/repos/asf/incubator-predictionio/blob/e39ff805/examples/scala-parallel-ecommercerecommendation/weighted-items/src/main/scala/DataSource.scala
----------------------------------------------------------------------
diff --git a/examples/scala-parallel-ecommercerecommendation/weighted-items/src/main/scala/DataSource.scala b/examples/scala-parallel-ecommercerecommendation/weighted-items/src/main/scala/DataSource.scala
index c102b72..b1016ef 100644
--- a/examples/scala-parallel-ecommercerecommendation/weighted-items/src/main/scala/DataSource.scala
+++ b/examples/scala-parallel-ecommercerecommendation/weighted-items/src/main/scala/DataSource.scala
@@ -101,11 +101,11 @@ case class Item(categories: Option[List[String]])
case class ViewEvent(user: String, item: String, t: Long)
-class TrainingData(
- val users: RDD[(String, User)],
- val items: RDD[(String, Item)],
- val viewEvents: RDD[ViewEvent]
-) extends Serializable {
+case class TrainingData(
+ users: RDD[(String, User)],
+ items: RDD[(String, Item)],
+ viewEvents: RDD[ViewEvent]
+) {
override def toString = {
s"users: [${users.count()} (${users.take(2).toList}...)]" +
s"items: [${items.count()} (${items.take(2).toList}...)]" +
http://git-wip-us.apache.org/repos/asf/incubator-predictionio/blob/e39ff805/examples/scala-parallel-ecommercerecommendation/weighted-items/src/main/scala/Engine.scala
----------------------------------------------------------------------
diff --git a/examples/scala-parallel-ecommercerecommendation/weighted-items/src/main/scala/Engine.scala b/examples/scala-parallel-ecommercerecommendation/weighted-items/src/main/scala/Engine.scala
index 42ec4d4..1b453de 100644
--- a/examples/scala-parallel-ecommercerecommendation/weighted-items/src/main/scala/Engine.scala
+++ b/examples/scala-parallel-ecommercerecommendation/weighted-items/src/main/scala/Engine.scala
@@ -9,16 +9,16 @@ case class Query(
categories: Option[Set[String]],
whiteList: Option[Set[String]],
blackList: Option[Set[String]]
-) extends Serializable
+)
case class PredictedResult(
itemScores: Array[ItemScore]
-) extends Serializable
+)
case class ItemScore(
item: String,
score: Double
-) extends Serializable
+)
object ECommerceRecommendationEngine extends IEngineFactory {
def apply() = {
http://git-wip-us.apache.org/repos/asf/incubator-predictionio/blob/e39ff805/examples/scala-parallel-ecommercerecommendation/weighted-items/src/main/scala/Preparator.scala
----------------------------------------------------------------------
diff --git a/examples/scala-parallel-ecommercerecommendation/weighted-items/src/main/scala/Preparator.scala b/examples/scala-parallel-ecommercerecommendation/weighted-items/src/main/scala/Preparator.scala
index 4dd45cf..798bd91 100644
--- a/examples/scala-parallel-ecommercerecommendation/weighted-items/src/main/scala/Preparator.scala
+++ b/examples/scala-parallel-ecommercerecommendation/weighted-items/src/main/scala/Preparator.scala
@@ -17,8 +17,8 @@ class Preparator
}
}
-class PreparedData(
- val users: RDD[(String, User)],
- val items: RDD[(String, Item)],
- val viewEvents: RDD[ViewEvent]
-) extends Serializable
+case class PreparedData(
+ users: RDD[(String, User)],
+ items: RDD[(String, Item)],
+ viewEvents: RDD[ViewEvent]
+)
http://git-wip-us.apache.org/repos/asf/incubator-predictionio/blob/e39ff805/examples/scala-parallel-recommendation/custom-prepartor/src/main/scala/DataSource.scala
----------------------------------------------------------------------
diff --git a/examples/scala-parallel-recommendation/custom-prepartor/src/main/scala/DataSource.scala b/examples/scala-parallel-recommendation/custom-prepartor/src/main/scala/DataSource.scala
index bad619c..a7ee441 100644
--- a/examples/scala-parallel-recommendation/custom-prepartor/src/main/scala/DataSource.scala
+++ b/examples/scala-parallel-recommendation/custom-prepartor/src/main/scala/DataSource.scala
@@ -60,9 +60,9 @@ case class Rating(
rating: Double
)
-class TrainingData(
+case class TrainingData(
val ratings: RDD[Rating]
-) extends Serializable {
+) {
override def toString = {
s"ratings: [${ratings.count()}] (${ratings.take(2).toList}...)"
}
http://git-wip-us.apache.org/repos/asf/incubator-predictionio/blob/e39ff805/examples/scala-parallel-recommendation/custom-prepartor/src/main/scala/Engine.scala
----------------------------------------------------------------------
diff --git a/examples/scala-parallel-recommendation/custom-prepartor/src/main/scala/Engine.scala b/examples/scala-parallel-recommendation/custom-prepartor/src/main/scala/Engine.scala
index 22add39..edb7767 100644
--- a/examples/scala-parallel-recommendation/custom-prepartor/src/main/scala/Engine.scala
+++ b/examples/scala-parallel-recommendation/custom-prepartor/src/main/scala/Engine.scala
@@ -6,16 +6,16 @@ import io.prediction.controller.Engine
case class Query(
user: String,
num: Int
-) extends Serializable
+)
case class PredictedResult(
itemScores: Array[ItemScore]
-) extends Serializable
+)
case class ItemScore(
item: String,
score: Double
-) extends Serializable
+)
object RecommendationEngine extends IEngineFactory {
def apply() = {
http://git-wip-us.apache.org/repos/asf/incubator-predictionio/blob/e39ff805/examples/scala-parallel-recommendation/custom-prepartor/src/main/scala/Preparator.scala
----------------------------------------------------------------------
diff --git a/examples/scala-parallel-recommendation/custom-prepartor/src/main/scala/Preparator.scala b/examples/scala-parallel-recommendation/custom-prepartor/src/main/scala/Preparator.scala
index 5e83fd4..017ca59 100644
--- a/examples/scala-parallel-recommendation/custom-prepartor/src/main/scala/Preparator.scala
+++ b/examples/scala-parallel-recommendation/custom-prepartor/src/main/scala/Preparator.scala
@@ -26,6 +26,6 @@ class Preparator(pp: CustomPreparatorParams) // ADDED CustomPreparatorParams
}
}
-class PreparedData(
- val ratings: RDD[Rating]
-) extends Serializable
+case class PreparedData(
+ ratings: RDD[Rating]
+)
\ No newline at end of file
http://git-wip-us.apache.org/repos/asf/incubator-predictionio/blob/e39ff805/examples/scala-parallel-recommendation/custom-prepartor/src/main/scala/Serving.scala
----------------------------------------------------------------------
diff --git a/examples/scala-parallel-recommendation/custom-prepartor/src/main/scala/Serving.scala b/examples/scala-parallel-recommendation/custom-prepartor/src/main/scala/Serving.scala
index cc5542c..132755e 100644
--- a/examples/scala-parallel-recommendation/custom-prepartor/src/main/scala/Serving.scala
+++ b/examples/scala-parallel-recommendation/custom-prepartor/src/main/scala/Serving.scala
@@ -5,8 +5,7 @@ import io.prediction.controller.LServing
class Serving
extends LServing[Query, PredictedResult] {
- override
- def serve(query: Query,
+ override def serve(query: Query,
predictedResults: Seq[PredictedResult]): PredictedResult = {
predictedResults.head
}
http://git-wip-us.apache.org/repos/asf/incubator-predictionio/blob/e39ff805/examples/scala-parallel-recommendation/custom-query/src/main/scala/DataSource.scala
----------------------------------------------------------------------
diff --git a/examples/scala-parallel-recommendation/custom-query/src/main/scala/DataSource.scala b/examples/scala-parallel-recommendation/custom-query/src/main/scala/DataSource.scala
index 0221e25..eb7ef0d 100644
--- a/examples/scala-parallel-recommendation/custom-query/src/main/scala/DataSource.scala
+++ b/examples/scala-parallel-recommendation/custom-query/src/main/scala/DataSource.scala
@@ -73,8 +73,7 @@ object ItemMarshaller {
case class Rating(user: String, item: String, rating: Double)
-class TrainingData(val ratings: RDD[Rating], val items: RDD[(String, Item)])
- extends Serializable {
+case class TrainingData(val ratings: RDD[Rating], val items: RDD[(String, Item)] {
override def toString =
s"ratings: [${ratings.count()}] (${ratings.take(2).toList}...)" +
http://git-wip-us.apache.org/repos/asf/incubator-predictionio/blob/e39ff805/examples/scala-parallel-recommendation/custom-query/src/main/scala/Engine.scala
----------------------------------------------------------------------
diff --git a/examples/scala-parallel-recommendation/custom-query/src/main/scala/Engine.scala b/examples/scala-parallel-recommendation/custom-query/src/main/scala/Engine.scala
index d1f6e88..8982d94 100644
--- a/examples/scala-parallel-recommendation/custom-query/src/main/scala/Engine.scala
+++ b/examples/scala-parallel-recommendation/custom-query/src/main/scala/Engine.scala
@@ -4,13 +4,11 @@ import io.prediction.controller.IEngineFactory
import io.prediction.controller.Engine
case class Query(user: String, num: Int, creationYear: Option[Int] = None)
- extends Serializable
-case class PredictedResult(itemScores: Array[ItemScore]) extends Serializable
+case class PredictedResult(itemScores: Array[ItemScore])
// HOWTO: added movie creation year to predicted result.
case class ItemScore(item: String, score: Double, creationYear: Option[Int])
- extends Serializable
object RecommendationEngine extends IEngineFactory {
def apply() =
http://git-wip-us.apache.org/repos/asf/incubator-predictionio/blob/e39ff805/examples/scala-parallel-recommendation/custom-query/src/main/scala/Preparator.scala
----------------------------------------------------------------------
diff --git a/examples/scala-parallel-recommendation/custom-query/src/main/scala/Preparator.scala b/examples/scala-parallel-recommendation/custom-query/src/main/scala/Preparator.scala
index 02a9ce5..5750ff7 100644
--- a/examples/scala-parallel-recommendation/custom-query/src/main/scala/Preparator.scala
+++ b/examples/scala-parallel-recommendation/custom-query/src/main/scala/Preparator.scala
@@ -12,5 +12,4 @@ class Preparator extends PPreparator[TrainingData, PreparedData] {
// HOWTO: added items(movies) list to prepared data to have possiblity to sort
// them in predict stage.
-class PreparedData(val ratings: RDD[Rating], val items: RDD[(String, Item)])
- extends Serializable
+case class PreparedData(val ratings: RDD[Rating], val items: RDD[(String, Item)])
http://git-wip-us.apache.org/repos/asf/incubator-predictionio/blob/e39ff805/examples/scala-parallel-recommendation/custom-serving/src/main/scala/DataSource.scala
----------------------------------------------------------------------
diff --git a/examples/scala-parallel-recommendation/custom-serving/src/main/scala/DataSource.scala b/examples/scala-parallel-recommendation/custom-serving/src/main/scala/DataSource.scala
index bad619c..f1cfaa2 100644
--- a/examples/scala-parallel-recommendation/custom-serving/src/main/scala/DataSource.scala
+++ b/examples/scala-parallel-recommendation/custom-serving/src/main/scala/DataSource.scala
@@ -60,9 +60,9 @@ case class Rating(
rating: Double
)
-class TrainingData(
- val ratings: RDD[Rating]
-) extends Serializable {
+case class TrainingData(
+ ratings: RDD[Rating]
+) {
override def toString = {
s"ratings: [${ratings.count()}] (${ratings.take(2).toList}...)"
}
http://git-wip-us.apache.org/repos/asf/incubator-predictionio/blob/e39ff805/examples/scala-parallel-recommendation/custom-serving/src/main/scala/Engine.scala
----------------------------------------------------------------------
diff --git a/examples/scala-parallel-recommendation/custom-serving/src/main/scala/Engine.scala b/examples/scala-parallel-recommendation/custom-serving/src/main/scala/Engine.scala
index 22add39..edb7767 100644
--- a/examples/scala-parallel-recommendation/custom-serving/src/main/scala/Engine.scala
+++ b/examples/scala-parallel-recommendation/custom-serving/src/main/scala/Engine.scala
@@ -6,16 +6,16 @@ import io.prediction.controller.Engine
case class Query(
user: String,
num: Int
-) extends Serializable
+)
case class PredictedResult(
itemScores: Array[ItemScore]
-) extends Serializable
+)
case class ItemScore(
item: String,
score: Double
-) extends Serializable
+)
object RecommendationEngine extends IEngineFactory {
def apply() = {
http://git-wip-us.apache.org/repos/asf/incubator-predictionio/blob/e39ff805/examples/scala-parallel-recommendation/custom-serving/src/main/scala/Preparator.scala
----------------------------------------------------------------------
diff --git a/examples/scala-parallel-recommendation/custom-serving/src/main/scala/Preparator.scala b/examples/scala-parallel-recommendation/custom-serving/src/main/scala/Preparator.scala
index 6468e4b..7b6c7c9 100644
--- a/examples/scala-parallel-recommendation/custom-serving/src/main/scala/Preparator.scala
+++ b/examples/scala-parallel-recommendation/custom-serving/src/main/scala/Preparator.scala
@@ -14,6 +14,6 @@ class Preparator
}
}
-class PreparedData(
- val ratings: RDD[Rating]
-) extends Serializable
+case class PreparedData(
+ ratings: RDD[Rating]
+)
http://git-wip-us.apache.org/repos/asf/incubator-predictionio/blob/e39ff805/examples/scala-parallel-recommendation/filter-by-category/src/main/scala/DataSource.scala
----------------------------------------------------------------------
diff --git a/examples/scala-parallel-recommendation/filter-by-category/src/main/scala/DataSource.scala b/examples/scala-parallel-recommendation/filter-by-category/src/main/scala/DataSource.scala
index 7a1640a..b5ff72a 100644
--- a/examples/scala-parallel-recommendation/filter-by-category/src/main/scala/DataSource.scala
+++ b/examples/scala-parallel-recommendation/filter-by-category/src/main/scala/DataSource.scala
@@ -82,10 +82,10 @@ case class Rating(
rating: Double
)
-class TrainingData(
- val items: RDD[Item],
- val ratings: RDD[Rating]
-) extends Serializable {
+case class TrainingData(
+ items: RDD[Item],
+ ratings: RDD[Rating]
+) {
override def toString = {
s"items: [${items.count()}] (${items.take(2).toList}...)" +
s" ratings: [${ratings.count()}] (${ratings.take(2).toList}...)"
http://git-wip-us.apache.org/repos/asf/incubator-predictionio/blob/e39ff805/examples/scala-parallel-recommendation/filter-by-category/src/main/scala/Engine.scala
----------------------------------------------------------------------
diff --git a/examples/scala-parallel-recommendation/filter-by-category/src/main/scala/Engine.scala b/examples/scala-parallel-recommendation/filter-by-category/src/main/scala/Engine.scala
index dd8b258..c922d05 100644
--- a/examples/scala-parallel-recommendation/filter-by-category/src/main/scala/Engine.scala
+++ b/examples/scala-parallel-recommendation/filter-by-category/src/main/scala/Engine.scala
@@ -7,16 +7,16 @@ case class Query(
user: String,
num: Int,
categories: Array[String]
-) extends Serializable
+)
case class PredictedResult(
itemScores: Array[ItemScore]
-) extends Serializable
+)
case class ItemScore(
item: String,
score: Double
-) extends Serializable
+)
object RecommendationEngine extends IEngineFactory {
def apply() = {
http://git-wip-us.apache.org/repos/asf/incubator-predictionio/blob/e39ff805/examples/scala-parallel-recommendation/filter-by-category/src/main/scala/Preparator.scala
----------------------------------------------------------------------
diff --git a/examples/scala-parallel-recommendation/filter-by-category/src/main/scala/Preparator.scala b/examples/scala-parallel-recommendation/filter-by-category/src/main/scala/Preparator.scala
index ca6efd8..fb69f8d 100644
--- a/examples/scala-parallel-recommendation/filter-by-category/src/main/scala/Preparator.scala
+++ b/examples/scala-parallel-recommendation/filter-by-category/src/main/scala/Preparator.scala
@@ -14,7 +14,7 @@ class Preparator
}
}
-class PreparedData(
- val items: RDD[Item],
- val ratings: RDD[Rating]
-) extends Serializable
\ No newline at end of file
+case class PreparedData(
+ items: RDD[Item],
+ ratings: RDD[Rating]
+)
\ No newline at end of file
http://git-wip-us.apache.org/repos/asf/incubator-predictionio/blob/e39ff805/examples/scala-parallel-similarproduct/add-and-return-item-properties/src/main/scala/ALSAlgorithm.scala
----------------------------------------------------------------------
diff --git a/examples/scala-parallel-similarproduct/add-and-return-item-properties/src/main/scala/ALSAlgorithm.scala b/examples/scala-parallel-similarproduct/add-and-return-item-properties/src/main/scala/ALSAlgorithm.scala
index 1effe07..9dbf865 100644
--- a/examples/scala-parallel-similarproduct/add-and-return-item-properties/src/main/scala/ALSAlgorithm.scala
+++ b/examples/scala-parallel-similarproduct/add-and-return-item-properties/src/main/scala/ALSAlgorithm.scala
@@ -19,11 +19,11 @@ case class ALSAlgorithmParams(
lambda: Double,
seed: Option[Long]) extends Params
-class ALSModel(
- val productFeatures: Map[Int, Array[Double]],
- val itemStringIntMap: BiMap[String, Int],
- val items: Map[Int, Item]
-) extends Serializable {
+case class ALSModel(
+ productFeatures: Map[Int, Array[Double]],
+ itemStringIntMap: BiMap[String, Int],
+ items: Map[Int, Item]
+) {
@transient lazy val itemIntStringMap = itemStringIntMap.inverse
http://git-wip-us.apache.org/repos/asf/incubator-predictionio/blob/e39ff805/examples/scala-parallel-similarproduct/add-and-return-item-properties/src/main/scala/DataSource.scala
----------------------------------------------------------------------
diff --git a/examples/scala-parallel-similarproduct/add-and-return-item-properties/src/main/scala/DataSource.scala b/examples/scala-parallel-similarproduct/add-and-return-item-properties/src/main/scala/DataSource.scala
index a5644f3..748c132 100644
--- a/examples/scala-parallel-similarproduct/add-and-return-item-properties/src/main/scala/DataSource.scala
+++ b/examples/scala-parallel-similarproduct/add-and-return-item-properties/src/main/scala/DataSource.scala
@@ -113,7 +113,7 @@ class TrainingData(
val users: RDD[(String, User)],
val items: RDD[(String, Item)],
val viewEvents: RDD[ViewEvent]
-) extends Serializable {
+) {
override def toString = {
s"users: [${users.count()} (${users.take(2).toList}...)]" +
s"items: [${items.count()} (${items.take(2).toList}...)]" +
http://git-wip-us.apache.org/repos/asf/incubator-predictionio/blob/e39ff805/examples/scala-parallel-similarproduct/add-and-return-item-properties/src/main/scala/Engine.scala
----------------------------------------------------------------------
diff --git a/examples/scala-parallel-similarproduct/add-and-return-item-properties/src/main/scala/Engine.scala b/examples/scala-parallel-similarproduct/add-and-return-item-properties/src/main/scala/Engine.scala
index 7feeac3..518467b 100644
--- a/examples/scala-parallel-similarproduct/add-and-return-item-properties/src/main/scala/Engine.scala
+++ b/examples/scala-parallel-similarproduct/add-and-return-item-properties/src/main/scala/Engine.scala
@@ -9,11 +9,11 @@ case class Query(
categories: Option[Set[String]],
whiteList: Option[Set[String]],
blackList: Option[Set[String]]
-) extends Serializable
+)
case class PredictedResult(
itemScores: Array[ItemScore]
-) extends Serializable
+)
case class ItemScore(
item: String,
@@ -21,7 +21,7 @@ case class ItemScore(
date: String,
imdbUrl: String,
score: Double
-) extends Serializable
+)
object SimilarProductEngine extends IEngineFactory {
def apply() = {
http://git-wip-us.apache.org/repos/asf/incubator-predictionio/blob/e39ff805/examples/scala-parallel-similarproduct/add-and-return-item-properties/src/main/scala/Preparator.scala
----------------------------------------------------------------------
diff --git a/examples/scala-parallel-similarproduct/add-and-return-item-properties/src/main/scala/Preparator.scala b/examples/scala-parallel-similarproduct/add-and-return-item-properties/src/main/scala/Preparator.scala
index 6408909..2ed4039 100644
--- a/examples/scala-parallel-similarproduct/add-and-return-item-properties/src/main/scala/Preparator.scala
+++ b/examples/scala-parallel-similarproduct/add-and-return-item-properties/src/main/scala/Preparator.scala
@@ -17,8 +17,8 @@ class Preparator
}
}
-class PreparedData(
- val users: RDD[(String, User)],
- val items: RDD[(String, Item)],
- val viewEvents: RDD[ViewEvent]
-) extends Serializable
\ No newline at end of file
+case class PreparedData(
+ users: RDD[(String, User)],
+ items: RDD[(String, Item)],
+ viewEvents: RDD[ViewEvent]
+)
\ No newline at end of file
http://git-wip-us.apache.org/repos/asf/incubator-predictionio/blob/e39ff805/examples/scala-parallel-similarproduct/add-rateevent/src/main/scala/DataSource.scala
----------------------------------------------------------------------
diff --git a/examples/scala-parallel-similarproduct/add-rateevent/src/main/scala/DataSource.scala b/examples/scala-parallel-similarproduct/add-rateevent/src/main/scala/DataSource.scala
index 6af180b..3578552 100644
--- a/examples/scala-parallel-similarproduct/add-rateevent/src/main/scala/DataSource.scala
+++ b/examples/scala-parallel-similarproduct/add-rateevent/src/main/scala/DataSource.scala
@@ -102,11 +102,11 @@ case class Item(categories: Option[List[String]])
case class RateEvent(user: String, item: String, rating: Double, t: Long)
-class TrainingData(
- val users: RDD[(String, User)],
- val items: RDD[(String, Item)],
- val rateEvents: RDD[RateEvent]
-) extends Serializable {
+case class TrainingData(
+ users: RDD[(String, User)],
+ items: RDD[(String, Item)],
+ rateEvents: RDD[RateEvent]
+) {
override def toString = {
s"users: [${users.count()} (${users.take(2).toList}...)]" +
s"items: [${items.count()} (${items.take(2).toList}...)]" +
http://git-wip-us.apache.org/repos/asf/incubator-predictionio/blob/e39ff805/examples/scala-parallel-similarproduct/add-rateevent/src/main/scala/Engine.scala
----------------------------------------------------------------------
diff --git a/examples/scala-parallel-similarproduct/add-rateevent/src/main/scala/Engine.scala b/examples/scala-parallel-similarproduct/add-rateevent/src/main/scala/Engine.scala
index 9815ebf..8d594fc 100644
--- a/examples/scala-parallel-similarproduct/add-rateevent/src/main/scala/Engine.scala
+++ b/examples/scala-parallel-similarproduct/add-rateevent/src/main/scala/Engine.scala
@@ -9,16 +9,16 @@ case class Query(
categories: Option[Set[String]],
whiteList: Option[Set[String]],
blackList: Option[Set[String]]
-) extends Serializable
+)
case class PredictedResult(
itemScores: Array[ItemScore]
-) extends Serializable
+)
case class ItemScore(
item: String,
score: Double
-) extends Serializable
+)
object SimilarProductEngine extends IEngineFactory {
def apply() = {
http://git-wip-us.apache.org/repos/asf/incubator-predictionio/blob/e39ff805/examples/scala-parallel-similarproduct/add-rateevent/src/main/scala/Preparator.scala
----------------------------------------------------------------------
diff --git a/examples/scala-parallel-similarproduct/add-rateevent/src/main/scala/Preparator.scala b/examples/scala-parallel-similarproduct/add-rateevent/src/main/scala/Preparator.scala
index 1103919..cb557ac 100644
--- a/examples/scala-parallel-similarproduct/add-rateevent/src/main/scala/Preparator.scala
+++ b/examples/scala-parallel-similarproduct/add-rateevent/src/main/scala/Preparator.scala
@@ -17,8 +17,8 @@ class Preparator
}
}
-class PreparedData(
- val users: RDD[(String, User)],
- val items: RDD[(String, Item)],
- val rateEvents: RDD[RateEvent]
-) extends Serializable
+case class PreparedData(
+ users: RDD[(String, User)],
+ items: RDD[(String, Item)],
+ rateEvents: RDD[RateEvent]
+)
\ No newline at end of file
http://git-wip-us.apache.org/repos/asf/incubator-predictionio/blob/e39ff805/examples/scala-parallel-similarproduct/filterbyyear/src/main/scala/DataSource.scala
----------------------------------------------------------------------
diff --git a/examples/scala-parallel-similarproduct/filterbyyear/src/main/scala/DataSource.scala b/examples/scala-parallel-similarproduct/filterbyyear/src/main/scala/DataSource.scala
index a957579..7f93ec0 100644
--- a/examples/scala-parallel-similarproduct/filterbyyear/src/main/scala/DataSource.scala
+++ b/examples/scala-parallel-similarproduct/filterbyyear/src/main/scala/DataSource.scala
@@ -101,11 +101,11 @@ case class Item(categories: Option[List[String]], year:Int)
case class ViewEvent(user: String, item: String, t: Long)
-class TrainingData(
- val users: RDD[(String, User)],
- val items: RDD[(String, Item)],
- val viewEvents: RDD[ViewEvent]
-) extends Serializable {
+case class TrainingData(
+ users: RDD[(String, User)],
+ items: RDD[(String, Item)],
+ viewEvents: RDD[ViewEvent]
+) {
override def toString = {
s"users: [${users.count()} (${users.take(2).toList}...)]" +
s"items: [${items.count()} (${items.take(2).toList}...)]" +
[42/50] [abbrv] incubator-predictionio git commit: Add a rule
WhitespaceEndOfLineChecker
Posted by ap...@apache.org.
Add a rule WhitespaceEndOfLineChecker
Project: http://git-wip-us.apache.org/repos/asf/incubator-predictionio/repo
Commit: http://git-wip-us.apache.org/repos/asf/incubator-predictionio/commit/7a40f737
Tree: http://git-wip-us.apache.org/repos/asf/incubator-predictionio/tree/7a40f737
Diff: http://git-wip-us.apache.org/repos/asf/incubator-predictionio/diff/7a40f737
Branch: refs/heads/master
Commit: 7a40f737f50fe67b4eb227e36c0dbbd41bae80cd
Parents: eb3fe34
Author: hyukjinkwon <gu...@gmail.com>
Authored: Sun Apr 3 14:31:08 2016 +0900
Committer: hyukjinkwon <gu...@gmail.com>
Committed: Sun Apr 3 14:31:08 2016 +0900
----------------------------------------------------------------------
.../io/prediction/controller/Deployment.scala | 2 +-
.../scala/io/prediction/controller/Engine.scala | 4 +--
.../io/prediction/controller/Evaluation.scala | 10 +++---
.../prediction/controller/FastEvalEngine.scala | 38 ++++++++++----------
.../io/prediction/controller/LServing.scala | 2 +-
.../scala/io/prediction/controller/Metric.scala | 14 ++++----
.../prediction/controller/MetricEvaluator.scala | 14 ++++----
.../io/prediction/controller/package.scala | 2 +-
.../scala/io/prediction/core/BaseEngine.scala | 8 ++---
.../io/prediction/core/BaseEvaluator.scala | 6 ++--
.../io/prediction/workflow/CoreWorkflow.scala | 4 +--
.../io/prediction/workflow/FakeWorkflow.scala | 26 +++++++-------
.../io/prediction/data/storage/BiMap.scala | 2 +-
.../data/storage/elasticsearch/ESChannels.scala | 2 +-
.../data/storage/hbase/PIOHBaseUtil.scala | 2 +-
.../data/storage/jdbc/JDBCLEvents.scala | 4 +--
.../io/prediction/data/store/LEventStore.scala | 2 +-
.../webhooks/mailchimp/MailChimpConnector.scala | 22 ++++++------
.../prediction/e2/engine/BinaryVectorizer.scala | 5 +--
scalastyle-config.xml | 4 +++
.../scala/io/prediction/tools/RunWorkflow.scala | 2 +-
.../prediction/tools/admin/CommandClient.scala | 2 +-
.../tools/dashboard/CorsSupport.scala | 16 ++++-----
23 files changed, 99 insertions(+), 94 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/incubator-predictionio/blob/7a40f737/core/src/main/scala/io/prediction/controller/Deployment.scala
----------------------------------------------------------------------
diff --git a/core/src/main/scala/io/prediction/controller/Deployment.scala b/core/src/main/scala/io/prediction/controller/Deployment.scala
index b9d7c08..49e14d5 100644
--- a/core/src/main/scala/io/prediction/controller/Deployment.scala
+++ b/core/src/main/scala/io/prediction/controller/Deployment.scala
@@ -34,7 +34,7 @@ trait Deployment extends EngineFactory {
}
/** Returns the [[Engine]] contained in this [[Deployment]]. */
- private [prediction]
+ private [prediction]
def engine: BaseEngine[_, _, _, _] = {
assert(engineSet, "Engine not set")
_engine
http://git-wip-us.apache.org/repos/asf/incubator-predictionio/blob/7a40f737/core/src/main/scala/io/prediction/controller/Engine.scala
----------------------------------------------------------------------
diff --git a/core/src/main/scala/io/prediction/controller/Engine.scala b/core/src/main/scala/io/prediction/controller/Engine.scala
index 92d630f..bd37d8a 100644
--- a/core/src/main/scala/io/prediction/controller/Engine.scala
+++ b/core/src/main/scala/io/prediction/controller/Engine.scala
@@ -309,7 +309,7 @@ class Engine[TD, EI, PD, Q, P, A](
* result, and actual result tuple tuple.
*/
def eval(
- sc: SparkContext,
+ sc: SparkContext,
engineParams: EngineParams,
params: WorkflowParams)
: Seq[(EI, RDD[(Q, P, A)])] = {
@@ -762,7 +762,7 @@ object Engine {
algoMap.mapValues(_.trainBase(sc,pd))
}}
- val suppQAsMap: Map[EX, RDD[(QX, (Q, A))]] = evalQAsMap.mapValues { qas =>
+ val suppQAsMap: Map[EX, RDD[(QX, (Q, A))]] = evalQAsMap.mapValues { qas =>
qas.map { case (qx, (q, a)) => (qx, (serving.supplementBase(q), a)) }
}
http://git-wip-us.apache.org/repos/asf/incubator-predictionio/blob/7a40f737/core/src/main/scala/io/prediction/controller/Evaluation.scala
----------------------------------------------------------------------
diff --git a/core/src/main/scala/io/prediction/controller/Evaluation.scala b/core/src/main/scala/io/prediction/controller/Evaluation.scala
index 8d22464..a6ee9a7 100644
--- a/core/src/main/scala/io/prediction/controller/Evaluation.scala
+++ b/core/src/main/scala/io/prediction/controller/Evaluation.scala
@@ -32,7 +32,7 @@ trait Evaluation extends Deployment {
protected [this] var _evaluatorSet: Boolean = false
protected [this] var _evaluator: BaseEvaluator[_, _, _, _, _ <: BaseEvaluatorResult] = _
- private [prediction]
+ private [prediction]
def evaluator: BaseEvaluator[_, _, _, _, _ <: BaseEvaluatorResult] = {
assert(_evaluatorSet, "Evaluator not set")
_evaluator
@@ -60,7 +60,7 @@ trait Evaluation extends Deployment {
*/
def engineEvaluator_=[EI, Q, P, A, R <: BaseEvaluatorResult](
engineEvaluator: (
- BaseEngine[EI, Q, P, A],
+ BaseEngine[EI, Q, P, A],
BaseEvaluator[EI, Q, P, A, R])) {
assert(!_evaluatorSet, "Evaluator can be set at most once")
engine = engineEvaluator._1
@@ -88,7 +88,7 @@ trait Evaluation extends Deployment {
def engineMetric_=[EI, Q, P, A](
engineMetric: (BaseEngine[EI, Q, P, A], Metric[EI, Q, P, A, _])) {
engineEvaluator = (
- engineMetric._1,
+ engineMetric._1,
MetricEvaluator(
metric = engineMetric._2,
otherMetrics = Seq[Metric[EI, Q, P, A, _]](),
@@ -112,8 +112,8 @@ trait Evaluation extends Deployment {
*/
def engineMetrics_=[EI, Q, P, A](
engineMetrics: (
- BaseEngine[EI, Q, P, A],
- Metric[EI, Q, P, A, _],
+ BaseEngine[EI, Q, P, A],
+ Metric[EI, Q, P, A, _],
Seq[Metric[EI, Q, P, A, _]])) {
engineEvaluator = (
engineMetrics._1,
http://git-wip-us.apache.org/repos/asf/incubator-predictionio/blob/7a40f737/core/src/main/scala/io/prediction/controller/FastEvalEngine.scala
----------------------------------------------------------------------
diff --git a/core/src/main/scala/io/prediction/controller/FastEvalEngine.scala b/core/src/main/scala/io/prediction/controller/FastEvalEngine.scala
index 5eb21b1..8e9727e 100644
--- a/core/src/main/scala/io/prediction/controller/FastEvalEngine.scala
+++ b/core/src/main/scala/io/prediction/controller/FastEvalEngine.scala
@@ -42,11 +42,11 @@ import scala.collection.mutable.{ HashMap => MutableHashMap }
@Experimental
object FastEvalEngineWorkflow {
@transient lazy val logger = Logger[this.type]
-
+
type EX = Int
type AX = Int
type QX = Long
-
+
case class DataSourcePrefix(dataSourceParams: (String, Params)) {
def this(pp: PreparatorPrefix) = this(pp.dataSourceParams)
def this(ap: AlgorithmsPrefix) = this(ap.dataSourceParams)
@@ -60,7 +60,7 @@ object FastEvalEngineWorkflow {
this(ap.dataSourceParams, ap.preparatorParams)
}
}
-
+
case class AlgorithmsPrefix(
dataSourceParams: (String, Params),
preparatorParams: (String, Params),
@@ -90,7 +90,7 @@ object FastEvalEngineWorkflow {
if (!cache.contains(prefix)) {
val dataSource = Doer(
- workflow.engine.dataSourceClassMap(prefix.dataSourceParams._1),
+ workflow.engine.dataSourceClassMap(prefix.dataSourceParams._1),
prefix.dataSourceParams._2)
val result = dataSource
@@ -130,7 +130,7 @@ object FastEvalEngineWorkflow {
def computeAlgorithmsResult[TD, EI, PD, Q, P, A](
workflow: FastEvalEngineWorkflow[TD, EI, PD, Q, P, A],
prefix: AlgorithmsPrefix): Map[EX, RDD[(QX, Seq[P])]] = {
-
+
val algoMap: Map[AX, BaseAlgorithm[PD, _, Q, P]] = prefix.algorithmParamsList
.map { case (algoName, algoParams) => {
try {
@@ -162,12 +162,12 @@ object FastEvalEngineWorkflow {
val algoModelsMap: Map[EX, Map[AX, Any]] = getPreparatorResult(
workflow,
new PreparatorPrefix(prefix))
- .mapValues {
+ .mapValues {
pd => algoMap.mapValues(_.trainBase(workflow.sc,pd))
}
// Predict
- val dataSourceResult =
+ val dataSourceResult =
FastEvalEngineWorkflow.getDataSourceResult(
workflow = workflow,
prefix = new DataSourcePrefix(prefix))
@@ -177,22 +177,22 @@ object FastEvalEngineWorkflow {
.map { case (ex, (td, ei, iqaRDD)) => {
val modelsMap: Map[AX, Any] = algoModelsMap(ex)
val qs: RDD[(QX, Q)] = iqaRDD.mapValues(_._1)
-
+
val algoPredicts: Seq[RDD[(QX, (AX, P))]] = (0 until algoCount)
.map { ax => {
val algo = algoMap(ax)
val model = modelsMap(ax)
val rawPredicts: RDD[(QX, P)] = algo.batchPredictBase(
- workflow.sc,
+ workflow.sc,
model,
qs)
-
- val predicts: RDD[(QX, (AX, P))] = rawPredicts.map {
+
+ val predicts: RDD[(QX, (AX, P))] = rawPredicts.map {
case (qx, p) => (qx, (ax, p))
}
predicts
}}
-
+
val unionAlgoPredicts: RDD[(QX, Seq[P])] = workflow.sc
.union(algoPredicts)
.groupByKey
@@ -205,7 +205,7 @@ object FastEvalEngineWorkflow {
}}
.seq
.toMap
-
+
algoResult
}
@@ -262,13 +262,13 @@ object FastEvalEngineWorkflow {
}
cache(prefix)
}
-
+
def get[TD, EI, PD, Q, P, A](
workflow: FastEvalEngineWorkflow[TD, EI, PD, Q, P, A],
engineParamsList: Seq[EngineParams])
: Seq[(EngineParams, Seq[(EI, RDD[(Q, P, A)])])] = {
engineParamsList.map { engineParams => {
- (engineParams,
+ (engineParams,
getServingResult(workflow, new ServingPrefix(engineParams)))
}}
}
@@ -286,12 +286,12 @@ class FastEvalEngineWorkflow[TD, EI, PD, Q, P, A](
val workflowParams: WorkflowParams) extends Serializable {
import io.prediction.controller.FastEvalEngineWorkflow._
-
+
type DataSourceResult = Map[EX, (TD, EI, RDD[(QX, (Q, A))])]
type PreparatorResult = Map[EX, PD]
type AlgorithmsResult = Map[EX, RDD[(QX, Seq[P])]]
type ServingResult = Seq[(EI, RDD[(Q, P, A)])]
-
+
val dataSourceCache = MutableHashMap[DataSourcePrefix, DataSourceResult]()
val preparatorCache = MutableHashMap[PreparatorPrefix, PreparatorResult]()
val algorithmsCache = MutableHashMap[AlgorithmsPrefix, AlgorithmsResult]()
@@ -320,8 +320,8 @@ class FastEvalEngine[TD, EI, PD, Q, P, A](
@transient override lazy val logger = Logger[this.type]
override def eval(
- sc: SparkContext,
- engineParams: EngineParams,
+ sc: SparkContext,
+ engineParams: EngineParams,
params: WorkflowParams): Seq[(EI, RDD[(Q, P, A)])] = {
logger.info("FastEvalEngine.eval")
batchEval(sc, Seq(engineParams), params).head._2
http://git-wip-us.apache.org/repos/asf/incubator-predictionio/blob/7a40f737/core/src/main/scala/io/prediction/controller/LServing.scala
----------------------------------------------------------------------
diff --git a/core/src/main/scala/io/prediction/controller/LServing.scala b/core/src/main/scala/io/prediction/controller/LServing.scala
index c14f3fd..accee48 100644
--- a/core/src/main/scala/io/prediction/controller/LServing.scala
+++ b/core/src/main/scala/io/prediction/controller/LServing.scala
@@ -18,7 +18,7 @@ package io.prediction.controller
import io.prediction.annotation.Experimental
import io.prediction.core.BaseServing
-/** Base class of serving.
+/** Base class of serving.
*
* @tparam Q Input query class.
* @tparam P Output prediction class.
http://git-wip-us.apache.org/repos/asf/incubator-predictionio/blob/7a40f737/core/src/main/scala/io/prediction/controller/Metric.scala
----------------------------------------------------------------------
diff --git a/core/src/main/scala/io/prediction/controller/Metric.scala b/core/src/main/scala/io/prediction/controller/Metric.scala
index 89ac490..9e56125 100644
--- a/core/src/main/scala/io/prediction/controller/Metric.scala
+++ b/core/src/main/scala/io/prediction/controller/Metric.scala
@@ -60,11 +60,11 @@ private [prediction] trait StatsMetricHelper[EI, Q, P, A] {
def calculateStats(sc: SparkContext, evalDataSet: Seq[(EI, RDD[(Q, P, A)])])
: StatCounter = {
val doubleRDD = sc.union(
- evalDataSet.map { case (_, qpaRDD) =>
+ evalDataSet.map { case (_, qpaRDD) =>
qpaRDD.map { case (q, p, a) => calculate(q, p, a) }
}
)
-
+
doubleRDD.stats()
}
}
@@ -75,11 +75,11 @@ private [prediction] trait StatsOptionMetricHelper[EI, Q, P, A] {
def calculateStats(sc: SparkContext, evalDataSet: Seq[(EI, RDD[(Q, P, A)])])
: StatCounter = {
val doubleRDD = sc.union(
- evalDataSet.map { case (_, qpaRDD) =>
+ evalDataSet.map { case (_, qpaRDD) =>
qpaRDD.flatMap { case (q, p, a) => calculate(q, p, a) }
}
)
-
+
doubleRDD.stats()
}
}
@@ -119,7 +119,7 @@ abstract class AverageMetric[EI, Q, P, A]
* @group Evaluation
*/
abstract class OptionAverageMetric[EI, Q, P, A]
- extends Metric[EI, Q, P, A, Double]
+ extends Metric[EI, Q, P, A, Double]
with StatsOptionMetricHelper[EI, Q, P, A]
with QPAMetric[Q, P, A, Option[Double]] {
/** Implement this method to return a score that will be used for averaging
@@ -189,7 +189,7 @@ abstract class OptionStdevMetric[EI, Q, P, A]
}
}
-/** Returns the sum of the score returned by the calculate method.
+/** Returns the sum of the score returned by the calculate method.
*
* @tparam EI Evaluation information
* @tparam Q Query
@@ -210,7 +210,7 @@ abstract class SumMetric[EI, Q, P, A, R: ClassTag](implicit num: Numeric[R])
def calculate(sc: SparkContext, evalDataSet: Seq[(EI, RDD[(Q, P, A)])])
: R = {
val union: RDD[R] = sc.union(
- evalDataSet.map { case (_, qpaRDD) =>
+ evalDataSet.map { case (_, qpaRDD) =>
qpaRDD.map { case (q, p, a) => calculate(q, p, a) }
}
)
http://git-wip-us.apache.org/repos/asf/incubator-predictionio/blob/7a40f737/core/src/main/scala/io/prediction/controller/MetricEvaluator.scala
----------------------------------------------------------------------
diff --git a/core/src/main/scala/io/prediction/controller/MetricEvaluator.scala b/core/src/main/scala/io/prediction/controller/MetricEvaluator.scala
index e28f7ca..41ccc9c 100644
--- a/core/src/main/scala/io/prediction/controller/MetricEvaluator.scala
+++ b/core/src/main/scala/io/prediction/controller/MetricEvaluator.scala
@@ -78,13 +78,13 @@ extends BaseEvaluatorResult {
new NameParamsSerializer
write(this)
}
-
+
override def toHTML(): String = html.metric_evaluator().toString()
-
+
override def toString: String = {
implicit lazy val formats = Utils.json4sDefaultFormats +
new NameParamsSerializer
-
+
val bestEPStr = JsonExtractor.engineParamstoPrettyJson(Both, bestEngineParams)
val strings = Seq(
@@ -130,7 +130,7 @@ object MetricEvaluator {
otherMetrics,
None)
}
-
+
def apply[EI, Q, P, A, R](metric: Metric[EI, Q, P, A, R])
: MetricEvaluator[EI, Q, P, A, R] = {
new MetricEvaluator[EI, Q, P, A, R](
@@ -194,7 +194,7 @@ class MetricEvaluator[EI, Q, P, A, R] (
val now = DateTime.now
val evalClassName = evaluation.getClass.getName
-
+
val variant = MetricEvaluator.EngineVariant(
id = s"$evalClassName $now",
description = "",
@@ -221,14 +221,14 @@ class MetricEvaluator[EI, Q, P, A, R] (
val evalResultList: Seq[(EngineParams, MetricScores[R])] = engineEvalDataSet
.zipWithIndex
.par
- .map { case ((engineParams, evalDataSet), idx) =>
+ .map { case ((engineParams, evalDataSet), idx) =>
val metricScores = MetricScores[R](
metric.calculate(sc, evalDataSet),
otherMetrics.map(_.calculate(sc, evalDataSet)))
(engineParams, metricScores)
}
.seq
-
+
implicit lazy val formats = Utils.json4sDefaultFormats +
new NameParamsSerializer
http://git-wip-us.apache.org/repos/asf/incubator-predictionio/blob/7a40f737/core/src/main/scala/io/prediction/controller/package.scala
----------------------------------------------------------------------
diff --git a/core/src/main/scala/io/prediction/controller/package.scala b/core/src/main/scala/io/prediction/controller/package.scala
index b344d3e..bcb4b0d 100644
--- a/core/src/main/scala/io/prediction/controller/package.scala
+++ b/core/src/main/scala/io/prediction/controller/package.scala
@@ -119,7 +119,7 @@ package object controller {
* @group Helper
*/
type EmptyDataParams = EmptyParams
-
+
/** Empty evaluation info.
* @group Helper
*/
http://git-wip-us.apache.org/repos/asf/incubator-predictionio/blob/7a40f737/core/src/main/scala/io/prediction/core/BaseEngine.scala
----------------------------------------------------------------------
diff --git a/core/src/main/scala/io/prediction/core/BaseEngine.scala b/core/src/main/scala/io/prediction/core/BaseEngine.scala
index 546e889..5356fa7 100644
--- a/core/src/main/scala/io/prediction/core/BaseEngine.scala
+++ b/core/src/main/scala/io/prediction/core/BaseEngine.scala
@@ -44,7 +44,7 @@ abstract class BaseEngine[EI, Q, P, A] extends Serializable {
*/
@DeveloperApi
def train(
- sc: SparkContext,
+ sc: SparkContext,
engineParams: EngineParams,
engineInstanceId: String,
params: WorkflowParams): Seq[Any]
@@ -61,7 +61,7 @@ abstract class BaseEngine[EI, Q, P, A] extends Serializable {
*/
@DeveloperApi
def eval(
- sc: SparkContext,
+ sc: SparkContext,
engineParams: EngineParams,
params: WorkflowParams): Seq[(EI, RDD[(Q, P, A)])]
@@ -77,11 +77,11 @@ abstract class BaseEngine[EI, Q, P, A] extends Serializable {
*/
@DeveloperApi
def batchEval(
- sc: SparkContext,
+ sc: SparkContext,
engineParamsList: Seq[EngineParams],
params: WorkflowParams)
: Seq[(EngineParams, Seq[(EI, RDD[(Q, P, A)])])] = {
- engineParamsList.map { engineParams =>
+ engineParamsList.map { engineParams =>
(engineParams, eval(sc, engineParams, params))
}
}
http://git-wip-us.apache.org/repos/asf/incubator-predictionio/blob/7a40f737/core/src/main/scala/io/prediction/core/BaseEvaluator.scala
----------------------------------------------------------------------
diff --git a/core/src/main/scala/io/prediction/core/BaseEvaluator.scala b/core/src/main/scala/io/prediction/core/BaseEvaluator.scala
index 19eb8a5..23fe826 100644
--- a/core/src/main/scala/io/prediction/core/BaseEvaluator.scala
+++ b/core/src/main/scala/io/prediction/core/BaseEvaluator.scala
@@ -57,10 +57,10 @@ abstract class BaseEvaluator[EI, Q, P, A, ER <: BaseEvaluatorResult]
trait BaseEvaluatorResult extends Serializable {
/** A short description of the result */
def toOneLiner(): String = ""
-
+
/** HTML portion of the rendered evaluator results */
def toHTML(): String = ""
-
+
/** JSON portion of the rendered evaluator results */
def toJSON(): String = ""
@@ -68,5 +68,5 @@ trait BaseEvaluatorResult extends Serializable {
* Indicate if this result is inserted into database
*/
@Experimental
- val noSave: Boolean = false
+ val noSave: Boolean = false
}
http://git-wip-us.apache.org/repos/asf/incubator-predictionio/blob/7a40f737/core/src/main/scala/io/prediction/workflow/CoreWorkflow.scala
----------------------------------------------------------------------
diff --git a/core/src/main/scala/io/prediction/workflow/CoreWorkflow.scala b/core/src/main/scala/io/prediction/workflow/CoreWorkflow.scala
index 5ef6fb4..ad93b1a 100644
--- a/core/src/main/scala/io/prediction/workflow/CoreWorkflow.scala
+++ b/core/src/main/scala/io/prediction/workflow/CoreWorkflow.scala
@@ -72,7 +72,7 @@ object CoreWorkflow {
val instanceId = Storage.getMetaDataEngineInstances
val kryo = KryoInstantiator.newKryoInjection
-
+
logger.info("Inserting persistent model")
Storage.getModelDataModels.insert(Model(
id = engineInstance.id,
@@ -135,7 +135,7 @@ object CoreWorkflow {
evaluator,
params)
- if (evaluatorResult.noSave) {
+ if (evaluatorResult.noSave) {
logger.info(s"This evaluation result is not inserted into database: $evaluatorResult")
} else {
val evaluatedEvaluationInstance = evaluationInstance.copy(
http://git-wip-us.apache.org/repos/asf/incubator-predictionio/blob/7a40f737/core/src/main/scala/io/prediction/workflow/FakeWorkflow.scala
----------------------------------------------------------------------
diff --git a/core/src/main/scala/io/prediction/workflow/FakeWorkflow.scala b/core/src/main/scala/io/prediction/workflow/FakeWorkflow.scala
index ccb600f..350a430 100644
--- a/core/src/main/scala/io/prediction/workflow/FakeWorkflow.scala
+++ b/core/src/main/scala/io/prediction/workflow/FakeWorkflow.scala
@@ -15,7 +15,7 @@
package io.prediction.workflow
-import io.prediction.annotation.Experimental
+import io.prediction.annotation.Experimental
// FIXME(yipjustin): Remove wildcard import.
import io.prediction.core._
import io.prediction.controller._
@@ -32,7 +32,7 @@ extends BaseEngine[EmptyParams, EmptyParams, EmptyParams, EmptyParams] {
@transient lazy val logger = Logger[this.type]
def train(
- sc: SparkContext,
+ sc: SparkContext,
engineParams: EngineParams,
engineInstanceId: String,
params: WorkflowParams): Seq[Any] = {
@@ -40,7 +40,7 @@ extends BaseEngine[EmptyParams, EmptyParams, EmptyParams, EmptyParams] {
}
def eval(
- sc: SparkContext,
+ sc: SparkContext,
engineParams: EngineParams,
params: WorkflowParams)
: Seq[(EmptyParams, RDD[(EmptyParams, EmptyParams, EmptyParams)])] = {
@@ -56,7 +56,7 @@ private[prediction] class FakeRunner(f: (SparkContext => Unit))
def evaluateBase(
sc: SparkContext,
evaluation: Evaluation,
- engineEvalDataSet:
+ engineEvalDataSet:
Seq[(EngineParams, Seq[(EmptyParams, RDD[(EmptyParams, EmptyParams, EmptyParams)])])],
params: WorkflowParams): FakeEvalResult = {
f(sc)
@@ -66,36 +66,36 @@ private[prediction] class FakeRunner(f: (SparkContext => Unit))
@Experimental
private[prediction] case class FakeEvalResult() extends BaseEvaluatorResult {
- override val noSave: Boolean = true
+ override val noSave: Boolean = true
}
/** FakeRun allows user to implement custom function under the exact enviroment
- * as other PredictionIO workflow.
+ * as other PredictionIO workflow.
*
- * Useful for developing new features. Only need to extend this trait and
- * implement a function: (SparkContext => Unit). For example, the code below
+ * Useful for developing new features. Only need to extend this trait and
+ * implement a function: (SparkContext => Unit). For example, the code below
* can be run with `pio eval HelloWorld`.
*
* {{{
* object HelloWorld extends FakeRun {
* // func defines the function pio runs, must have signature (SparkContext => Unit).
* func = f
- *
+ *
* def f(sc: SparkContext): Unit {
* val logger = Logger[this.type]
* logger.info("HelloWorld")
* }
* }
- * }}}
- *
+ * }}}
+ *
*/
@Experimental
trait FakeRun extends Evaluation with EngineParamsGenerator {
private[this] var _runner: FakeRunner = _
def runner: FakeRunner = _runner
- def runner_=(r: FakeRunner) {
- engineEvaluator = (new FakeEngine(), r)
+ def runner_=(r: FakeRunner) {
+ engineEvaluator = (new FakeEngine(), r)
engineParamsList = Seq(new EngineParams())
}
http://git-wip-us.apache.org/repos/asf/incubator-predictionio/blob/7a40f737/data/src/main/scala/io/prediction/data/storage/BiMap.scala
----------------------------------------------------------------------
diff --git a/data/src/main/scala/io/prediction/data/storage/BiMap.scala b/data/src/main/scala/io/prediction/data/storage/BiMap.scala
index 9153782..cbf3e12 100644
--- a/data/src/main/scala/io/prediction/data/storage/BiMap.scala
+++ b/data/src/main/scala/io/prediction/data/storage/BiMap.scala
@@ -130,7 +130,7 @@ object BiMap {
new BiMap(HashMap(ki : _*))
}
- /** Create a BiMap[String, Double] from a set of String. The Double index
+ /** Create a BiMap[String, Double] from a set of String. The Double index
* starts from 0.
* @param keys a set of String
* @return a String to Double BiMap
http://git-wip-us.apache.org/repos/asf/incubator-predictionio/blob/7a40f737/data/src/main/scala/io/prediction/data/storage/elasticsearch/ESChannels.scala
----------------------------------------------------------------------
diff --git a/data/src/main/scala/io/prediction/data/storage/elasticsearch/ESChannels.scala b/data/src/main/scala/io/prediction/data/storage/elasticsearch/ESChannels.scala
index 80fd06f..ee5e9e7 100644
--- a/data/src/main/scala/io/prediction/data/storage/elasticsearch/ESChannels.scala
+++ b/data/src/main/scala/io/prediction/data/storage/elasticsearch/ESChannels.scala
@@ -12,7 +12,7 @@
* See the License for the specific language governing permissions and
* limitations under the License.
*/
-
+
package io.prediction.data.storage.elasticsearch
import grizzled.slf4j.Logging
http://git-wip-us.apache.org/repos/asf/incubator-predictionio/blob/7a40f737/data/src/main/scala/io/prediction/data/storage/hbase/PIOHBaseUtil.scala
----------------------------------------------------------------------
diff --git a/data/src/main/scala/io/prediction/data/storage/hbase/PIOHBaseUtil.scala b/data/src/main/scala/io/prediction/data/storage/hbase/PIOHBaseUtil.scala
index 89b3f3b..1027930 100644
--- a/data/src/main/scala/io/prediction/data/storage/hbase/PIOHBaseUtil.scala
+++ b/data/src/main/scala/io/prediction/data/storage/hbase/PIOHBaseUtil.scala
@@ -12,7 +12,7 @@
* See the License for the specific language governing permissions and
* limitations under the License.
*/
-
+
package org.apache.hadoop.hbase.mapreduce
/* Pretends to be hbase.mapreduce package in order to expose its
http://git-wip-us.apache.org/repos/asf/incubator-predictionio/blob/7a40f737/data/src/main/scala/io/prediction/data/storage/jdbc/JDBCLEvents.scala
----------------------------------------------------------------------
diff --git a/data/src/main/scala/io/prediction/data/storage/jdbc/JDBCLEvents.scala b/data/src/main/scala/io/prediction/data/storage/jdbc/JDBCLEvents.scala
index 7a6de4e..425af1b 100644
--- a/data/src/main/scala/io/prediction/data/storage/jdbc/JDBCLEvents.scala
+++ b/data/src/main/scala/io/prediction/data/storage/jdbc/JDBCLEvents.scala
@@ -32,8 +32,8 @@ import scala.concurrent.Future
/** JDBC implementation of [[LEvents]] */
class JDBCLEvents(
- client: String,
- config: StorageClientConfig,
+ client: String,
+ config: StorageClientConfig,
namespace: String) extends LEvents with Logging {
implicit private val formats = org.json4s.DefaultFormats
http://git-wip-us.apache.org/repos/asf/incubator-predictionio/blob/7a40f737/data/src/main/scala/io/prediction/data/store/LEventStore.scala
----------------------------------------------------------------------
diff --git a/data/src/main/scala/io/prediction/data/store/LEventStore.scala b/data/src/main/scala/io/prediction/data/store/LEventStore.scala
index 1845942..be543eb 100644
--- a/data/src/main/scala/io/prediction/data/store/LEventStore.scala
+++ b/data/src/main/scala/io/prediction/data/store/LEventStore.scala
@@ -87,7 +87,7 @@ object LEventStore {
}
/** Reads events generically. If entityType or entityId is not specified, it
- * results in table scan.
+ * results in table scan.
*
* @param appName return events of this app
* @param entityType return events of this entityType
http://git-wip-us.apache.org/repos/asf/incubator-predictionio/blob/7a40f737/data/src/main/scala/io/prediction/data/webhooks/mailchimp/MailChimpConnector.scala
----------------------------------------------------------------------
diff --git a/data/src/main/scala/io/prediction/data/webhooks/mailchimp/MailChimpConnector.scala b/data/src/main/scala/io/prediction/data/webhooks/mailchimp/MailChimpConnector.scala
index 1d35d30..b2793a0 100644
--- a/data/src/main/scala/io/prediction/data/webhooks/mailchimp/MailChimpConnector.scala
+++ b/data/src/main/scala/io/prediction/data/webhooks/mailchimp/MailChimpConnector.scala
@@ -76,7 +76,7 @@ private[prediction] object MailChimpConnector extends FormConnector {
"data[merges][LNAME]": "API",
"data[merges][INTERESTS]": "Group1,Group2",
"data[ip_opt]": "10.20.10.30",
- "data[ip_signup]": "10.20.10.30"
+ "data[ip_signup]": "10.20.10.30"
*/
// convert to ISO8601 format
@@ -209,11 +209,11 @@ private[prediction] object MailChimpConnector extends FormConnector {
import org.json4s.JsonDSL._
/*
- "type": "upemail",
- "fired_at": "2009-03-26 22:15:09",
+ "type": "upemail",
+ "fired_at": "2009-03-26 22:15:09",
"data[list_id]": "a6b5da1054",
- "data[new_id]": "51da8c3259",
- "data[new_email]": "api+new@mailchimp.com",
+ "data[new_id]": "51da8c3259",
+ "data[new_email]": "api+new@mailchimp.com",
"data[old_email]": "api+old@mailchimp.com"
*/
@@ -242,8 +242,8 @@ private[prediction] object MailChimpConnector extends FormConnector {
/*
Reason will be one of "hard" (for hard bounces) or "abuse"
- "type": "cleaned",
- "fired_at": "2009-03-26 22:01:00",
+ "type": "cleaned",
+ "fired_at": "2009-03-26 22:01:00",
"data[list_id]": "a6b5da1054",
"data[campaign_id]": "4fjk2ma9xd",
"data[reason]": "hard",
@@ -273,12 +273,12 @@ private[prediction] object MailChimpConnector extends FormConnector {
import org.json4s.JsonDSL._
/*
- "type": "campaign",
- "fired_at": "2009-03-26 21:31:21",
+ "type": "campaign",
+ "fired_at": "2009-03-26 21:31:21",
"data[id]": "5aa2102003",
- "data[subject]": "Test Campaign Subject",
+ "data[subject]": "Test Campaign Subject",
"data[status]": "sent",
- "data[reason]": "",
+ "data[reason]": "",
"data[list_id]": "a6b5da1054"
*/
http://git-wip-us.apache.org/repos/asf/incubator-predictionio/blob/7a40f737/e2/src/main/scala/io/prediction/e2/engine/BinaryVectorizer.scala
----------------------------------------------------------------------
diff --git a/e2/src/main/scala/io/prediction/e2/engine/BinaryVectorizer.scala b/e2/src/main/scala/io/prediction/e2/engine/BinaryVectorizer.scala
index b57a24f..75e818a 100644
--- a/e2/src/main/scala/io/prediction/e2/engine/BinaryVectorizer.scala
+++ b/e2/src/main/scala/io/prediction/e2/engine/BinaryVectorizer.scala
@@ -21,8 +21,8 @@ import org.apache.spark.mllib.linalg.Vector
import scala.collection.immutable.HashMap
import scala.collection.immutable.HashSet
-class BinaryVectorizer(propertyMap : HashMap[(String, String), Int])
-extends Serializable {
+class BinaryVectorizer(propertyMap : HashMap[(String, String), Int])
+ extends Serializable {
val properties: Array[(String, String)] = propertyMap.toArray.sortBy(_._2).map(_._1)
val numFeatures = propertyMap.size
@@ -58,3 +58,4 @@ object BinaryVectorizer {
new BinaryVectorizer(HashMap(indexed:_*))
}
}
+
http://git-wip-us.apache.org/repos/asf/incubator-predictionio/blob/7a40f737/scalastyle-config.xml
----------------------------------------------------------------------
diff --git a/scalastyle-config.xml b/scalastyle-config.xml
index d0afc1b..d24468f 100644
--- a/scalastyle-config.xml
+++ b/scalastyle-config.xml
@@ -95,4 +95,8 @@ limitations under the License.
<check enabled="true"
class="org.scalastyle.scalariform.PublicMethodsHaveTypeChecker"
level="error"/>
+ <check level="error"
+ class="org.scalastyle.file.WhitespaceEndOfLineChecker"
+ enabled="true"/>
+
</scalastyle>
http://git-wip-us.apache.org/repos/asf/incubator-predictionio/blob/7a40f737/tools/src/main/scala/io/prediction/tools/RunWorkflow.scala
----------------------------------------------------------------------
diff --git a/tools/src/main/scala/io/prediction/tools/RunWorkflow.scala b/tools/src/main/scala/io/prediction/tools/RunWorkflow.scala
index f5d440e..b18690e 100644
--- a/tools/src/main/scala/io/prediction/tools/RunWorkflow.scala
+++ b/tools/src/main/scala/io/prediction/tools/RunWorkflow.scala
@@ -162,7 +162,7 @@ object RunWorkflow extends Logging {
// If engineParamsGenerator is specified, it overrides the evaluation.
ca.common.engineParamsGenerator.orElse(ca.common.evaluation)
.map(x => Seq("--engine-params-generator-class", x))
- .getOrElse(Seq()) ++
+ .getOrElse(Seq()) ++
(if (ca.common.batch != "") Seq("--batch", ca.common.batch) else Seq()) ++
Seq("--json-extractor", ca.common.jsonExtractor.toString)
http://git-wip-us.apache.org/repos/asf/incubator-predictionio/blob/7a40f737/tools/src/main/scala/io/prediction/tools/admin/CommandClient.scala
----------------------------------------------------------------------
diff --git a/tools/src/main/scala/io/prediction/tools/admin/CommandClient.scala b/tools/src/main/scala/io/prediction/tools/admin/CommandClient.scala
index 9389d0e..924b6f0 100644
--- a/tools/src/main/scala/io/prediction/tools/admin/CommandClient.scala
+++ b/tools/src/main/scala/io/prediction/tools/admin/CommandClient.scala
@@ -67,7 +67,7 @@ class CommandClient(
} getOrElse {
appClient.get(req.id) map {
app2 =>
- GeneralResponse(0,
+ GeneralResponse(0,
s"App ID ${app2.id} already exists and maps to the app '${app2.name}'. " +
"Aborting.")
} getOrElse {
http://git-wip-us.apache.org/repos/asf/incubator-predictionio/blob/7a40f737/tools/src/main/scala/io/prediction/tools/dashboard/CorsSupport.scala
----------------------------------------------------------------------
diff --git a/tools/src/main/scala/io/prediction/tools/dashboard/CorsSupport.scala b/tools/src/main/scala/io/prediction/tools/dashboard/CorsSupport.scala
index d0708f5..3d2c888 100644
--- a/tools/src/main/scala/io/prediction/tools/dashboard/CorsSupport.scala
+++ b/tools/src/main/scala/io/prediction/tools/dashboard/CorsSupport.scala
@@ -28,7 +28,7 @@ import spray.http.ContentTypes
// see also https://developer.mozilla.org/en-US/docs/Web/HTTP/Access_control_CORS
trait CORSSupport {
this: HttpService =>
-
+
private val allowOriginHeader = `Access-Control-Allow-Origin`(AllOrigins)
private val optionsCorsHeaders = List(
`Access-Control-Allow-Headers`("""Origin,
@@ -42,18 +42,18 @@ trait CORSSupport {
|User-Agent""".stripMargin.replace("\n", " ")),
`Access-Control-Max-Age`(1728000)
)
-
- def cors[T]: Directive0 = mapRequestContext { ctx =>
+
+ def cors[T]: Directive0 = mapRequestContext { ctx =>
ctx.withRouteResponseHandling {
// OPTION request for a resource that responds to other methods
- case Rejected(x) if (ctx.request.method.equals(HttpMethods.OPTIONS) &&
+ case Rejected(x) if (ctx.request.method.equals(HttpMethods.OPTIONS) &&
x.exists(_.isInstanceOf[MethodRejection])) => {
- val allowedMethods: List[HttpMethod] = x.collect {
+ val allowedMethods: List[HttpMethod] = x.collect {
case rejection: MethodRejection => rejection.supported
}
ctx.complete {
HttpResponse().withHeaders(
- `Access-Control-Allow-Methods`(HttpMethods.OPTIONS, allowedMethods :_*) ::
+ `Access-Control-Allow-Methods`(HttpMethods.OPTIONS, allowedMethods :_*) ::
allowOriginHeader ::
optionsCorsHeaders
)
@@ -63,11 +63,11 @@ trait CORSSupport {
allowOriginHeader :: headers
}
}
-
+
override def timeoutRoute: StandardRoute = complete {
HttpResponse(
StatusCodes.InternalServerError,
- HttpEntity(ContentTypes.`text/plain(UTF-8)`,
+ HttpEntity(ContentTypes.`text/plain(UTF-8)`,
"The server was not able to produce a timely response to your request."),
List(allowOriginHeader)
)
[33/50] [abbrv] incubator-predictionio git commit: Use a stronger
default implementation
Posted by ap...@apache.org.
Use a stronger default implementation
Project: http://git-wip-us.apache.org/repos/asf/incubator-predictionio/repo
Commit: http://git-wip-us.apache.org/repos/asf/incubator-predictionio/commit/adfb15e1
Tree: http://git-wip-us.apache.org/repos/asf/incubator-predictionio/tree/adfb15e1
Diff: http://git-wip-us.apache.org/repos/asf/incubator-predictionio/diff/adfb15e1
Branch: refs/heads/master
Commit: adfb15e18c8ecdc4b6105d01503f584b298afaad
Parents: 706377f
Author: Donald Szeto <do...@prediction.io>
Authored: Mon Mar 28 13:27:15 2016 -0700
Committer: Donald Szeto <do...@prediction.io>
Committed: Mon Mar 28 13:27:15 2016 -0700
----------------------------------------------------------------------
.../scala/io/prediction/data/storage/AccessKeys.scala | 12 +++++++++---
1 file changed, 9 insertions(+), 3 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/incubator-predictionio/blob/adfb15e1/data/src/main/scala/io/prediction/data/storage/AccessKeys.scala
----------------------------------------------------------------------
diff --git a/data/src/main/scala/io/prediction/data/storage/AccessKeys.scala b/data/src/main/scala/io/prediction/data/storage/AccessKeys.scala
index 7a7d2fd..f197e78 100644
--- a/data/src/main/scala/io/prediction/data/storage/AccessKeys.scala
+++ b/data/src/main/scala/io/prediction/data/storage/AccessKeys.scala
@@ -15,9 +15,10 @@
package io.prediction.data.storage
-import io.prediction.annotation.DeveloperApi
+import java.security.SecureRandom
-import scala.util.Random
+import io.prediction.annotation.DeveloperApi
+import org.apache.commons.codec.binary.Base64
/** :: DeveloperApi ::
* Stores mapping of access keys, app IDs, and lists of allowed event names
@@ -61,5 +62,10 @@ trait AccessKeys {
def delete(k: String): Unit
/** Default implementation of key generation */
- def generateKey: String = Random.alphanumeric.take(64).mkString
+ def generateKey: String = {
+ val sr = SecureRandom.getInstanceStrong
+ val srBytes = Array.fill(48)(0.toByte)
+ sr.nextBytes(srBytes)
+ Base64.encodeBase64URLSafeString(srBytes)
+ }
}
[14/50] [abbrv] incubator-predictionio git commit: Merge pull request
#210 from relateiq/ng
Posted by ap...@apache.org.
Merge pull request #210 from relateiq/ng
Use https when submitting user email to pio
Project: http://git-wip-us.apache.org/repos/asf/incubator-predictionio/repo
Commit: http://git-wip-us.apache.org/repos/asf/incubator-predictionio/commit/acd9e3ff
Tree: http://git-wip-us.apache.org/repos/asf/incubator-predictionio/tree/acd9e3ff
Diff: http://git-wip-us.apache.org/repos/asf/incubator-predictionio/diff/acd9e3ff
Branch: refs/heads/master
Commit: acd9e3fffa6f284b56eaff4b4205fccfc66789e1
Parents: e9daed3 587de03
Author: Donald Szeto <do...@prediction.io>
Authored: Thu Feb 25 17:55:57 2016 -0800
Committer: Donald Szeto <do...@prediction.io>
Committed: Thu Feb 25 17:55:57 2016 -0800
----------------------------------------------------------------------
bin/install.sh | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
----------------------------------------------------------------------
[08/50] [abbrv] incubator-predictionio git commit: Add event,
targetEntityType and targetEntityId to eventapi doc
Posted by ap...@apache.org.
Add event, targetEntityType and targetEntityId to eventapi doc
Project: http://git-wip-us.apache.org/repos/asf/incubator-predictionio/repo
Commit: http://git-wip-us.apache.org/repos/asf/incubator-predictionio/commit/7057ec6f
Tree: http://git-wip-us.apache.org/repos/asf/incubator-predictionio/tree/7057ec6f
Diff: http://git-wip-us.apache.org/repos/asf/incubator-predictionio/diff/7057ec6f
Branch: refs/heads/master
Commit: 7057ec6ff5bd1764f5bb35e46c47190a3f2455fb
Parents: 0073540
Author: Tom Chan <tc...@prediction.io>
Authored: Fri Jan 29 14:28:52 2016 -0800
Committer: Tom Chan <tc...@prediction.io>
Committed: Fri Jan 29 14:29:34 2016 -0800
----------------------------------------------------------------------
docs/manual/source/datacollection/eventapi.html.md | 5 +++++
1 file changed, 5 insertions(+)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/incubator-predictionio/blob/7057ec6f/docs/manual/source/datacollection/eventapi.html.md
----------------------------------------------------------------------
diff --git a/docs/manual/source/datacollection/eventapi.html.md b/docs/manual/source/datacollection/eventapi.html.md
index b1d84f3..9fb3716 100644
--- a/docs/manual/source/datacollection/eventapi.html.md
+++ b/docs/manual/source/datacollection/eventapi.html.md
@@ -368,12 +368,17 @@ In addition, the following *optional* parameters are supported:
- `untilTime`: time in ISO8601 format. Return events with `eventTime < untilTime`.
- `entityType`: String. The entityType. Return events for this `entityType` only.
- `entityId`: String. The entityId. Return events for this `entityId` only.
+- `event`: String. The event name. Return events with this name only.
+- `targetEntityType`: String. The targetEntityType. Return events for this `targetEntityType` only.
+- `targetEntityId`: String. The targetEntityId. Return events for this `targetEntityId` only.
- `limit`: Integer. The number of record events returned. Default is 20. -1 to
get all.
- `reversed`: Boolean. **Must be used with both `entityType` and `entityId` specified**, returns events in reversed chronological order. Default is false.
WARNING: If you are using <code>curl</code> with the <code>&</code> symbol, you should quote the entire URL by using single or double quotes.
+WARNING: Depending on the size of data, you may encounter timeout when querying with some of the above filters. Event server uses `entityType` and `entityId` as the key so any query without both `entityType` and `entityId` specified might result in a timeout.
+
For example, get all events of an app with `eventTime >= startTime`
```
[12/50] [abbrv] incubator-predictionio git commit: Add a newlines for
each file that does not have at the end
Posted by ap...@apache.org.
Add a newlines for each file that does not have at the end
Project: http://git-wip-us.apache.org/repos/asf/incubator-predictionio/repo
Commit: http://git-wip-us.apache.org/repos/asf/incubator-predictionio/commit/ba92f573
Tree: http://git-wip-us.apache.org/repos/asf/incubator-predictionio/tree/ba92f573
Diff: http://git-wip-us.apache.org/repos/asf/incubator-predictionio/diff/ba92f573
Branch: refs/heads/master
Commit: ba92f5736a3867f65467f5f380838f290544e3c0
Parents: e39ff80
Author: hyukjinkwon <gu...@gmail.com>
Authored: Thu Feb 4 16:29:08 2016 +0900
Committer: hyukjinkwon <gu...@gmail.com>
Committed: Thu Feb 4 16:29:08 2016 +0900
----------------------------------------------------------------------
.../custom-prepartor/src/main/scala/Preparator.scala | 3 ++-
.../filter-by-category/src/main/scala/Preparator.scala | 3 ++-
.../src/main/scala/Preparator.scala | 3 ++-
.../add-rateevent/src/main/scala/Preparator.scala | 3 ++-
.../filterbyyear/src/main/scala/Preparator.scala | 3 ++-
.../multi/src/main/scala/Preparator.scala | 3 ++-
.../no-set-user/src/main/scala/Preparator.scala | 3 ++-
7 files changed, 14 insertions(+), 7 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/incubator-predictionio/blob/ba92f573/examples/scala-parallel-recommendation/custom-prepartor/src/main/scala/Preparator.scala
----------------------------------------------------------------------
diff --git a/examples/scala-parallel-recommendation/custom-prepartor/src/main/scala/Preparator.scala b/examples/scala-parallel-recommendation/custom-prepartor/src/main/scala/Preparator.scala
index 017ca59..a4c3ebe 100644
--- a/examples/scala-parallel-recommendation/custom-prepartor/src/main/scala/Preparator.scala
+++ b/examples/scala-parallel-recommendation/custom-prepartor/src/main/scala/Preparator.scala
@@ -28,4 +28,5 @@ class Preparator(pp: CustomPreparatorParams) // ADDED CustomPreparatorParams
case class PreparedData(
ratings: RDD[Rating]
-)
\ No newline at end of file
+)
+
http://git-wip-us.apache.org/repos/asf/incubator-predictionio/blob/ba92f573/examples/scala-parallel-recommendation/filter-by-category/src/main/scala/Preparator.scala
----------------------------------------------------------------------
diff --git a/examples/scala-parallel-recommendation/filter-by-category/src/main/scala/Preparator.scala b/examples/scala-parallel-recommendation/filter-by-category/src/main/scala/Preparator.scala
index fb69f8d..2559e18 100644
--- a/examples/scala-parallel-recommendation/filter-by-category/src/main/scala/Preparator.scala
+++ b/examples/scala-parallel-recommendation/filter-by-category/src/main/scala/Preparator.scala
@@ -17,4 +17,5 @@ class Preparator
case class PreparedData(
items: RDD[Item],
ratings: RDD[Rating]
-)
\ No newline at end of file
+)
+
http://git-wip-us.apache.org/repos/asf/incubator-predictionio/blob/ba92f573/examples/scala-parallel-similarproduct/add-and-return-item-properties/src/main/scala/Preparator.scala
----------------------------------------------------------------------
diff --git a/examples/scala-parallel-similarproduct/add-and-return-item-properties/src/main/scala/Preparator.scala b/examples/scala-parallel-similarproduct/add-and-return-item-properties/src/main/scala/Preparator.scala
index 2ed4039..9df0a4b 100644
--- a/examples/scala-parallel-similarproduct/add-and-return-item-properties/src/main/scala/Preparator.scala
+++ b/examples/scala-parallel-similarproduct/add-and-return-item-properties/src/main/scala/Preparator.scala
@@ -21,4 +21,5 @@ case class PreparedData(
users: RDD[(String, User)],
items: RDD[(String, Item)],
viewEvents: RDD[ViewEvent]
-)
\ No newline at end of file
+)
+
http://git-wip-us.apache.org/repos/asf/incubator-predictionio/blob/ba92f573/examples/scala-parallel-similarproduct/add-rateevent/src/main/scala/Preparator.scala
----------------------------------------------------------------------
diff --git a/examples/scala-parallel-similarproduct/add-rateevent/src/main/scala/Preparator.scala b/examples/scala-parallel-similarproduct/add-rateevent/src/main/scala/Preparator.scala
index cb557ac..a1704f7 100644
--- a/examples/scala-parallel-similarproduct/add-rateevent/src/main/scala/Preparator.scala
+++ b/examples/scala-parallel-similarproduct/add-rateevent/src/main/scala/Preparator.scala
@@ -21,4 +21,5 @@ case class PreparedData(
users: RDD[(String, User)],
items: RDD[(String, Item)],
rateEvents: RDD[RateEvent]
-)
\ No newline at end of file
+)
+
http://git-wip-us.apache.org/repos/asf/incubator-predictionio/blob/ba92f573/examples/scala-parallel-similarproduct/filterbyyear/src/main/scala/Preparator.scala
----------------------------------------------------------------------
diff --git a/examples/scala-parallel-similarproduct/filterbyyear/src/main/scala/Preparator.scala b/examples/scala-parallel-similarproduct/filterbyyear/src/main/scala/Preparator.scala
index c2212fa..597e5a4 100644
--- a/examples/scala-parallel-similarproduct/filterbyyear/src/main/scala/Preparator.scala
+++ b/examples/scala-parallel-similarproduct/filterbyyear/src/main/scala/Preparator.scala
@@ -21,4 +21,5 @@ case class PreparedData(
users: RDD[(String, User)],
items: RDD[(String, Item)],
viewEvents: RDD[ViewEvent]
-)
\ No newline at end of file
+)
+
http://git-wip-us.apache.org/repos/asf/incubator-predictionio/blob/ba92f573/examples/scala-parallel-similarproduct/multi/src/main/scala/Preparator.scala
----------------------------------------------------------------------
diff --git a/examples/scala-parallel-similarproduct/multi/src/main/scala/Preparator.scala b/examples/scala-parallel-similarproduct/multi/src/main/scala/Preparator.scala
index b074959..925cf7e 100644
--- a/examples/scala-parallel-similarproduct/multi/src/main/scala/Preparator.scala
+++ b/examples/scala-parallel-similarproduct/multi/src/main/scala/Preparator.scala
@@ -23,4 +23,5 @@ case class PreparedData(
items: RDD[(String, Item)],
viewEvents: RDD[ViewEvent],
likeEvents: RDD[LikeEvent] // ADDED
-)
\ No newline at end of file
+)
+
http://git-wip-us.apache.org/repos/asf/incubator-predictionio/blob/ba92f573/examples/scala-parallel-similarproduct/no-set-user/src/main/scala/Preparator.scala
----------------------------------------------------------------------
diff --git a/examples/scala-parallel-similarproduct/no-set-user/src/main/scala/Preparator.scala b/examples/scala-parallel-similarproduct/no-set-user/src/main/scala/Preparator.scala
index a136303..0cef2ab 100644
--- a/examples/scala-parallel-similarproduct/no-set-user/src/main/scala/Preparator.scala
+++ b/examples/scala-parallel-similarproduct/no-set-user/src/main/scala/Preparator.scala
@@ -19,4 +19,5 @@ class Preparator
case class PreparedData(
items: RDD[(String, Item)],
viewEvents: RDD[ViewEvent]
-)
\ No newline at end of file
+)
+
[48/50] [abbrv] incubator-predictionio git commit: Migrate deployment
away from Travis
Posted by ap...@apache.org.
Migrate deployment away from Travis
Project: http://git-wip-us.apache.org/repos/asf/incubator-predictionio/repo
Commit: http://git-wip-us.apache.org/repos/asf/incubator-predictionio/commit/7cad71e8
Tree: http://git-wip-us.apache.org/repos/asf/incubator-predictionio/tree/7cad71e8
Diff: http://git-wip-us.apache.org/repos/asf/incubator-predictionio/diff/7cad71e8
Branch: refs/heads/master
Commit: 7cad71e8f1fd5c76f930b55fb8bdc427e065c469
Parents: ffb475b
Author: Donald Szeto <do...@prediction.io>
Authored: Mon Apr 11 12:42:44 2016 -0700
Committer: Donald Szeto <do...@prediction.io>
Committed: Mon Apr 11 12:42:44 2016 -0700
----------------------------------------------------------------------
.travis.yml | 16 ----------------
1 file changed, 16 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/incubator-predictionio/blob/7cad71e8/.travis.yml
----------------------------------------------------------------------
diff --git a/.travis.yml b/.travis.yml
index ecc13f4..30ed2d0 100644
--- a/.travis.yml
+++ b/.travis.yml
@@ -55,19 +55,3 @@ script:
after_script:
- ./bin/travis/pio-stop-travis
-
-deploy:
- - provider: s3
- access_key_id:
- secure: "PxUW6LxwsJ2UlakxsPtkgIwbE949QyJbDF31IdjDIVX5H7KLWA0xkpECj+DXW7/lODsuGLxi02w4Y+KE0Ujo27ovnQAu2F1D6NDGn+D/JIu/wqjRJ4OOOg65j/06zyj5jzWMckLh6wYKABMiInsWiXtr4ehLS6pHVyJVXaLuBPE="
- secret_access_key:
- secure: "L3TXxQJZutXrXROf89dTiMuvcnsQ88F+cSqpddhafy4O3agyTMyJcHozizCaKI+VuJVZnUrip/joo4b85PSC8xjU4G7/lOIAoiSyQZU/f4RqUTFyl9ppTHQq2CyZKZy1qhqmBegRcWTy6TLV3JNXzKq+0fgl6/HekUMBuNX98yM="
- bucket: install.prediction.io
- region: us-east-1
- skip_cleanup: true
- acl: public_read
- endpoint: install.prediction.io.s3-website-us-east-1.amazonaws.com
- local-dir: bin
- detect_encoding: true
- on:
- branch: master
[16/50] [abbrv] incubator-predictionio git commit: Add TLS and simple
key-based auth to Dashboard and stop/restart endpoints
Posted by ap...@apache.org.
Add TLS and simple key-based auth to Dashboard and stop/restart
endpoints
Project: http://git-wip-us.apache.org/repos/asf/incubator-predictionio/repo
Commit: http://git-wip-us.apache.org/repos/asf/incubator-predictionio/commit/71266230
Tree: http://git-wip-us.apache.org/repos/asf/incubator-predictionio/tree/71266230
Diff: http://git-wip-us.apache.org/repos/asf/incubator-predictionio/diff/71266230
Branch: refs/heads/master
Commit: 7126623051450256ad9af26210bf4441dbd4469e
Parents: acd9e3f
Author: Yevgeny <yk...@salesforce.com>
Authored: Tue Mar 1 19:41:09 2016 -0800
Committer: Yevgeny <yk...@salesforce.com>
Committed: Tue Mar 1 19:42:44 2016 -0800
----------------------------------------------------------------------
common/build.sbt | 5 ++
common/src/main/resources/application.conf | 11 ++++
.../authentication/Authentication.scala | 50 ++++++++++++++++++
.../configuration/SSLConfiguration.scala | 52 +++++++++++++++++++
conf/keystore.jks | Bin 0 -> 2238 bytes
conf/server.conf | 9 ++++
core/src/main/resources/application.conf | 4 --
.../io/prediction/workflow/CreateServer.scala | 49 +++++++++++------
.../io/prediction/data/api/EventServer.scala | 3 +-
.../prediction/tools/dashboard/Dashboard.scala | 37 ++++++++-----
10 files changed, 185 insertions(+), 35 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/incubator-predictionio/blob/71266230/common/build.sbt
----------------------------------------------------------------------
diff --git a/common/build.sbt b/common/build.sbt
index 2ebc176..9bda9c5 100644
--- a/common/build.sbt
+++ b/common/build.sbt
@@ -13,3 +13,8 @@
// limitations under the License.
name := "common"
+libraryDependencies ++= Seq(
+ "io.spray" %% "spray-can" % "1.3.2",
+ "io.spray" %% "spray-routing" % "1.3.2",
+ "org.spark-project.akka" %% "akka-actor" % "2.3.4-spark"
+)
\ No newline at end of file
http://git-wip-us.apache.org/repos/asf/incubator-predictionio/blob/71266230/common/src/main/resources/application.conf
----------------------------------------------------------------------
diff --git a/common/src/main/resources/application.conf b/common/src/main/resources/application.conf
new file mode 100644
index 0000000..cccab96
--- /dev/null
+++ b/common/src/main/resources/application.conf
@@ -0,0 +1,11 @@
+akka {
+ log-config-on-start = false
+ loggers = ["akka.event.slf4j.Slf4jLogger"]
+ loglevel = "INFO"
+}
+
+spray.can {
+ server {
+ verbose-error-messages = "on"
+ }
+}
http://git-wip-us.apache.org/repos/asf/incubator-predictionio/blob/71266230/common/src/main/scala/io/prediction/authentication/Authentication.scala
----------------------------------------------------------------------
diff --git a/common/src/main/scala/io/prediction/authentication/Authentication.scala b/common/src/main/scala/io/prediction/authentication/Authentication.scala
new file mode 100644
index 0000000..8b33175
--- /dev/null
+++ b/common/src/main/scala/io/prediction/authentication/Authentication.scala
@@ -0,0 +1,50 @@
+package io.prediction.authentication
+
+/**
+ * Created by ykhodorkovsky on 3/1/16.
+ */
+package io.prediction.configuration
+
+/**
+ * This is a (very) simple authentication for the dashboard and engine servers
+ * It is highly recommended to implement a stonger authentication mechanism
+ */
+
+import java.io.File
+
+import com.typesafe.config.ConfigFactory
+
+import scala.concurrent.ExecutionContext.Implicits.global
+import spray.http.HttpRequest
+import spray.routing.{AuthenticationFailedRejection, RequestContext}
+import spray.routing.authentication._
+import spray.routing.directives.AuthMagnet
+import scala.concurrent.Future
+
+
+trait KeyAuthentication {
+
+ object ServerKey {
+ val serverConfig = ConfigFactory.parseFile(new File("conf/server.conf"))
+
+ val key = serverConfig.getString("server.accessKey")
+ def get: String = key
+ def param: String = "accessKey"
+ }
+
+ def withAccessKeyFromFile: RequestContext => Future[Authentication[HttpRequest]] = {
+ ctx: RequestContext =>
+ val accessKeyParamOpt = ctx.request.uri.query.get(ServerKey.param)
+ Future {
+
+ val passedKey = accessKeyParamOpt.getOrElse {
+ Left(AuthenticationFailedRejection(
+ AuthenticationFailedRejection.CredentialsRejected, List()))
+ }
+
+ if (passedKey.equals(ServerKey.get)) Right(ctx.request)
+ else Left(AuthenticationFailedRejection(AuthenticationFailedRejection.CredentialsRejected, List()))
+
+ }
+ }
+}
http://git-wip-us.apache.org/repos/asf/incubator-predictionio/blob/71266230/common/src/main/scala/io/prediction/configuration/SSLConfiguration.scala
----------------------------------------------------------------------
diff --git a/common/src/main/scala/io/prediction/configuration/SSLConfiguration.scala b/common/src/main/scala/io/prediction/configuration/SSLConfiguration.scala
new file mode 100644
index 0000000..63ed2ab
--- /dev/null
+++ b/common/src/main/scala/io/prediction/configuration/SSLConfiguration.scala
@@ -0,0 +1,52 @@
+package io.prediction.configuration
+
+/**
+ * Created by ykhodorkovsky on 2/26/16.
+ */
+
+import java.io.FileInputStream
+import java.io.File
+import java.security.KeyStore
+import javax.net.ssl.{KeyManagerFactory, SSLContext, TrustManagerFactory}
+
+import com.typesafe.config.ConfigFactory
+import spray.io.ServerSSLEngineProvider
+
+trait SSLConfiguration {
+
+ private val serverConfig = ConfigFactory.parseFile(new File("conf/server.conf"))
+
+ private val keyStoreResource = serverConfig.getString("server.ssl-keystore-resource")
+ private val password = serverConfig.getString("server.ssl-keystore-pass")
+ private val keyAlias = serverConfig.getString("server.ssl-key-alias")
+
+ private val keyStore = {
+
+ //Loading keystore from specified file
+ val clientStore = KeyStore.getInstance("JKS")
+ val inputStream = new FileInputStream(keyStoreResource)
+ clientStore.load(inputStream, password.toCharArray)
+ inputStream.close()
+ clientStore
+ }
+
+ //Creating SSL context
+ implicit def sslContext: SSLContext = {
+ val context = SSLContext.getInstance("TLS")
+ val tmf: TrustManagerFactory = TrustManagerFactory.getInstance(TrustManagerFactory.getDefaultAlgorithm)
+ val kmf: KeyManagerFactory = KeyManagerFactory.getInstance(KeyManagerFactory.getDefaultAlgorithm)
+ kmf.init(keyStore, password.toCharArray)
+ tmf.init(keyStore)
+ context.init(kmf.getKeyManagers, tmf.getTrustManagers, null)
+ context
+ }
+
+ //provide implicit SSLEngine with some protocols
+ implicit def sslEngineProvider: ServerSSLEngineProvider = {
+ ServerSSLEngineProvider { engine =>
+ engine.setEnabledCipherSuites(Array("TLS_RSA_WITH_AES_256_CBC_SHA", "TLS_ECDH_ECDSA_WITH_RC4_128_SHA", "TLS_RSA_WITH_AES_128_CBC_SHA"))
+ engine.setEnabledProtocols(Array("TLSv1", "TLSv1.2", "TLSv1.1"))
+ engine
+ }
+ }
+}
\ No newline at end of file
http://git-wip-us.apache.org/repos/asf/incubator-predictionio/blob/71266230/conf/keystore.jks
----------------------------------------------------------------------
diff --git a/conf/keystore.jks b/conf/keystore.jks
new file mode 100644
index 0000000..64ec17b
Binary files /dev/null and b/conf/keystore.jks differ
http://git-wip-us.apache.org/repos/asf/incubator-predictionio/blob/71266230/conf/server.conf
----------------------------------------------------------------------
diff --git a/conf/server.conf b/conf/server.conf
new file mode 100644
index 0000000..5a3bffe
--- /dev/null
+++ b/conf/server.conf
@@ -0,0 +1,9 @@
+# Engine and dashboard Server related configurations
+server {
+
+ accessKey = ""
+
+ ssl-keystore-resource = "conf/keystore.jks"
+ ssl-keystore-pass = "pioserver"
+ ssl-key-alias = "selfsigned"
+}
http://git-wip-us.apache.org/repos/asf/incubator-predictionio/blob/71266230/core/src/main/resources/application.conf
----------------------------------------------------------------------
diff --git a/core/src/main/resources/application.conf b/core/src/main/resources/application.conf
deleted file mode 100644
index 93dd8d4..0000000
--- a/core/src/main/resources/application.conf
+++ /dev/null
@@ -1,4 +0,0 @@
-akka {
- loggers = ["akka.event.slf4j.Slf4jLogger"]
- loglevel = "INFO"
-}
http://git-wip-us.apache.org/repos/asf/incubator-predictionio/blob/71266230/core/src/main/scala/io/prediction/workflow/CreateServer.scala
----------------------------------------------------------------------
diff --git a/core/src/main/scala/io/prediction/workflow/CreateServer.scala b/core/src/main/scala/io/prediction/workflow/CreateServer.scala
index 829c6b6..d5076ef 100644
--- a/core/src/main/scala/io/prediction/workflow/CreateServer.scala
+++ b/core/src/main/scala/io/prediction/workflow/CreateServer.scala
@@ -30,8 +30,11 @@ import com.twitter.bijection.Injection
import com.twitter.chill.KryoBase
import com.twitter.chill.KryoInjection
import com.twitter.chill.ScalaKryoInstantiator
+import com.typesafe.config.ConfigFactory
import de.javakaffee.kryoserializers.SynchronizedCollectionsSerializer
import grizzled.slf4j.Logging
+import io.prediction.authentication.io.prediction.configuration.KeyAuthentication
+import io.prediction.configuration.SSLConfiguration
import io.prediction.controller.Engine
import io.prediction.controller.Params
import io.prediction.controller.Utils
@@ -47,10 +50,12 @@ import org.json4s._
import org.json4s.native.JsonMethods._
import org.json4s.native.Serialization.write
import spray.can.Http
+import spray.can.server.ServerSettings
import spray.http.MediaTypes._
import spray.http._
import spray.httpx.Json4sSupport
import spray.routing._
+import spray.routing.authentication.{UserPass, BasicAuth}
import scala.concurrent.ExecutionContext.Implicits.global
import scala.concurrent.Future
@@ -60,6 +65,7 @@ import scala.language.existentials
import scala.util.Failure
import scala.util.Random
import scala.util.Success
+import scalaj.http.HttpOptions
class KryoInstantiator(classLoader: ClassLoader) extends ScalaKryoInstantiator {
override def newKryo(): KryoBase = {
@@ -103,6 +109,7 @@ case class StopServer()
case class ReloadServer()
case class UpgradeCheck()
+
object CreateServer extends Logging {
val actorSystem = ActorSystem("pio-server")
val engineInstances = Storage.getMetaDataEngineInstances
@@ -274,11 +281,11 @@ class UpgradeActor(engineClass: String) extends Actor {
}
}
-class MasterActor(
+class MasterActor (
sc: ServerConfig,
engineInstance: EngineInstance,
engineFactoryName: String,
- manifest: EngineManifest) extends Actor {
+ manifest: EngineManifest) extends Actor with SSLConfiguration with KeyAuthentication {
val log = Logging(context.system, this)
implicit val system = context.system
var sprayHttpListener: Option[ActorRef] = None
@@ -286,11 +293,11 @@ class MasterActor(
var retry = 3
def undeploy(ip: String, port: Int): Unit = {
- val serverUrl = s"http://${ip}:${port}"
+ val serverUrl = s"https://${ip}:${port}"
log.info(
s"Undeploying any existing engine instance at $serverUrl")
try {
- val code = scalaj.http.Http(s"$serverUrl/stop").asString.code
+ val code = scalaj.http.Http(s"$serverUrl/stop").option(HttpOptions.allowUnsafeSSL).param(ServerKey.param, ServerKey.get).method("POST").asString.code
code match {
case 200 => Unit
case 404 => log.error(
@@ -321,7 +328,8 @@ class MasterActor(
self ! BindServer()
case x: BindServer =>
currentServerActor map { actor =>
- IO(Http) ! Http.Bind(actor, interface = sc.ip, port = sc.port)
+ val settings = ServerSettings(system)
+ IO(Http) ! Http.Bind(actor, interface = sc.ip, port = sc.port, settings = Some(settings.copy(sslEncryption = true)))
} getOrElse {
log.error("Cannot bind a non-existing server backend.")
}
@@ -345,7 +353,8 @@ class MasterActor(
val actor = createServerActor(sc, lr, engineFactoryName, manifest)
sprayHttpListener.map { l =>
l ! Http.Unbind(5.seconds)
- IO(Http) ! Http.Bind(actor, interface = sc.ip, port = sc.port)
+ val settings = ServerSettings(system)
+ IO(Http) ! Http.Bind(actor, interface = sc.ip, port = sc.port, settings = Some(settings.copy(sslEncryption = true)))
currentServerActor.get ! Kill
currentServerActor = Some(actor)
} getOrElse {
@@ -357,7 +366,7 @@ class MasterActor(
s"${manifest.version}. Abort reloading.")
}
case x: Http.Bound =>
- val serverUrl = s"http://${sc.ip}:${sc.port}"
+ val serverUrl = s"https://${sc.ip}:${sc.port}"
log.info(s"Engine is deployed and running. Engine API is live at ${serverUrl}.")
sprayHttpListener = Some(sender)
case x: Http.CommandFailed =>
@@ -411,7 +420,7 @@ class ServerActor[Q, P](
val algorithmsParams: Seq[Params],
val models: Seq[Any],
val serving: BaseServing[Q, P],
- val servingParams: Params) extends Actor with HttpService {
+ val servingParams: Params) extends Actor with HttpService with KeyAuthentication {
val serverStartTime = DateTime.now
val log = Logging(context.system, this)
@@ -458,6 +467,8 @@ class ServerActor[Q, P](
writer.toString
}
+ private def getUser(up :UserPass) : String = up.user
+
val myRoute =
path("") {
get {
@@ -641,20 +652,24 @@ class ServerActor[Q, P](
}
} ~
path("reload") {
- get {
- complete {
- context.actorSelection("/user/master") ! ReloadServer()
- "Reloading..."
+ authenticate(withAccessKeyFromFile) { request =>
+ post {
+ complete {
+ context.actorSelection("/user/master") ! ReloadServer()
+ "Reloading..."
+ }
}
}
} ~
path("stop") {
- get {
- complete {
- context.system.scheduler.scheduleOnce(1.seconds) {
- context.actorSelection("/user/master") ! StopServer()
+ authenticate(withAccessKeyFromFile) { request =>
+ post {
+ complete {
+ context.system.scheduler.scheduleOnce(1.seconds) {
+ context.actorSelection("/user/master") ! StopServer()
+ }
+ "Shutting down..."
}
- "Shutting down..."
}
}
} ~
http://git-wip-us.apache.org/repos/asf/incubator-predictionio/blob/71266230/data/src/main/scala/io/prediction/data/api/EventServer.scala
----------------------------------------------------------------------
diff --git a/data/src/main/scala/io/prediction/data/api/EventServer.scala b/data/src/main/scala/io/prediction/data/api/EventServer.scala
index 0ebc279..0b8f358 100644
--- a/data/src/main/scala/io/prediction/data/api/EventServer.scala
+++ b/data/src/main/scala/io/prediction/data/api/EventServer.scala
@@ -33,6 +33,7 @@ import io.prediction.data.storage.EventJson4sSupport
import io.prediction.data.storage.BatchEventsJson4sSupport
import io.prediction.data.storage.LEvents
import io.prediction.data.storage.Storage
+import io.prediction.configuration.SSLConfiguration
import org.json4s.DefaultFormats
import org.json4s.Formats
import org.json4s.JObject
@@ -556,7 +557,7 @@ class EventServerActor(
val eventClient: LEvents,
val accessKeysClient: AccessKeys,
val channelsClient: Channels,
- val config: EventServerConfig) extends Actor {
+ val config: EventServerConfig) extends Actor with SSLConfiguration {
val log = Logging(context.system, this)
val child = context.actorOf(
Props(classOf[EventServiceActor],
http://git-wip-us.apache.org/repos/asf/incubator-predictionio/blob/71266230/tools/src/main/scala/io/prediction/tools/dashboard/Dashboard.scala
----------------------------------------------------------------------
diff --git a/tools/src/main/scala/io/prediction/tools/dashboard/Dashboard.scala b/tools/src/main/scala/io/prediction/tools/dashboard/Dashboard.scala
index 30fdbd2..f79f310 100644
--- a/tools/src/main/scala/io/prediction/tools/dashboard/Dashboard.scala
+++ b/tools/src/main/scala/io/prediction/tools/dashboard/Dashboard.scala
@@ -15,8 +15,13 @@
package io.prediction.tools.dashboard
+import com.typesafe.config.ConfigFactory
+import io.prediction.authentication.io.prediction.configuration.KeyAuthentication
+import io.prediction.configuration.SSLConfiguration
import io.prediction.data.storage.Storage
-
+import spray.can.server.ServerSettings
+import spray.routing.directives.AuthMagnet
+import scala.concurrent.{Future, ExecutionContext}
import akka.actor.{ActorContext, Actor, ActorSystem, Props}
import akka.io.IO
import akka.pattern.ask
@@ -27,6 +32,7 @@ import spray.can.Http
import spray.http._
import spray.http.MediaTypes._
import spray.routing._
+import spray.routing.authentication.{Authentication, UserPass, BasicAuth}
import scala.concurrent.duration._
@@ -34,7 +40,7 @@ case class DashboardConfig(
ip: String = "localhost",
port: Int = 9000)
-object Dashboard extends Logging {
+object Dashboard extends Logging with SSLConfiguration{
def main(args: Array[String]): Unit = {
val parser = new scopt.OptionParser[DashboardConfig]("Dashboard") {
opt[String]("ip") action { (x, c) =>
@@ -55,7 +61,8 @@ object Dashboard extends Logging {
val service =
system.actorOf(Props(classOf[DashboardActor], dc), "dashboard")
implicit val timeout = Timeout(5.seconds)
- IO(Http) ? Http.Bind(service, interface = dc.ip, port = dc.port)
+ val settings = ServerSettings(system)
+ IO(Http) ? Http.Bind(service, interface = dc.ip, port = dc.port, settings = Some(settings.copy(sslEncryption = true)))
system.awaitTermination
}
}
@@ -67,22 +74,26 @@ class DashboardActor(
def receive: Actor.Receive = runRoute(dashboardRoute)
}
-trait DashboardService extends HttpService with CORSSupport {
+trait DashboardService extends HttpService with KeyAuthentication with CORSSupport {
+
+ implicit def executionContext: ExecutionContext = actorRefFactory.dispatcher
val dc: DashboardConfig
val evaluationInstances = Storage.getMetaDataEvaluationInstances
val pioEnvVars = sys.env.filter(kv => kv._1.startsWith("PIO_"))
val serverStartTime = DateTime.now
val dashboardRoute =
path("") {
- get {
- respondWithMediaType(`text/html`) {
- complete {
- val completedInstances = evaluationInstances.getCompleted
- html.index(
- dc,
- serverStartTime,
- pioEnvVars,
- completedInstances).toString
+ authenticate(withAccessKeyFromFile) { request =>
+ get {
+ respondWithMediaType(`text/html`) {
+ complete {
+ val completedInstances = evaluationInstances.getCompleted
+ html.index(
+ dc,
+ serverStartTime,
+ pioEnvVars,
+ completedInstances).toString
+ }
}
}
}
[15/50] [abbrv] incubator-predictionio git commit: Updates
Posted by ap...@apache.org.
Updates
Project: http://git-wip-us.apache.org/repos/asf/incubator-predictionio/repo
Commit: http://git-wip-us.apache.org/repos/asf/incubator-predictionio/commit/de5aff6a
Tree: http://git-wip-us.apache.org/repos/asf/incubator-predictionio/tree/de5aff6a
Diff: http://git-wip-us.apache.org/repos/asf/incubator-predictionio/diff/de5aff6a
Branch: refs/heads/master
Commit: de5aff6ad23a0b0f8af591c96b8dfbdd49046604
Parents: bffd72f
Author: Donald Szeto <do...@prediction.io>
Authored: Mon Feb 29 15:03:00 2016 -0800
Committer: Donald Szeto <do...@prediction.io>
Committed: Mon Feb 29 15:03:00 2016 -0800
----------------------------------------------------------------------
docs/manual/data/nav/main.yml | 3 --
docs/manual/source/logo/index.html.md | 56 ----------------------
docs/manual/source/partials/_header.html.slim | 6 +--
docs/manual/source/support/index.html.md.erb | 5 +-
4 files changed, 2 insertions(+), 68 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/incubator-predictionio/blob/de5aff6a/docs/manual/data/nav/main.yml
----------------------------------------------------------------------
diff --git a/docs/manual/data/nav/main.yml b/docs/manual/data/nav/main.yml
index 6ad4ad2..05895d6 100644
--- a/docs/manual/data/nav/main.yml
+++ b/docs/manual/data/nav/main.yml
@@ -228,8 +228,5 @@ root:
body: 'Upgrade Instructions'
url: '/resources/upgrade/'
-
- body: 'Download Logos'
- url: '/logo/'
- -
body: 'Glossary'
url: '/resources/glossary/'
http://git-wip-us.apache.org/repos/asf/incubator-predictionio/blob/de5aff6a/docs/manual/source/logo/index.html.md
----------------------------------------------------------------------
diff --git a/docs/manual/source/logo/index.html.md b/docs/manual/source/logo/index.html.md
deleted file mode 100644
index 85836ff..0000000
--- a/docs/manual/source/logo/index.html.md
+++ /dev/null
@@ -1,56 +0,0 @@
----
-title: PredictionIO Logos
-description: Download PredictionIO logo in .png, .eps, and .svg.
----
-
-<div id="logo-frog">
- <h2>Frog Only</h2>
- <h4>Light Background</h4>
- <img src="/images/logos/downloads/frog-light-background.png" class="static" alt="Frog" />
- <p>
- <a href="/images/logos/downloads/frog-light-background.png">Download PNG</a><br />
- <a href="/images/logos/downloads/frog-light-background.eps">Download EPS</a><br />
- <a href="/images/logos/downloads/frog-light-background.svg">Download SVG</a>
- </p>
-
- <h4>Dark Background</h4>
- <div class="logo-dark">
- <img src="/images/logos/downloads/frog-dark-background.png" class="static" alt="Frog" />
- </div>
- <p>
- <a href="/images/logos/downloads/frog-dark-background.png">Download PNG</a><br />
- <a href="/images/logos/downloads/frog-dark-background.eps">Download EPS</a><br />
- <a href="/images/logos/downloads/frog-dark-background.svg">Download SVG</a>
- </p>
-</div>
-
-<div id="logo-banner">
- <h2>Banner</h2>
- <h4>Light Background</h4>
- <img src="/images/logos/downloads/banner-light-background.png" class="static" alt="Banner" />
- <p>
- <a href="/images/logos/downloads/banner-light-background.png">Download PNG</a><br />
- <a href="/images/logos/downloads/banner-light-background.eps">Download EPS</a><br />
- <a href="/images/logos/downloads/banner-light-background.svg">Download SVG</a>
- </p>
-
- <h4>Dark Background</h4>
- <div class="logo-dark">
- <img src="/images/logos/downloads/banner-dark-background.png" class="static" alt="Banner" />
- </div>
- <p>
- <a href="/images/logos/downloads/banner-dark-background.png">Download PNG</a><br />
- <a href="/images/logos/downloads/banner-dark-background.eps">Download EPS</a><br />
- <a href="/images/logos/downloads/banner-dark-background.svg">Download SVG</a>
- </p>
-</div>
-
-<div id="logo-download">
- <h2>Sketch File</h2>
- <p>
- <img src="/images/icons/sketch-64.png" alt="Sketch 3" class="static" />
- </p>
- <p>
- <a href="/images/logos/downloads/predictionio-logo.sketch">Download Sketch File</a>
- </p>
-</div>
http://git-wip-us.apache.org/repos/asf/incubator-predictionio/blob/de5aff6a/docs/manual/source/partials/_header.html.slim
----------------------------------------------------------------------
diff --git a/docs/manual/source/partials/_header.html.slim b/docs/manual/source/partials/_header.html.slim
index 3313f90..0212098 100644
--- a/docs/manual/source/partials/_header.html.slim
+++ b/docs/manual/source/partials/_header.html.slim
@@ -10,13 +10,9 @@ header
#menu-wrapper
#header-nav-options-wrapper
ul
- li>: a href="//prediction.io/whatispredictionio" About
li>: a href="/" Install & Doc
- li>: a href="//blog.prediction.io/category/usecase/" Use Cases
- li>: a href="//templates.prediction.io/" Templates
li>: a href="/support" Support
#pill-wrapper
- a.pill.left> href="//prediction.io/enterprise" ENTERPRISE
+ a.pill.left> href="//templates.prediction.io/" TEMPLATES
a.pill.right href="//github.com/PredictionIO/PredictionIO/" OPEN SOURCE
= image_tag 'icons/search-glass.png', class: 'mobile-search-bar-toggler hidden-md hidden-lg'
-
http://git-wip-us.apache.org/repos/asf/incubator-predictionio/blob/de5aff6a/docs/manual/source/support/index.html.md.erb
----------------------------------------------------------------------
diff --git a/docs/manual/source/support/index.html.md.erb b/docs/manual/source/support/index.html.md.erb
index 6520873..6ef45a8 100644
--- a/docs/manual/source/support/index.html.md.erb
+++ b/docs/manual/source/support/index.html.md.erb
@@ -18,7 +18,4 @@ If you are a contributor, we have a dedicated forum for you:
## Enterprise Support
-For enterprise users who require professional support, you may contact us:
-
-* [PredictionIO Enterprise Support and Services](http://prediction.io/enterprise)
-* <a href="mailto:contact@actionml.com">contact@actionml.com</a>
+For enterprise users who require professional support, you may contact <a href="mailto:contact@actionml.com">contact@actionml.com</a>
[41/50] [abbrv] incubator-predictionio git commit: Merge pull request
#205 from HyukjinKwon/ISSUE-203-cases
Posted by ap...@apache.org.
Merge pull request #205 from HyukjinKwon/ISSUE-203-cases
Mixed usage of case class and class with serializable interface.
Project: http://git-wip-us.apache.org/repos/asf/incubator-predictionio/repo
Commit: http://git-wip-us.apache.org/repos/asf/incubator-predictionio/commit/362b77da
Tree: http://git-wip-us.apache.org/repos/asf/incubator-predictionio/tree/362b77da
Diff: http://git-wip-us.apache.org/repos/asf/incubator-predictionio/diff/362b77da
Branch: refs/heads/master
Commit: 362b77da4e5787fc73c2fb8492eb54676f8cff8f
Parents: e874738 a1461c1
Author: Justin Yip <yi...@gmail.com>
Authored: Tue Mar 29 14:05:47 2016 -0700
Committer: Justin Yip <yi...@gmail.com>
Committed: Tue Mar 29 14:05:47 2016 -0700
----------------------------------------------------------------------
.../scala-local-regression/Run.scala | 3 +-
.../src/main/scala/DataSource.scala | 2 +-
.../src/main/scala/Engine.scala | 6 +--
.../src/main/scala/Engine.scala | 6 +--
.../src/main/scala/Serving.scala | 3 +-
.../src/main/scala/Engine.scala | 6 +--
.../src/main/scala/Serving.scala | 3 +-
.../src/main/scala/Engine.scala | 6 +--
.../src/main/scala/Engine.scala | 6 +--
.../src/main/scala/Serving.scala | 3 +-
.../src/main/scala/Engine.scala | 6 +--
.../src/main/scala/Serving.scala | 3 +-
.../src/main/scala/Engine.scala | 6 +--
.../src/main/scala/Serving.scala | 3 +-
.../src/main/scala/Engine.scala | 6 +--
.../src/main/scala/Serving.scala | 3 +-
.../src/main/scala/BackTestingMetrics.scala | 28 ++++++-------
.../scala-stock/src/main/scala/Data.scala | 13 +++---
.../src/main/scala/YahooDataSource.scala | 42 ++++++++++----------
.../src/main/scala/Engine.scala | 6 +--
.../weighted-items/src/main/scala/Engine.scala | 6 +--
.../src/main/scala/Engine.scala | 6 +--
.../src/main/scala/Serving.scala | 3 +-
.../custom-query/src/main/scala/Engine.scala | 4 +-
.../custom-serving/src/main/scala/Engine.scala | 6 +--
.../src/main/scala/Preparator.scala | 6 +--
.../src/main/scala/DataSource.scala | 8 ++--
.../src/main/scala/Engine.scala | 6 +--
.../src/main/scala/DataSource.scala | 2 +-
.../src/main/scala/Engine.scala | 6 +--
.../src/main/scala/DataSource.scala | 10 ++---
.../add-rateevent/src/main/scala/Engine.scala | 6 +--
.../filterbyyear/src/main/scala/Engine.scala | 6 +--
.../filterbyyear/src/main/scala/Serving.scala | 3 +-
.../multi/src/main/scala/Engine.scala | 6 +--
.../multi/src/main/scala/Serving.scala | 3 +-
.../no-set-user/src/main/scala/Engine.scala | 6 +--
.../no-set-user/src/main/scala/Serving.scala | 3 +-
.../src/main/scala/Engine.scala | 6 +--
39 files changed, 124 insertions(+), 138 deletions(-)
----------------------------------------------------------------------
[07/50] [abbrv] incubator-predictionio git commit: Revert "confirm
delete existing tmp file before download"
Posted by ap...@apache.org.
Revert "confirm delete existing tmp file before download"
This reverts commit e38e9aa7cfad811bd604b9494a361f0331b206de.
Conflicts:
bin/install.sh
Project: http://git-wip-us.apache.org/repos/asf/incubator-predictionio/repo
Commit: http://git-wip-us.apache.org/repos/asf/incubator-predictionio/commit/e9daed3f
Tree: http://git-wip-us.apache.org/repos/asf/incubator-predictionio/tree/e9daed3f
Diff: http://git-wip-us.apache.org/repos/asf/incubator-predictionio/diff/e9daed3f
Branch: refs/heads/master
Commit: e9daed3f31be7d3c2e91bfb0801d0b41a29310f0
Parents: 9374f20
Author: Donald Szeto <do...@prediction.io>
Authored: Thu Jan 28 17:47:26 2016 -0800
Committer: Donald Szeto <do...@prediction.io>
Committed: Thu Jan 28 17:47:26 2016 -0800
----------------------------------------------------------------------
bin/install.sh | 8 --------
1 file changed, 8 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/incubator-predictionio/blob/e9daed3f/bin/install.sh
----------------------------------------------------------------------
diff --git a/bin/install.sh b/bin/install.sh
index 73de6fd..298f45f 100755
--- a/bin/install.sh
+++ b/bin/install.sh
@@ -273,14 +273,6 @@ echo "JAVA_HOME is now set to: $JAVA_HOME"
# PredictionIO
echo -e "\033[1;36mStarting PredictionIO setup in:\033[0m $pio_dir"
cd ${TEMP_DIR}
-
-# delete existing tmp file before download again
-if [[ -e ${PIO_FILE} ]]; then
- if confirm "Delete existing temporary file?"; then
- rm ${PIO_FILE}
- fi
-fi
-
if [[ ! -e ${PIO_FILE} ]]; then
echo "Downloading PredictionIO..."
curl -O https://d8k1yxp8elc6b.cloudfront.net/${PIO_FILE}
[40/50] [abbrv] incubator-predictionio git commit: Remove useless val
in case classes
Posted by ap...@apache.org.
Remove useless val in case classes
Project: http://git-wip-us.apache.org/repos/asf/incubator-predictionio/repo
Commit: http://git-wip-us.apache.org/repos/asf/incubator-predictionio/commit/a1461c10
Tree: http://git-wip-us.apache.org/repos/asf/incubator-predictionio/tree/a1461c10
Diff: http://git-wip-us.apache.org/repos/asf/incubator-predictionio/diff/a1461c10
Branch: refs/heads/master
Commit: a1461c10402ddc32f0e7c545eb48f9e969cce850
Parents: 12771fa
Author: Hyukjin Kwon <gu...@gmail.com>
Authored: Tue Mar 29 12:51:01 2016 +0900
Committer: Hyukjin Kwon <gu...@gmail.com>
Committed: Tue Mar 29 12:51:01 2016 +0900
----------------------------------------------------------------------
examples/experimental/scala-stock/src/main/scala/Data.scala | 6 +++---
1 file changed, 3 insertions(+), 3 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/incubator-predictionio/blob/a1461c10/examples/experimental/scala-stock/src/main/scala/Data.scala
----------------------------------------------------------------------
diff --git a/examples/experimental/scala-stock/src/main/scala/Data.scala b/examples/experimental/scala-stock/src/main/scala/Data.scala
index 5f1d144..a57ef28 100644
--- a/examples/experimental/scala-stock/src/main/scala/Data.scala
+++ b/examples/experimental/scala-stock/src/main/scala/Data.scala
@@ -72,9 +72,9 @@ case class DataView(val rawData: RawData, val idx: Int, val maxWindowSize: Int)
// Training data visible to the user is [untilIdx - windowSize, untilIdx).
case class TrainingData(
- val untilIdx: Int,
- val maxWindowSize: Int,
- val rawDataB: Broadcast[RawData]) {
+ untilIdx: Int,
+ maxWindowSize: Int,
+ rawDataB: Broadcast[RawData]) {
def view(): DataView = DataView(rawDataB.value, untilIdx - 1, maxWindowSize)
}
[17/50] [abbrv] incubator-predictionio git commit: Fix package
mistype and add comments in server.conf
Posted by ap...@apache.org.
Fix package mistype and add comments in server.conf
Project: http://git-wip-us.apache.org/repos/asf/incubator-predictionio/repo
Commit: http://git-wip-us.apache.org/repos/asf/incubator-predictionio/commit/b8297c93
Tree: http://git-wip-us.apache.org/repos/asf/incubator-predictionio/tree/b8297c93
Diff: http://git-wip-us.apache.org/repos/asf/incubator-predictionio/diff/b8297c93
Branch: refs/heads/master
Commit: b8297c9300c5854543caf551f223710858d7f198
Parents: 7126623
Author: Yevgeny <yk...@salesforce.com>
Authored: Wed Mar 2 09:16:06 2016 -0800
Committer: Yevgeny <yk...@salesforce.com>
Committed: Wed Mar 2 09:16:06 2016 -0800
----------------------------------------------------------------------
.../authentication/Authentication.scala | 50 --------------------
.../authentication/KeyAuthentication.scala | 45 ++++++++++++++++++
conf/server.conf | 4 ++
.../io/prediction/workflow/CreateServer.scala | 2 +-
.../prediction/tools/dashboard/Dashboard.scala | 2 +-
5 files changed, 51 insertions(+), 52 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/incubator-predictionio/blob/b8297c93/common/src/main/scala/io/prediction/authentication/Authentication.scala
----------------------------------------------------------------------
diff --git a/common/src/main/scala/io/prediction/authentication/Authentication.scala b/common/src/main/scala/io/prediction/authentication/Authentication.scala
deleted file mode 100644
index 8b33175..0000000
--- a/common/src/main/scala/io/prediction/authentication/Authentication.scala
+++ /dev/null
@@ -1,50 +0,0 @@
-package io.prediction.authentication
-
-/**
- * Created by ykhodorkovsky on 3/1/16.
- */
-package io.prediction.configuration
-
-/**
- * This is a (very) simple authentication for the dashboard and engine servers
- * It is highly recommended to implement a stonger authentication mechanism
- */
-
-import java.io.File
-
-import com.typesafe.config.ConfigFactory
-
-import scala.concurrent.ExecutionContext.Implicits.global
-import spray.http.HttpRequest
-import spray.routing.{AuthenticationFailedRejection, RequestContext}
-import spray.routing.authentication._
-import spray.routing.directives.AuthMagnet
-import scala.concurrent.Future
-
-
-trait KeyAuthentication {
-
- object ServerKey {
- val serverConfig = ConfigFactory.parseFile(new File("conf/server.conf"))
-
- val key = serverConfig.getString("server.accessKey")
- def get: String = key
- def param: String = "accessKey"
- }
-
- def withAccessKeyFromFile: RequestContext => Future[Authentication[HttpRequest]] = {
- ctx: RequestContext =>
- val accessKeyParamOpt = ctx.request.uri.query.get(ServerKey.param)
- Future {
-
- val passedKey = accessKeyParamOpt.getOrElse {
- Left(AuthenticationFailedRejection(
- AuthenticationFailedRejection.CredentialsRejected, List()))
- }
-
- if (passedKey.equals(ServerKey.get)) Right(ctx.request)
- else Left(AuthenticationFailedRejection(AuthenticationFailedRejection.CredentialsRejected, List()))
-
- }
- }
-}
http://git-wip-us.apache.org/repos/asf/incubator-predictionio/blob/b8297c93/common/src/main/scala/io/prediction/authentication/KeyAuthentication.scala
----------------------------------------------------------------------
diff --git a/common/src/main/scala/io/prediction/authentication/KeyAuthentication.scala b/common/src/main/scala/io/prediction/authentication/KeyAuthentication.scala
new file mode 100644
index 0000000..86beb44
--- /dev/null
+++ b/common/src/main/scala/io/prediction/authentication/KeyAuthentication.scala
@@ -0,0 +1,45 @@
+package io.prediction.authentication
+
+/**
+ * This is a (very) simple authentication for the dashboard and engine servers
+ * It is highly recommended to implement a stonger authentication mechanism
+ */
+
+import java.io.File
+
+import com.typesafe.config.ConfigFactory
+
+import scala.concurrent.ExecutionContext.Implicits.global
+import spray.http.HttpRequest
+import spray.routing.{AuthenticationFailedRejection, RequestContext}
+import spray.routing.authentication._
+import spray.routing.directives.AuthMagnet
+import scala.concurrent.Future
+
+
+trait KeyAuthentication {
+
+ object ServerKey {
+ val serverConfig = ConfigFactory.parseFile(new File("conf/server.conf"))
+
+ val key = serverConfig.getString("server.accessKey")
+ def get: String = key
+ def param: String = "accessKey"
+ }
+
+ def withAccessKeyFromFile: RequestContext => Future[Authentication[HttpRequest]] = {
+ ctx: RequestContext =>
+ val accessKeyParamOpt = ctx.request.uri.query.get(ServerKey.param)
+ Future {
+
+ val passedKey = accessKeyParamOpt.getOrElse {
+ Left(AuthenticationFailedRejection(
+ AuthenticationFailedRejection.CredentialsRejected, List()))
+ }
+
+ if (passedKey.equals(ServerKey.get)) Right(ctx.request)
+ else Left(AuthenticationFailedRejection(AuthenticationFailedRejection.CredentialsRejected, List()))
+
+ }
+ }
+}
http://git-wip-us.apache.org/repos/asf/incubator-predictionio/blob/b8297c93/conf/server.conf
----------------------------------------------------------------------
diff --git a/conf/server.conf b/conf/server.conf
index 5a3bffe..3963b62 100644
--- a/conf/server.conf
+++ b/conf/server.conf
@@ -1,8 +1,12 @@
# Engine and dashboard Server related configurations
server {
+ # This access key is used by io.prediction.authentication.KeyAuthentication
+ # to authenticate Evalutaion Dashboard, and Engine Server /stop and /reload enpoints
+ # Should be passed as a query string param
accessKey = ""
+ # configs used by io.prediction.configuration.SSLConfiguration
ssl-keystore-resource = "conf/keystore.jks"
ssl-keystore-pass = "pioserver"
ssl-key-alias = "selfsigned"
http://git-wip-us.apache.org/repos/asf/incubator-predictionio/blob/b8297c93/core/src/main/scala/io/prediction/workflow/CreateServer.scala
----------------------------------------------------------------------
diff --git a/core/src/main/scala/io/prediction/workflow/CreateServer.scala b/core/src/main/scala/io/prediction/workflow/CreateServer.scala
index d5076ef..341b96a 100644
--- a/core/src/main/scala/io/prediction/workflow/CreateServer.scala
+++ b/core/src/main/scala/io/prediction/workflow/CreateServer.scala
@@ -33,7 +33,7 @@ import com.twitter.chill.ScalaKryoInstantiator
import com.typesafe.config.ConfigFactory
import de.javakaffee.kryoserializers.SynchronizedCollectionsSerializer
import grizzled.slf4j.Logging
-import io.prediction.authentication.io.prediction.configuration.KeyAuthentication
+import io.prediction.authentication.KeyAuthentication
import io.prediction.configuration.SSLConfiguration
import io.prediction.controller.Engine
import io.prediction.controller.Params
http://git-wip-us.apache.org/repos/asf/incubator-predictionio/blob/b8297c93/tools/src/main/scala/io/prediction/tools/dashboard/Dashboard.scala
----------------------------------------------------------------------
diff --git a/tools/src/main/scala/io/prediction/tools/dashboard/Dashboard.scala b/tools/src/main/scala/io/prediction/tools/dashboard/Dashboard.scala
index f79f310..48e23d1 100644
--- a/tools/src/main/scala/io/prediction/tools/dashboard/Dashboard.scala
+++ b/tools/src/main/scala/io/prediction/tools/dashboard/Dashboard.scala
@@ -16,7 +16,7 @@
package io.prediction.tools.dashboard
import com.typesafe.config.ConfigFactory
-import io.prediction.authentication.io.prediction.configuration.KeyAuthentication
+import io.prediction.authentication.KeyAuthentication
import io.prediction.configuration.SSLConfiguration
import io.prediction.data.storage.Storage
import spray.can.server.ServerSettings
[35/50] [abbrv] incubator-predictionio git commit: Upgrade nokogiri
Posted by ap...@apache.org.
Upgrade nokogiri
Project: http://git-wip-us.apache.org/repos/asf/incubator-predictionio/repo
Commit: http://git-wip-us.apache.org/repos/asf/incubator-predictionio/commit/8a68d5bd
Tree: http://git-wip-us.apache.org/repos/asf/incubator-predictionio/tree/8a68d5bd
Diff: http://git-wip-us.apache.org/repos/asf/incubator-predictionio/diff/8a68d5bd
Branch: refs/heads/master
Commit: 8a68d5bd19491d6b3ec277119f09f7b220d2f3ce
Parents: 8fb3c6f
Author: Donald Szeto <do...@prediction.io>
Authored: Mon Mar 28 17:16:04 2016 -0700
Committer: Donald Szeto <do...@prediction.io>
Committed: Mon Mar 28 17:16:04 2016 -0700
----------------------------------------------------------------------
docs/manual/Gemfile | 2 +-
docs/manual/Gemfile.lock | 9 +++++---
docs/manual/data/nav/main.yml | 3 ---
docs/manual/source/index.html.md.erb | 38 +++++++++++++++++++++----------
4 files changed, 33 insertions(+), 19 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/incubator-predictionio/blob/8a68d5bd/docs/manual/Gemfile
----------------------------------------------------------------------
diff --git a/docs/manual/Gemfile b/docs/manual/Gemfile
index 8494ccd..2a20508 100644
--- a/docs/manual/Gemfile
+++ b/docs/manual/Gemfile
@@ -1,5 +1,5 @@
source 'https://rubygems.org'
-ruby '2.2.0'
+ruby '2.2.1'
gem 'middleman', '~> 3.3.10'
gem 'middleman-livereload', '~> 3.4.2'
http://git-wip-us.apache.org/repos/asf/incubator-predictionio/blob/8a68d5bd/docs/manual/Gemfile.lock
----------------------------------------------------------------------
diff --git a/docs/manual/Gemfile.lock b/docs/manual/Gemfile.lock
index bde1138..7f8b018 100644
--- a/docs/manual/Gemfile.lock
+++ b/docs/manual/Gemfile.lock
@@ -152,7 +152,7 @@ GEM
middleman-core (~> 3.2)
rouge (~> 1.0)
mime-types (2.4.3)
- mini_portile (0.6.2)
+ mini_portile2 (2.0.0)
minitest (5.6.0)
multi_json (1.11.0)
multipart-post (2.0.0)
@@ -161,8 +161,8 @@ GEM
net-scp (1.2.1)
net-ssh (>= 2.6.5)
net-ssh (2.9.2)
- nokogiri (1.6.6.2)
- mini_portile (~> 0.6.0)
+ nokogiri (1.6.7.2)
+ mini_portile2 (~> 2.0.0.rc2)
oj (2.12.2)
padrino-helpers (0.12.5)
i18n (~> 0.6, >= 0.6.7)
@@ -260,3 +260,6 @@ DEPENDENCIES
travis
tzinfo-data
wdm (~> 0.1.0)
+
+BUNDLED WITH
+ 1.11.2
http://git-wip-us.apache.org/repos/asf/incubator-predictionio/blob/8a68d5bd/docs/manual/data/nav/main.yml
----------------------------------------------------------------------
diff --git a/docs/manual/data/nav/main.yml b/docs/manual/data/nav/main.yml
index 05895d6..4c26ee2 100644
--- a/docs/manual/data/nav/main.yml
+++ b/docs/manual/data/nav/main.yml
@@ -6,9 +6,6 @@ root:
-
body: 'Welcome to PredictionIO'
url: '/'
- -
- body: 'Release Notes'
- url: '/release-notes/'
-
body: 'Getting Started'
url: '#'
http://git-wip-us.apache.org/repos/asf/incubator-predictionio/blob/8a68d5bd/docs/manual/source/index.html.md.erb
----------------------------------------------------------------------
diff --git a/docs/manual/source/index.html.md.erb b/docs/manual/source/index.html.md.erb
index 3370443..2b52143 100644
--- a/docs/manual/source/index.html.md.erb
+++ b/docs/manual/source/index.html.md.erb
@@ -1,29 +1,39 @@
---
-title: Welcome to PredictionIO!
+title: Welcome to PredictionIO!
description: PredictionIO Open Source Machine Learning Server
---
## What is PredictionIO?
-PredictionIO is an **open source Machine Learning Server** built on top of state-of-the-art open source stack for developers and data scientists create predictive engines for any machine learning task. It lets you:
+PredictionIO is an **open source Machine Learning Server** built on top of
+state-of-the-art open source stack for developers and data scientists create
+predictive engines for any machine learning task. It lets you:
-* quickly build and deploy an engine as a web service on production with [customizable templates](http://templates.prediction.io);
+* quickly build and deploy an engine as a web service on production with
+ [customizable templates](http://templates.prediction.io);
* respond to dynamic queries in **real-time** once deployed as a web service;
* evaluate and tune multiple engine variants systematically;
-* unify data from multiple platforms in batch or in real-time for comprehensive predictive analytics;
-* speed up machine learning modeling with systematic processes and pre-built evaluation measures;
-* support machine learning and data processing libraries such as Spark MLLib and OpenNLP;
-* implement your own machine learning models and seamlessly incorporate them into your engine;
+* unify data from multiple platforms in batch or in real-time for comprehensive
+ predictive analytics;
+* speed up machine learning modeling with systematic processes and pre-built
+ evaluation measures;
+* support machine learning and data processing libraries such as Spark MLLib and
+ OpenNLP;
+* implement your own machine learning models and seamlessly incorporate them
+ into your engine;
* simplify data infrastructure management.
-PredictionIO can be [installed](https://docs.prediction.io/install/) as a full machine learning stack, bundled with **Apache Spark**, **MLlib**, **HBase**, **Spray** and **Elasticsearch**, which simplifies and accelerates scalable machine learning infrastructure management.
+PredictionIO can be [installed](https://docs.prediction.io/install/) as a full
+machine learning stack, bundled with **Apache Spark**, **MLlib**, **HBase**,
+**Spray** and **Elasticsearch**, which simplifies and accelerates scalable
+machine learning infrastructure management.
| Getting Started | Developer Guides | ML Education and Usage | PredictionIO SDKs |
| --------------- | ---------------- | ---------------------- | ----------------- |
| [Quick Intro](/start/) | [System Architecture](/system/) | [Comics Recommendation](/demo/tapster/) | [Java](/sdk/java/) |
| [Installation Guide](/install/) | [Event Server Overview](/datacollection/) | [Text Classification](/demo/textclassification/) | [PHP](/sdk/php/) |
| [Downloading Template](/start/download/) | [Collecting Data](/datacollection/eventapi/) | [Community Contributed Demo](/demo/community/) | [Python](/sdk/python/) |
-| [Deploying an Engine](/start/deploy/) | [Learning DASE](/customize/) |[Dimensionality Reduction](/machinelearning/dimensionalityreduction/)| [Ruby](/sdk/ruby/) |
+| [Deploying an Engine](/start/deploy/) | [Learning DASE](/customize/) |[Dimensionality Reduction](/machinelearning/dimensionalityreduction/)| [Ruby](/sdk/ruby/) |
| [Customizing an Engine](/start/customize/) | [Implementing DASE](/customize/dase/) ||[Community Contributed](/sdk/community/) |
| [App Integration Overview](/appintegration/) | [Evaluation Overview](/evaluation/) |||
|| [Intellij IDEA Guide](/resources/intellij/) |||
@@ -32,12 +42,16 @@ PredictionIO can be [installed](https://docs.prediction.io/install/) as a full m
## Release Notes
-A summary of the changes in each release in the current series are on Github [here](https://github.com/PredictionIO/PredictionIO/blob/master/RELEASE.md)
+A summary of the changes in each release in the current series are on GitHub
+[here](https://github.com/PredictionIO/PredictionIO/blob/master/RELEASE.md)
## Licensing
-PredictionIO is licensed under the Apache License, Version 2.0. See [LICENSE](https://github.com/PredictionIO/PredictionIO/blob/master/LICENSE.txt) for the full license text.
+PredictionIO is licensed under the Apache License, Version 2.0. See
+[LICENSE](https://github.com/PredictionIO/PredictionIO/blob/master/LICENSE.txt)
+for the full license text.
### Documentation
-Documentation is under a [Creative Commons Attribution-NonCommercial-ShareAlike 3.0 License](http://creativecommons.org/licenses/by-nc-sa/3.0/).
+Documentation is under a [Creative Commons Attribution-NonCommercial-ShareAlike
+3.0 License](http://creativecommons.org/licenses/by-nc-sa/3.0/).
[29/50] [abbrv] incubator-predictionio git commit: Update artifact
publishing related plugins
Posted by ap...@apache.org.
Update artifact publishing related plugins
Project: http://git-wip-us.apache.org/repos/asf/incubator-predictionio/repo
Commit: http://git-wip-us.apache.org/repos/asf/incubator-predictionio/commit/833f4dd5
Tree: http://git-wip-us.apache.org/repos/asf/incubator-predictionio/tree/833f4dd5
Diff: http://git-wip-us.apache.org/repos/asf/incubator-predictionio/diff/833f4dd5
Branch: refs/heads/master
Commit: 833f4dd5d598f24a66e13c49a5a6d85a1d40a334
Parents: 22ecaf6
Author: Donald Szeto <do...@prediction.io>
Authored: Wed Mar 9 10:10:21 2016 -0800
Committer: Donald Szeto <do...@prediction.io>
Committed: Wed Mar 9 10:10:21 2016 -0800
----------------------------------------------------------------------
build.sbt | 10 ++--------
project/plugins.sbt | 4 ++--
2 files changed, 4 insertions(+), 10 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/incubator-predictionio/blob/833f4dd5/build.sbt
----------------------------------------------------------------------
diff --git a/build.sbt b/build.sbt
index b3cac8d..08d4e62 100644
--- a/build.sbt
+++ b/build.sbt
@@ -12,8 +12,6 @@
// See the License for the specific language governing permissions and
// limitations under the License.
-import SonatypeKeys._
-
import UnidocKeys._
name := "pio"
@@ -59,21 +57,18 @@ lazy val root = project in file(".") aggregate(
e2)
lazy val common = (project in file("common")).
- settings(sonatypeSettings: _*).
settings(unmanagedClasspath in Test += conf)
lazy val core = (project in file("core")).
dependsOn(data).
settings(genjavadocSettings: _*).
settings(pioBuildInfoSettings: _*).
- settings(sonatypeSettings: _*).
enablePlugins(SbtTwirl).
settings(unmanagedClasspath in Test += conf)
lazy val data = (project in file("data")).
dependsOn(common).
settings(genjavadocSettings: _*).
- settings(sonatypeSettings: _*).
settings(unmanagedClasspath in Test += conf)
lazy val tools = (project in file("tools")).
@@ -84,7 +79,6 @@ lazy val tools = (project in file("tools")).
lazy val e2 = (project in file("e2")).
settings(genjavadocSettings: _*).
- settings(sonatypeSettings: _*).
settings(unmanagedClasspath in Test += conf)
scalaJavaUnidocSettings
@@ -165,7 +159,7 @@ pioUnidoc := {
}
pomExtra in ThisBuild := {
- <url>http://prediction.io</url>
+ <url>https://prediction.io</url>
<licenses>
<license>
<name>Apache 2</name>
@@ -181,7 +175,7 @@ pomExtra in ThisBuild := {
<developer>
<id>pio</id>
<name>The PredictionIO Team</name>
- <url>http://prediction.io</url>
+ <url>https://prediction.io</url>
</developer>
</developers>
}
http://git-wip-us.apache.org/repos/asf/incubator-predictionio/blob/833f4dd5/project/plugins.sbt
----------------------------------------------------------------------
diff --git a/project/plugins.sbt b/project/plugins.sbt
index 1b6e305..d0d2591 100644
--- a/project/plugins.sbt
+++ b/project/plugins.sbt
@@ -1,10 +1,10 @@
addSbtPlugin("com.eed3si9n" % "sbt-buildinfo" % "0.3.2")
-addSbtPlugin("com.typesafe.sbt" % "sbt-pgp" % "0.8.3")
+addSbtPlugin("com.jsuereth" % "sbt-pgp" % "1.0.0")
addSbtPlugin("com.typesafe.sbt" % "sbt-twirl" % "1.0.3")
-addSbtPlugin("org.xerial.sbt" % "sbt-sonatype" % "0.2.1")
+addSbtPlugin("org.xerial.sbt" % "sbt-sonatype" % "1.1")
addSbtPlugin("org.scalastyle" %% "scalastyle-sbt-plugin" % "0.6.0")
[05/50] [abbrv] incubator-predictionio git commit: Revert "silently
delete tmp file instead of asking confirmation"
Posted by ap...@apache.org.
Revert "silently delete tmp file instead of asking confirmation"
This reverts commit 8e96bb5c3601e58cca866b2a9f9a361fd98b2593.
Conflicts:
bin/install.sh
Project: http://git-wip-us.apache.org/repos/asf/incubator-predictionio/repo
Commit: http://git-wip-us.apache.org/repos/asf/incubator-predictionio/commit/5732d48a
Tree: http://git-wip-us.apache.org/repos/asf/incubator-predictionio/tree/5732d48a
Diff: http://git-wip-us.apache.org/repos/asf/incubator-predictionio/diff/5732d48a
Branch: refs/heads/master
Commit: 5732d48a5b40d970d0ccf904f397e35155317ee1
Parents: d9d480a
Author: Donald Szeto <do...@prediction.io>
Authored: Thu Jan 28 17:45:28 2016 -0800
Committer: Donald Szeto <do...@prediction.io>
Committed: Thu Jan 28 17:45:28 2016 -0800
----------------------------------------------------------------------
bin/install.sh | 4 +++-
1 file changed, 3 insertions(+), 1 deletion(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/incubator-predictionio/blob/5732d48a/bin/install.sh
----------------------------------------------------------------------
diff --git a/bin/install.sh b/bin/install.sh
index 77281c6..6f57171 100755
--- a/bin/install.sh
+++ b/bin/install.sh
@@ -276,7 +276,9 @@ cd ${TEMP_DIR}
# delete existing tmp file before download again
if [[ -e ${PIO_FILE} ]]; then
- rm ${PIO_FILE}
+ if confirm "Delete existing temporary file?"; then
+ rm ${PIO_FILE}
+ fi
fi
if [[ ! -e ${PIO_FILE} ]]; then
[39/50] [abbrv] incubator-predictionio git commit: Revert changes to
prevent potential interitance of case classes
Posted by ap...@apache.org.
Revert changes to prevent potential interitance of case classes
Project: http://git-wip-us.apache.org/repos/asf/incubator-predictionio/repo
Commit: http://git-wip-us.apache.org/repos/asf/incubator-predictionio/commit/12771fa6
Tree: http://git-wip-us.apache.org/repos/asf/incubator-predictionio/tree/12771fa6
Diff: http://git-wip-us.apache.org/repos/asf/incubator-predictionio/diff/12771fa6
Branch: refs/heads/master
Commit: 12771fa6dc16516c2e928a87329b34e11b318bbf
Parents: ba92f57
Author: hyukjinkwon <gu...@gmail.com>
Authored: Tue Mar 29 12:48:52 2016 +0900
Committer: hyukjinkwon <gu...@gmail.com>
Committed: Tue Mar 29 12:48:52 2016 +0900
----------------------------------------------------------------------
.../scala/FriendRecommendationPrediction.scala | 8 +++----
.../main/scala/FriendRecommendationQuery.scala | 8 +++----
.../FriendRecommendationTrainingData.scala | 16 ++++++-------
.../src/main/scala/KeywordSimilarityModel.scala | 16 ++++++-------
.../src/main/scala/RandomModel.scala | 6 ++---
.../scala-local-helloworld/HelloWorld.scala | 24 ++++++++++----------
.../src/main/scala/ALSAlgorithm.scala | 14 ++++++------
.../src/main/scala/DataSource.scala | 10 ++++----
.../src/main/scala/Preparator.scala | 4 ++--
.../src/main/scala/DataSource.scala | 6 ++---
.../src/main/scala/Preparator.scala | 6 ++---
.../src/main/scala/DataSource.scala | 10 ++++----
.../src/main/scala/Preparator.scala | 10 ++++----
.../src/main/scala/DataSource.scala | 4 ++--
.../src/main/scala/Preparator.scala | 6 ++---
.../src/main/scala/DataSource.scala | 4 ++--
.../src/main/scala/Preparator.scala | 10 ++++----
.../src/main/scala/ALSAlgorithm.scala | 10 ++++----
.../src/main/scala/DataSource.scala | 4 ++--
.../src/main/scala/Preparator.scala | 10 ++++----
.../src/main/scala/Algorithm.scala | 2 +-
.../src/main/scala/DataSource.scala | 4 ++--
.../src/main/scala/BackTestingMetrics.scala | 9 ++++----
.../add-algorithm/src/main/scala/Engine.scala | 12 +++++-----
.../src/main/scala/Preparator.scala | 4 ++--
.../src/main/scala/DataSource.scala | 10 ++++----
.../src/main/scala/Engine.scala | 16 ++++++-------
.../src/main/scala/Preparator.scala | 10 ++++----
.../src/main/scala/RandomForestAlgorithm.scala | 10 ++++----
.../src/main/scala/ALSAlgorithm.scala | 14 ++++++------
.../src/main/scala/DataSource.scala | 10 ++++----
.../src/main/scala/Preparator.scala | 10 ++++----
.../src/main/scala/ALSAlgorithm.scala | 14 ++++++------
.../src/main/scala/DataSource.scala | 10 ++++----
.../src/main/scala/Preparator.scala | 10 ++++----
.../src/main/scala/DataSource.scala | 4 ++--
.../src/main/scala/Preparator.scala | 7 +++---
.../src/main/scala/DataSource.scala | 3 ++-
.../src/main/scala/Preparator.scala | 3 ++-
.../src/main/scala/DataSource.scala | 6 ++---
.../src/main/scala/Preparator.scala | 9 ++++----
.../src/main/scala/ALSAlgorithm.scala | 10 ++++----
.../src/main/scala/Preparator.scala | 11 ++++-----
.../src/main/scala/Preparator.scala | 11 ++++-----
.../src/main/scala/DataSource.scala | 10 ++++----
.../src/main/scala/Preparator.scala | 11 ++++-----
.../multi/src/main/scala/DataSource.scala | 12 +++++-----
.../multi/src/main/scala/Preparator.scala | 13 +++++------
.../no-set-user/src/main/scala/DataSource.scala | 8 +++----
.../no-set-user/src/main/scala/Preparator.scala | 9 ++++----
.../src/main/scala/DataSource.scala | 8 +++----
.../src/main/scala/Preparator.scala | 8 +++----
52 files changed, 235 insertions(+), 239 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/incubator-predictionio/blob/12771fa6/examples/experimental/scala-local-friend-recommendation/src/main/scala/FriendRecommendationPrediction.scala
----------------------------------------------------------------------
diff --git a/examples/experimental/scala-local-friend-recommendation/src/main/scala/FriendRecommendationPrediction.scala b/examples/experimental/scala-local-friend-recommendation/src/main/scala/FriendRecommendationPrediction.scala
index e0177c8..74a23ca 100644
--- a/examples/experimental/scala-local-friend-recommendation/src/main/scala/FriendRecommendationPrediction.scala
+++ b/examples/experimental/scala-local-friend-recommendation/src/main/scala/FriendRecommendationPrediction.scala
@@ -1,7 +1,7 @@
package io.prediction.examples.friendrecommendation
-case class FriendRecommendationPrediction (
- confidence: Double,
+class FriendRecommendationPrediction (
+ val confidence: Double,
// returning boolean acceptance to align with KDD 2012 scenario
- acceptance: Boolean
-)
+ val acceptance: Boolean
+) extends Serializable
http://git-wip-us.apache.org/repos/asf/incubator-predictionio/blob/12771fa6/examples/experimental/scala-local-friend-recommendation/src/main/scala/FriendRecommendationQuery.scala
----------------------------------------------------------------------
diff --git a/examples/experimental/scala-local-friend-recommendation/src/main/scala/FriendRecommendationQuery.scala b/examples/experimental/scala-local-friend-recommendation/src/main/scala/FriendRecommendationQuery.scala
index d9c5cb8..5f37e75 100644
--- a/examples/experimental/scala-local-friend-recommendation/src/main/scala/FriendRecommendationQuery.scala
+++ b/examples/experimental/scala-local-friend-recommendation/src/main/scala/FriendRecommendationQuery.scala
@@ -1,8 +1,8 @@
package io.prediction.examples.friendrecommendation
-case class FriendRecommendationQuery (
+class FriendRecommendationQuery (
// To align with the KDD 2012 scenario
// Given a user and an item, predict acceptance
- user: Int,
- item: Int
-)
+ val user: Int,
+ val item: Int
+) extends Serializable
http://git-wip-us.apache.org/repos/asf/incubator-predictionio/blob/12771fa6/examples/experimental/scala-local-friend-recommendation/src/main/scala/FriendRecommendationTrainingData.scala
----------------------------------------------------------------------
diff --git a/examples/experimental/scala-local-friend-recommendation/src/main/scala/FriendRecommendationTrainingData.scala b/examples/experimental/scala-local-friend-recommendation/src/main/scala/FriendRecommendationTrainingData.scala
index 7d6eddd..0f0056c 100644
--- a/examples/experimental/scala-local-friend-recommendation/src/main/scala/FriendRecommendationTrainingData.scala
+++ b/examples/experimental/scala-local-friend-recommendation/src/main/scala/FriendRecommendationTrainingData.scala
@@ -2,18 +2,18 @@ package io.prediction.examples.friendrecommendation
import scala.collection.immutable.HashMap
-case class FriendRecommendationTrainingData (
+class FriendRecommendationTrainingData (
// Designed to fit random, keyword similarity methods and simrank now
// Will be updated to to fit more advanced algorithms when they are developed
// External-internal id map
- userIdMap: HashMap[Int, Int],
- itemIdMap: HashMap[Int, Int],
+ val userIdMap: HashMap[Int, Int],
+ val itemIdMap: HashMap[Int, Int],
// Keyword array, internal id index, term-weight map item
- userKeyword: Array[HashMap[Int, Double]],
- itemKeyword: Array[HashMap[Int, Double]],
+ val userKeyword: Array[HashMap[Int, Double]],
+ val itemKeyword: Array[HashMap[Int, Double]],
// User relationship array,
// src internal id index, dest-internal-id-weight list item
- socialAction: Array[List[(Int, Int)]],
+ val socialAction: Array[List[(Int, Int)]],
// Training record for training purpose
- trainingRecord: Stream[(Int, Int, Boolean)]
-)
+ val trainingRecord: Stream[(Int, Int, Boolean)]
+) extends Serializable
http://git-wip-us.apache.org/repos/asf/incubator-predictionio/blob/12771fa6/examples/experimental/scala-local-friend-recommendation/src/main/scala/KeywordSimilarityModel.scala
----------------------------------------------------------------------
diff --git a/examples/experimental/scala-local-friend-recommendation/src/main/scala/KeywordSimilarityModel.scala b/examples/experimental/scala-local-friend-recommendation/src/main/scala/KeywordSimilarityModel.scala
index c3838bb..4523327 100644
--- a/examples/experimental/scala-local-friend-recommendation/src/main/scala/KeywordSimilarityModel.scala
+++ b/examples/experimental/scala-local-friend-recommendation/src/main/scala/KeywordSimilarityModel.scala
@@ -2,14 +2,14 @@ package io.prediction.examples.friendrecommendation
import scala.collection.immutable.HashMap
-case class KeywordSimilarityModel (
+class KeywordSimilarityModel (
// External-internal id map
- userIdMap: HashMap[Int, Int],
- itemIdMap: HashMap[Int, Int],
+ val userIdMap: HashMap[Int, Int],
+ val itemIdMap: HashMap[Int, Int],
// Keyword array, internal id index, term-weight map item
- userKeyword: Array[HashMap[Int, Double]],
- itemKeyword: Array[HashMap[Int, Double]],
+ val userKeyword: Array[HashMap[Int, Double]],
+ val itemKeyword: Array[HashMap[Int, Double]],
// Weight and threshold trained
- keywordSimWeight: Double,
- keywordSimThreshold: Double
-)
+ val keywordSimWeight: Double,
+ val keywordSimThreshold: Double
+) extends Serializable
http://git-wip-us.apache.org/repos/asf/incubator-predictionio/blob/12771fa6/examples/experimental/scala-local-friend-recommendation/src/main/scala/RandomModel.scala
----------------------------------------------------------------------
diff --git a/examples/experimental/scala-local-friend-recommendation/src/main/scala/RandomModel.scala b/examples/experimental/scala-local-friend-recommendation/src/main/scala/RandomModel.scala
index 07250e9..ab1955d 100644
--- a/examples/experimental/scala-local-friend-recommendation/src/main/scala/RandomModel.scala
+++ b/examples/experimental/scala-local-friend-recommendation/src/main/scala/RandomModel.scala
@@ -1,5 +1,5 @@
package io.prediction.examples.friendrecommendation
-case class RandomModel(
- randomThreshold: Double
-)
+class RandomModel(
+ val randomThreshold: Double
+) extends Serializable
http://git-wip-us.apache.org/repos/asf/incubator-predictionio/blob/12771fa6/examples/experimental/scala-local-helloworld/HelloWorld.scala
----------------------------------------------------------------------
diff --git a/examples/experimental/scala-local-helloworld/HelloWorld.scala b/examples/experimental/scala-local-helloworld/HelloWorld.scala
index 5cab481..5fa3d68 100644
--- a/examples/experimental/scala-local-helloworld/HelloWorld.scala
+++ b/examples/experimental/scala-local-helloworld/HelloWorld.scala
@@ -6,24 +6,24 @@ import scala.io.Source
import scala.collection.immutable.HashMap
// all data need to be serializable
-case class MyTrainingData(
+class MyTrainingData(
// list of (day, temperature) tuples
- temperatures: List[(String, Double)]
-)
+ val temperatures: List[(String, Double)]
+) extends Serializable
-case class MyQuery(
- day: String
-)
+class MyQuery(
+ val day: String
+) extends Serializable
-case class MyModel(
- temperatures: HashMap[String, Double]
-) {
+class MyModel(
+ val temperatures: HashMap[String, Double]
+) extends Serializable {
override def toString = temperatures.toString
}
-case class MyPredictedResult(
- temperature: Double
-)
+class MyPredictedResult(
+ val temperature: Double
+) extends Serializable
// controller components
class MyDataSource extends LDataSource[EmptyDataSourceParams, EmptyDataParams,
http://git-wip-us.apache.org/repos/asf/incubator-predictionio/blob/12771fa6/examples/experimental/scala-parallel-recommendation-cat/src/main/scala/ALSAlgorithm.scala
----------------------------------------------------------------------
diff --git a/examples/experimental/scala-parallel-recommendation-cat/src/main/scala/ALSAlgorithm.scala b/examples/experimental/scala-parallel-recommendation-cat/src/main/scala/ALSAlgorithm.scala
index a7b91d8..0a60f8b 100644
--- a/examples/experimental/scala-parallel-recommendation-cat/src/main/scala/ALSAlgorithm.scala
+++ b/examples/experimental/scala-parallel-recommendation-cat/src/main/scala/ALSAlgorithm.scala
@@ -24,13 +24,13 @@ case class ALSAlgorithmParams(
seed: Option[Long]
) extends Params
-case class ALSModel(
- rank: Int,
- userFeatures: Map[Int, Array[Double]],
- productFeatures: Map[Int, (Item, Option[Array[Double]])],
- userStringIntMap: BiMap[String, Int],
- itemStringIntMap: BiMap[String, Int]
-) {
+class ALSModel(
+ val rank: Int,
+ val userFeatures: Map[Int, Array[Double]],
+ val productFeatures: Map[Int, (Item, Option[Array[Double]])],
+ val userStringIntMap: BiMap[String, Int],
+ val itemStringIntMap: BiMap[String, Int]
+) extends Serializable {
@transient lazy val itemIntStringMap = itemStringIntMap.inverse
http://git-wip-us.apache.org/repos/asf/incubator-predictionio/blob/12771fa6/examples/experimental/scala-parallel-recommendation-cat/src/main/scala/DataSource.scala
----------------------------------------------------------------------
diff --git a/examples/experimental/scala-parallel-recommendation-cat/src/main/scala/DataSource.scala b/examples/experimental/scala-parallel-recommendation-cat/src/main/scala/DataSource.scala
index 5abf22b..6a08060 100644
--- a/examples/experimental/scala-parallel-recommendation-cat/src/main/scala/DataSource.scala
+++ b/examples/experimental/scala-parallel-recommendation-cat/src/main/scala/DataSource.scala
@@ -101,11 +101,11 @@ case class Item(categories: Option[List[String]])
case class ViewEvent(user: String, item: String, t: Long)
-case class TrainingData(
- users: RDD[(String, User)],
- items: RDD[(String, Item)],
- viewEvents: RDD[ViewEvent]
-) {
+class TrainingData(
+ val users: RDD[(String, User)],
+ val items: RDD[(String, Item)],
+ val viewEvents: RDD[ViewEvent]
+) extends Serializable {
override def toString = {
s"users: [${users.count()} (${users.take(2).toList}...)]" +
s"items: [${items.count()} (${items.take(2).toList}...)]" +
http://git-wip-us.apache.org/repos/asf/incubator-predictionio/blob/12771fa6/examples/experimental/scala-parallel-recommendation-cat/src/main/scala/Preparator.scala
----------------------------------------------------------------------
diff --git a/examples/experimental/scala-parallel-recommendation-cat/src/main/scala/Preparator.scala b/examples/experimental/scala-parallel-recommendation-cat/src/main/scala/Preparator.scala
index 25c67c0..64f3908 100644
--- a/examples/experimental/scala-parallel-recommendation-cat/src/main/scala/Preparator.scala
+++ b/examples/experimental/scala-parallel-recommendation-cat/src/main/scala/Preparator.scala
@@ -17,8 +17,8 @@ class Preparator
}
}
-case class PreparedData(
+class PreparedData(
val users: RDD[(String, User)],
val items: RDD[(String, Item)],
val viewEvents: RDD[ViewEvent]
-)
+) extends Serializable
http://git-wip-us.apache.org/repos/asf/incubator-predictionio/blob/12771fa6/examples/experimental/scala-parallel-recommendation-custom-datasource/src/main/scala/DataSource.scala
----------------------------------------------------------------------
diff --git a/examples/experimental/scala-parallel-recommendation-custom-datasource/src/main/scala/DataSource.scala b/examples/experimental/scala-parallel-recommendation-custom-datasource/src/main/scala/DataSource.scala
index 7b0af4a..c1c340d 100644
--- a/examples/experimental/scala-parallel-recommendation-custom-datasource/src/main/scala/DataSource.scala
+++ b/examples/experimental/scala-parallel-recommendation-custom-datasource/src/main/scala/DataSource.scala
@@ -39,9 +39,9 @@ case class Rating(
rating: Double
)
-case class TrainingData(
- ratings: RDD[Rating]
-) {
+class TrainingData(
+ val ratings: RDD[Rating]
+) extends Serializable {
override def toString = {
s"ratings: [${ratings.count()}] (${ratings.take(2).toList}...)"
}
http://git-wip-us.apache.org/repos/asf/incubator-predictionio/blob/12771fa6/examples/experimental/scala-parallel-recommendation-custom-datasource/src/main/scala/Preparator.scala
----------------------------------------------------------------------
diff --git a/examples/experimental/scala-parallel-recommendation-custom-datasource/src/main/scala/Preparator.scala b/examples/experimental/scala-parallel-recommendation-custom-datasource/src/main/scala/Preparator.scala
index 7b6c7c9..6468e4b 100644
--- a/examples/experimental/scala-parallel-recommendation-custom-datasource/src/main/scala/Preparator.scala
+++ b/examples/experimental/scala-parallel-recommendation-custom-datasource/src/main/scala/Preparator.scala
@@ -14,6 +14,6 @@ class Preparator
}
}
-case class PreparedData(
- ratings: RDD[Rating]
-)
+class PreparedData(
+ val ratings: RDD[Rating]
+) extends Serializable
http://git-wip-us.apache.org/repos/asf/incubator-predictionio/blob/12771fa6/examples/experimental/scala-parallel-recommendation-entitymap/src/main/scala/DataSource.scala
----------------------------------------------------------------------
diff --git a/examples/experimental/scala-parallel-recommendation-entitymap/src/main/scala/DataSource.scala b/examples/experimental/scala-parallel-recommendation-entitymap/src/main/scala/DataSource.scala
index 2808ab7..5b219eb 100644
--- a/examples/experimental/scala-parallel-recommendation-entitymap/src/main/scala/DataSource.scala
+++ b/examples/experimental/scala-parallel-recommendation-entitymap/src/main/scala/DataSource.scala
@@ -98,11 +98,11 @@ case class Rating(
rating: Double
)
-case class TrainingData(
- users: EntityMap[User],
- items: EntityMap[Item],
- ratings: RDD[Rating]
-) {
+class TrainingData(
+ val users: EntityMap[User],
+ val items: EntityMap[Item],
+ val ratings: RDD[Rating]
+) extends Serializable {
override def toString = {
s"users: [${users.size} (${users.take(2).toString}...)]" +
s"items: [${items.size} (${items.take(2).toString}...)]" +
http://git-wip-us.apache.org/repos/asf/incubator-predictionio/blob/12771fa6/examples/experimental/scala-parallel-recommendation-entitymap/src/main/scala/Preparator.scala
----------------------------------------------------------------------
diff --git a/examples/experimental/scala-parallel-recommendation-entitymap/src/main/scala/Preparator.scala b/examples/experimental/scala-parallel-recommendation-entitymap/src/main/scala/Preparator.scala
index c51fd9c..bf5013b 100644
--- a/examples/experimental/scala-parallel-recommendation-entitymap/src/main/scala/Preparator.scala
+++ b/examples/experimental/scala-parallel-recommendation-entitymap/src/main/scala/Preparator.scala
@@ -18,8 +18,8 @@ class Preparator
}
}
-case class PreparedData(
- users: EntityMap[User],
- items: EntityMap[Item],
- ratings: RDD[Rating]
-)
+class PreparedData(
+ val users: EntityMap[User],
+ val items: EntityMap[Item],
+ val ratings: RDD[Rating]
+) extends Serializable
http://git-wip-us.apache.org/repos/asf/incubator-predictionio/blob/12771fa6/examples/experimental/scala-parallel-recommendation-mongo-datasource/src/main/scala/DataSource.scala
----------------------------------------------------------------------
diff --git a/examples/experimental/scala-parallel-recommendation-mongo-datasource/src/main/scala/DataSource.scala b/examples/experimental/scala-parallel-recommendation-mongo-datasource/src/main/scala/DataSource.scala
index de57c4d..c3cf391 100644
--- a/examples/experimental/scala-parallel-recommendation-mongo-datasource/src/main/scala/DataSource.scala
+++ b/examples/experimental/scala-parallel-recommendation-mongo-datasource/src/main/scala/DataSource.scala
@@ -58,9 +58,9 @@ case class Rating(
rating: Double
)
-case class TrainingData(
+class TrainingData(
val ratings: RDD[Rating]
-) {
+) extends Serializable {
override def toString = {
s"ratings: [${ratings.count()}] (${ratings.take(2).toList}...)"
}
http://git-wip-us.apache.org/repos/asf/incubator-predictionio/blob/12771fa6/examples/experimental/scala-parallel-recommendation-mongo-datasource/src/main/scala/Preparator.scala
----------------------------------------------------------------------
diff --git a/examples/experimental/scala-parallel-recommendation-mongo-datasource/src/main/scala/Preparator.scala b/examples/experimental/scala-parallel-recommendation-mongo-datasource/src/main/scala/Preparator.scala
index 7b6c7c9..6468e4b 100644
--- a/examples/experimental/scala-parallel-recommendation-mongo-datasource/src/main/scala/Preparator.scala
+++ b/examples/experimental/scala-parallel-recommendation-mongo-datasource/src/main/scala/Preparator.scala
@@ -14,6 +14,6 @@ class Preparator
}
}
-case class PreparedData(
- ratings: RDD[Rating]
-)
+class PreparedData(
+ val ratings: RDD[Rating]
+) extends Serializable
http://git-wip-us.apache.org/repos/asf/incubator-predictionio/blob/12771fa6/examples/experimental/scala-parallel-similarproduct-dimsum/src/main/scala/DataSource.scala
----------------------------------------------------------------------
diff --git a/examples/experimental/scala-parallel-similarproduct-dimsum/src/main/scala/DataSource.scala b/examples/experimental/scala-parallel-similarproduct-dimsum/src/main/scala/DataSource.scala
index f586607..4211186 100644
--- a/examples/experimental/scala-parallel-similarproduct-dimsum/src/main/scala/DataSource.scala
+++ b/examples/experimental/scala-parallel-similarproduct-dimsum/src/main/scala/DataSource.scala
@@ -104,11 +104,11 @@ case class ViewEvent(
t: Long
)
-case class TrainingData(
+class TrainingData(
val users: RDD[(String, User)],
val items: RDD[(String, Item)],
val viewEvents: RDD[ViewEvent]
-) {
+) extends Serializable {
override def toString = {
s"users: [${users.count()} (${users.take(2).toList}...)]" +
s"items: [${items.count()} (${items.take(2).toList}...)]" +
http://git-wip-us.apache.org/repos/asf/incubator-predictionio/blob/12771fa6/examples/experimental/scala-parallel-similarproduct-dimsum/src/main/scala/Preparator.scala
----------------------------------------------------------------------
diff --git a/examples/experimental/scala-parallel-similarproduct-dimsum/src/main/scala/Preparator.scala b/examples/experimental/scala-parallel-similarproduct-dimsum/src/main/scala/Preparator.scala
index 8fa8c48..c5e42ec 100644
--- a/examples/experimental/scala-parallel-similarproduct-dimsum/src/main/scala/Preparator.scala
+++ b/examples/experimental/scala-parallel-similarproduct-dimsum/src/main/scala/Preparator.scala
@@ -17,8 +17,8 @@ class Preparator
}
}
-case class PreparedData(
- users: RDD[(String, User)],
- items: RDD[(String, Item)],
- viewEvents: RDD[ViewEvent]
-)
+class PreparedData(
+ val users: RDD[(String, User)],
+ val items: RDD[(String, Item)],
+ val viewEvents: RDD[ViewEvent]
+) extends Serializable
http://git-wip-us.apache.org/repos/asf/incubator-predictionio/blob/12771fa6/examples/experimental/scala-parallel-similarproduct-localmodel/src/main/scala/ALSAlgorithm.scala
----------------------------------------------------------------------
diff --git a/examples/experimental/scala-parallel-similarproduct-localmodel/src/main/scala/ALSAlgorithm.scala b/examples/experimental/scala-parallel-similarproduct-localmodel/src/main/scala/ALSAlgorithm.scala
index 3d57992..d250b71 100644
--- a/examples/experimental/scala-parallel-similarproduct-localmodel/src/main/scala/ALSAlgorithm.scala
+++ b/examples/experimental/scala-parallel-similarproduct-localmodel/src/main/scala/ALSAlgorithm.scala
@@ -22,11 +22,11 @@ case class ALSAlgorithmParams(
lambda: Double,
seed: Option[Long]) extends Params
-case class ALSLocalModel( // MODIFIED
- productFeatures: Map[Int, Array[Double]], // MODIFIED
- itemStringIntMap: BiMap[String, Int],
- items: Map[Int, Item]
-) { // MODIFIED
+class ALSLocalModel( // MODIFIED
+ val productFeatures: Map[Int, Array[Double]], // MODIFIED
+ val itemStringIntMap: BiMap[String, Int],
+ val items: Map[Int, Item]
+) extends Serializable { // MODIFIED
// MODIFIED
http://git-wip-us.apache.org/repos/asf/incubator-predictionio/blob/12771fa6/examples/experimental/scala-parallel-similarproduct-localmodel/src/main/scala/DataSource.scala
----------------------------------------------------------------------
diff --git a/examples/experimental/scala-parallel-similarproduct-localmodel/src/main/scala/DataSource.scala b/examples/experimental/scala-parallel-similarproduct-localmodel/src/main/scala/DataSource.scala
index 3de9444..b45fe37 100644
--- a/examples/experimental/scala-parallel-similarproduct-localmodel/src/main/scala/DataSource.scala
+++ b/examples/experimental/scala-parallel-similarproduct-localmodel/src/main/scala/DataSource.scala
@@ -101,11 +101,11 @@ case class Item(categories: Option[List[String]])
case class ViewEvent(user: String, item: String, t: Long)
-case class TrainingData(
+class TrainingData(
val users: RDD[(String, User)],
val items: RDD[(String, Item)],
val viewEvents: RDD[ViewEvent]
-) {
+) extends Serializable {
override def toString = {
s"users: [${users.count()} (${users.take(2).toList}...)]" +
s"items: [${items.count()} (${items.take(2).toList}...)]" +
http://git-wip-us.apache.org/repos/asf/incubator-predictionio/blob/12771fa6/examples/experimental/scala-parallel-similarproduct-localmodel/src/main/scala/Preparator.scala
----------------------------------------------------------------------
diff --git a/examples/experimental/scala-parallel-similarproduct-localmodel/src/main/scala/Preparator.scala b/examples/experimental/scala-parallel-similarproduct-localmodel/src/main/scala/Preparator.scala
index 8fa8c48..c5e42ec 100644
--- a/examples/experimental/scala-parallel-similarproduct-localmodel/src/main/scala/Preparator.scala
+++ b/examples/experimental/scala-parallel-similarproduct-localmodel/src/main/scala/Preparator.scala
@@ -17,8 +17,8 @@ class Preparator
}
}
-case class PreparedData(
- users: RDD[(String, User)],
- items: RDD[(String, Item)],
- viewEvents: RDD[ViewEvent]
-)
+class PreparedData(
+ val users: RDD[(String, User)],
+ val items: RDD[(String, Item)],
+ val viewEvents: RDD[ViewEvent]
+) extends Serializable
http://git-wip-us.apache.org/repos/asf/incubator-predictionio/blob/12771fa6/examples/experimental/scala-refactor-test/src/main/scala/Algorithm.scala
----------------------------------------------------------------------
diff --git a/examples/experimental/scala-refactor-test/src/main/scala/Algorithm.scala b/examples/experimental/scala-refactor-test/src/main/scala/Algorithm.scala
index 97de0eb..15131f7 100644
--- a/examples/experimental/scala-refactor-test/src/main/scala/Algorithm.scala
+++ b/examples/experimental/scala-refactor-test/src/main/scala/Algorithm.scala
@@ -34,6 +34,6 @@ class Algorithm(val ap: AlgorithmParams)
}
}
-case class Model(mc: Int) {
+class Model(val mc: Int) extends Serializable {
override def toString = s"mc=${mc}"
}
http://git-wip-us.apache.org/repos/asf/incubator-predictionio/blob/12771fa6/examples/experimental/scala-refactor-test/src/main/scala/DataSource.scala
----------------------------------------------------------------------
diff --git a/examples/experimental/scala-refactor-test/src/main/scala/DataSource.scala b/examples/experimental/scala-refactor-test/src/main/scala/DataSource.scala
index 4a52b2c..2707304 100644
--- a/examples/experimental/scala-refactor-test/src/main/scala/DataSource.scala
+++ b/examples/experimental/scala-refactor-test/src/main/scala/DataSource.scala
@@ -48,9 +48,9 @@ class DataSource
}
}
-case class TrainingData(
+class TrainingData(
val events: RDD[Int]
-) {
+) extends Serializable {
override def toString = {
s"events: [${events.count()}] (${events.take(2).toList}...)"
}
http://git-wip-us.apache.org/repos/asf/incubator-predictionio/blob/12771fa6/examples/experimental/scala-stock/src/main/scala/BackTestingMetrics.scala
----------------------------------------------------------------------
diff --git a/examples/experimental/scala-stock/src/main/scala/BackTestingMetrics.scala b/examples/experimental/scala-stock/src/main/scala/BackTestingMetrics.scala
index 9c252f1..d691a4f 100644
--- a/examples/experimental/scala-stock/src/main/scala/BackTestingMetrics.scala
+++ b/examples/experimental/scala-stock/src/main/scala/BackTestingMetrics.scala
@@ -24,11 +24,12 @@ case class BacktestingParams(
) extends Params {}
// prediction is Ticker -> ({1:Enter, -1:Exit}, ActualReturn)
-case class DailyResult(
+class DailyResult(
//val date: DateTime,
- dateIdx: Int,
- toEnter: Seq[String],
- toExit: Seq[String])
+ val dateIdx: Int,
+ val toEnter: Seq[String],
+ val toExit: Seq[String])
+extends Serializable {}
case class DailyStat (
time: Long,
http://git-wip-us.apache.org/repos/asf/incubator-predictionio/blob/12771fa6/examples/scala-parallel-classification/add-algorithm/src/main/scala/Engine.scala
----------------------------------------------------------------------
diff --git a/examples/scala-parallel-classification/add-algorithm/src/main/scala/Engine.scala b/examples/scala-parallel-classification/add-algorithm/src/main/scala/Engine.scala
index 16baf51..67e36d2 100644
--- a/examples/scala-parallel-classification/add-algorithm/src/main/scala/Engine.scala
+++ b/examples/scala-parallel-classification/add-algorithm/src/main/scala/Engine.scala
@@ -3,13 +3,13 @@ package org.template.classification
import io.prediction.controller.IEngineFactory
import io.prediction.controller.Engine
-case class Query(
- features: Array[Double]
-)
+class Query(
+ val features: Array[Double]
+) extends Serializable
-case class PredictedResult(
- label: Double
-)
+class PredictedResult(
+ val label: Double
+) extends Serializable
object ClassificationEngine extends IEngineFactory {
def apply() = {
http://git-wip-us.apache.org/repos/asf/incubator-predictionio/blob/12771fa6/examples/scala-parallel-classification/add-algorithm/src/main/scala/Preparator.scala
----------------------------------------------------------------------
diff --git a/examples/scala-parallel-classification/add-algorithm/src/main/scala/Preparator.scala b/examples/scala-parallel-classification/add-algorithm/src/main/scala/Preparator.scala
index 629a013..4e581ea 100644
--- a/examples/scala-parallel-classification/add-algorithm/src/main/scala/Preparator.scala
+++ b/examples/scala-parallel-classification/add-algorithm/src/main/scala/Preparator.scala
@@ -7,9 +7,9 @@ import org.apache.spark.SparkContext._
import org.apache.spark.rdd.RDD
import org.apache.spark.mllib.regression.LabeledPoint
-case class PreparedData(
+class PreparedData(
val labeledPoints: RDD[LabeledPoint]
-)
+) extends Serializable
class Preparator extends PPreparator[TrainingData, PreparedData] {
http://git-wip-us.apache.org/repos/asf/incubator-predictionio/blob/12771fa6/examples/scala-parallel-classification/custom-attributes/src/main/scala/DataSource.scala
----------------------------------------------------------------------
diff --git a/examples/scala-parallel-classification/custom-attributes/src/main/scala/DataSource.scala b/examples/scala-parallel-classification/custom-attributes/src/main/scala/DataSource.scala
index ce453e2..52a8635 100644
--- a/examples/scala-parallel-classification/custom-attributes/src/main/scala/DataSource.scala
+++ b/examples/scala-parallel-classification/custom-attributes/src/main/scala/DataSource.scala
@@ -59,8 +59,8 @@ class DataSource(val dsp: DataSourceParams)
}
}
-case class TrainingData(
- labeledPoints: RDD[LabeledPoint],
- gendersMap: Map[String,Double],
- educationMap: Map[String,Double]
-)
+class TrainingData(
+ val labeledPoints: RDD[LabeledPoint],
+ val gendersMap: Map[String,Double],
+ val educationMap: Map[String,Double]
+) extends Serializable
http://git-wip-us.apache.org/repos/asf/incubator-predictionio/blob/12771fa6/examples/scala-parallel-classification/custom-attributes/src/main/scala/Engine.scala
----------------------------------------------------------------------
diff --git a/examples/scala-parallel-classification/custom-attributes/src/main/scala/Engine.scala b/examples/scala-parallel-classification/custom-attributes/src/main/scala/Engine.scala
index fa8b20d..8236808 100644
--- a/examples/scala-parallel-classification/custom-attributes/src/main/scala/Engine.scala
+++ b/examples/scala-parallel-classification/custom-attributes/src/main/scala/Engine.scala
@@ -3,15 +3,15 @@ package com.test1
import io.prediction.controller.IEngineFactory
import io.prediction.controller.Engine
-case class Query(
- gender: String,
- age: Int,
- education: String
-)
+class Query(
+ val gender: String,
+ val age: Int,
+ val education: String
+) extends Serializable
-case class PredictedResult(
- label: Double
-)
+class PredictedResult(
+ val label: Double
+) extends Serializable
object ClassificationEngine extends IEngineFactory {
def apply() = {
http://git-wip-us.apache.org/repos/asf/incubator-predictionio/blob/12771fa6/examples/scala-parallel-classification/custom-attributes/src/main/scala/Preparator.scala
----------------------------------------------------------------------
diff --git a/examples/scala-parallel-classification/custom-attributes/src/main/scala/Preparator.scala b/examples/scala-parallel-classification/custom-attributes/src/main/scala/Preparator.scala
index 81545ab..c49ed8d 100644
--- a/examples/scala-parallel-classification/custom-attributes/src/main/scala/Preparator.scala
+++ b/examples/scala-parallel-classification/custom-attributes/src/main/scala/Preparator.scala
@@ -7,11 +7,11 @@ import org.apache.spark.SparkContext._
import org.apache.spark.rdd.RDD
import org.apache.spark.mllib.regression.LabeledPoint
-case class PreparedData(
- labeledPoints: RDD[LabeledPoint],
- gendersMap: Map[String,Double],
- educationMap: Map[String,Double]
-)
+class PreparedData(
+ val labeledPoints: RDD[LabeledPoint],
+ val gendersMap: Map[String,Double],
+ val educationMap: Map[String,Double]
+) extends Serializable
class Preparator extends PPreparator[TrainingData, PreparedData] {
http://git-wip-us.apache.org/repos/asf/incubator-predictionio/blob/12771fa6/examples/scala-parallel-classification/custom-attributes/src/main/scala/RandomForestAlgorithm.scala
----------------------------------------------------------------------
diff --git a/examples/scala-parallel-classification/custom-attributes/src/main/scala/RandomForestAlgorithm.scala b/examples/scala-parallel-classification/custom-attributes/src/main/scala/RandomForestAlgorithm.scala
index 5e708fd..f2b5c35 100644
--- a/examples/scala-parallel-classification/custom-attributes/src/main/scala/RandomForestAlgorithm.scala
+++ b/examples/scala-parallel-classification/custom-attributes/src/main/scala/RandomForestAlgorithm.scala
@@ -17,11 +17,11 @@ case class RandomForestAlgorithmParams(
maxBins: Int
) extends Params
-case class PIORandomForestModel(
- gendersMap: Map[String, Double],
- educationMap: Map[String, Double],
- randomForestModel: RandomForestModel
-)
+class PIORandomForestModel(
+ val gendersMap: Map[String, Double],
+ val educationMap: Map[String, Double],
+ val randomForestModel: RandomForestModel
+) extends Serializable
// extends P2LAlgorithm because the MLlib's RandomForestModel doesn't
// contain RDD.
http://git-wip-us.apache.org/repos/asf/incubator-predictionio/blob/12771fa6/examples/scala-parallel-ecommercerecommendation/train-with-rate-event/src/main/scala/ALSAlgorithm.scala
----------------------------------------------------------------------
diff --git a/examples/scala-parallel-ecommercerecommendation/train-with-rate-event/src/main/scala/ALSAlgorithm.scala b/examples/scala-parallel-ecommercerecommendation/train-with-rate-event/src/main/scala/ALSAlgorithm.scala
index af5306c..21e619e 100644
--- a/examples/scala-parallel-ecommercerecommendation/train-with-rate-event/src/main/scala/ALSAlgorithm.scala
+++ b/examples/scala-parallel-ecommercerecommendation/train-with-rate-event/src/main/scala/ALSAlgorithm.scala
@@ -27,13 +27,13 @@ case class ALSAlgorithmParams(
seed: Option[Long]
) extends Params
-case class ALSModel(
- rank: Int,
- userFeatures: Map[Int, Array[Double]],
- productFeatures: Map[Int, (Item, Option[Array[Double]])],
- userStringIntMap: BiMap[String, Int],
- itemStringIntMap: BiMap[String, Int]
-) {
+class ALSModel(
+ val rank: Int,
+ val userFeatures: Map[Int, Array[Double]],
+ val productFeatures: Map[Int, (Item, Option[Array[Double]])],
+ val userStringIntMap: BiMap[String, Int],
+ val itemStringIntMap: BiMap[String, Int]
+) extends Serializable {
@transient lazy val itemIntStringMap = itemStringIntMap.inverse
http://git-wip-us.apache.org/repos/asf/incubator-predictionio/blob/12771fa6/examples/scala-parallel-ecommercerecommendation/train-with-rate-event/src/main/scala/DataSource.scala
----------------------------------------------------------------------
diff --git a/examples/scala-parallel-ecommercerecommendation/train-with-rate-event/src/main/scala/DataSource.scala b/examples/scala-parallel-ecommercerecommendation/train-with-rate-event/src/main/scala/DataSource.scala
index c216f2b..c15c2ba 100644
--- a/examples/scala-parallel-ecommercerecommendation/train-with-rate-event/src/main/scala/DataSource.scala
+++ b/examples/scala-parallel-ecommercerecommendation/train-with-rate-event/src/main/scala/DataSource.scala
@@ -103,11 +103,11 @@ case class Item(categories: Option[List[String]])
// MODIFIED
case class RateEvent(user: String, item: String, rating: Double, t: Long)
-case class TrainingData(
- users: RDD[(String, User)],
- items: RDD[(String, Item)],
- rateEvents: RDD[RateEvent] // MODIFIED
-) {
+class TrainingData(
+ val users: RDD[(String, User)],
+ val items: RDD[(String, Item)],
+ val rateEvents: RDD[RateEvent] // MODIFIED
+) extends Serializable {
override def toString = {
s"users: [${users.count()} (${users.take(2).toList}...)]" +
s"items: [${items.count()} (${items.take(2).toList}...)]" +
http://git-wip-us.apache.org/repos/asf/incubator-predictionio/blob/12771fa6/examples/scala-parallel-ecommercerecommendation/train-with-rate-event/src/main/scala/Preparator.scala
----------------------------------------------------------------------
diff --git a/examples/scala-parallel-ecommercerecommendation/train-with-rate-event/src/main/scala/Preparator.scala b/examples/scala-parallel-ecommercerecommendation/train-with-rate-event/src/main/scala/Preparator.scala
index 323816a..e575a08 100644
--- a/examples/scala-parallel-ecommercerecommendation/train-with-rate-event/src/main/scala/Preparator.scala
+++ b/examples/scala-parallel-ecommercerecommendation/train-with-rate-event/src/main/scala/Preparator.scala
@@ -17,8 +17,8 @@ class Preparator
}
}
-case class PreparedData(
- users: RDD[(String, User)],
- items: RDD[(String, Item)],
- rateEvents: RDD[RateEvent] // MODIFIED
-)
+class PreparedData(
+ val users: RDD[(String, User)],
+ val items: RDD[(String, Item)],
+ val rateEvents: RDD[RateEvent] // MODIFIED
+) extends Serializable
http://git-wip-us.apache.org/repos/asf/incubator-predictionio/blob/12771fa6/examples/scala-parallel-ecommercerecommendation/weighted-items/src/main/scala/ALSAlgorithm.scala
----------------------------------------------------------------------
diff --git a/examples/scala-parallel-ecommercerecommendation/weighted-items/src/main/scala/ALSAlgorithm.scala b/examples/scala-parallel-ecommercerecommendation/weighted-items/src/main/scala/ALSAlgorithm.scala
index 9b557dc..019937b 100644
--- a/examples/scala-parallel-ecommercerecommendation/weighted-items/src/main/scala/ALSAlgorithm.scala
+++ b/examples/scala-parallel-ecommercerecommendation/weighted-items/src/main/scala/ALSAlgorithm.scala
@@ -27,13 +27,13 @@ case class ALSAlgorithmParams(
seed: Option[Long]
) extends Params
-case class ALSModel(
- rank: Int,
- userFeatures: Map[Int, Array[Double]],
- productFeatures: Map[Int, (Item, Option[Array[Double]])],
- userStringIntMap: BiMap[String, Int],
- itemStringIntMap: BiMap[String, Int]
-) {
+class ALSModel(
+ val rank: Int,
+ val userFeatures: Map[Int, Array[Double]],
+ val productFeatures: Map[Int, (Item, Option[Array[Double]])],
+ val userStringIntMap: BiMap[String, Int],
+ val itemStringIntMap: BiMap[String, Int]
+) extends Serializable {
@transient lazy val itemIntStringMap = itemStringIntMap.inverse
http://git-wip-us.apache.org/repos/asf/incubator-predictionio/blob/12771fa6/examples/scala-parallel-ecommercerecommendation/weighted-items/src/main/scala/DataSource.scala
----------------------------------------------------------------------
diff --git a/examples/scala-parallel-ecommercerecommendation/weighted-items/src/main/scala/DataSource.scala b/examples/scala-parallel-ecommercerecommendation/weighted-items/src/main/scala/DataSource.scala
index b1016ef..c102b72 100644
--- a/examples/scala-parallel-ecommercerecommendation/weighted-items/src/main/scala/DataSource.scala
+++ b/examples/scala-parallel-ecommercerecommendation/weighted-items/src/main/scala/DataSource.scala
@@ -101,11 +101,11 @@ case class Item(categories: Option[List[String]])
case class ViewEvent(user: String, item: String, t: Long)
-case class TrainingData(
- users: RDD[(String, User)],
- items: RDD[(String, Item)],
- viewEvents: RDD[ViewEvent]
-) {
+class TrainingData(
+ val users: RDD[(String, User)],
+ val items: RDD[(String, Item)],
+ val viewEvents: RDD[ViewEvent]
+) extends Serializable {
override def toString = {
s"users: [${users.count()} (${users.take(2).toList}...)]" +
s"items: [${items.count()} (${items.take(2).toList}...)]" +
http://git-wip-us.apache.org/repos/asf/incubator-predictionio/blob/12771fa6/examples/scala-parallel-ecommercerecommendation/weighted-items/src/main/scala/Preparator.scala
----------------------------------------------------------------------
diff --git a/examples/scala-parallel-ecommercerecommendation/weighted-items/src/main/scala/Preparator.scala b/examples/scala-parallel-ecommercerecommendation/weighted-items/src/main/scala/Preparator.scala
index 798bd91..4dd45cf 100644
--- a/examples/scala-parallel-ecommercerecommendation/weighted-items/src/main/scala/Preparator.scala
+++ b/examples/scala-parallel-ecommercerecommendation/weighted-items/src/main/scala/Preparator.scala
@@ -17,8 +17,8 @@ class Preparator
}
}
-case class PreparedData(
- users: RDD[(String, User)],
- items: RDD[(String, Item)],
- viewEvents: RDD[ViewEvent]
-)
+class PreparedData(
+ val users: RDD[(String, User)],
+ val items: RDD[(String, Item)],
+ val viewEvents: RDD[ViewEvent]
+) extends Serializable
http://git-wip-us.apache.org/repos/asf/incubator-predictionio/blob/12771fa6/examples/scala-parallel-recommendation/custom-prepartor/src/main/scala/DataSource.scala
----------------------------------------------------------------------
diff --git a/examples/scala-parallel-recommendation/custom-prepartor/src/main/scala/DataSource.scala b/examples/scala-parallel-recommendation/custom-prepartor/src/main/scala/DataSource.scala
index a7ee441..bad619c 100644
--- a/examples/scala-parallel-recommendation/custom-prepartor/src/main/scala/DataSource.scala
+++ b/examples/scala-parallel-recommendation/custom-prepartor/src/main/scala/DataSource.scala
@@ -60,9 +60,9 @@ case class Rating(
rating: Double
)
-case class TrainingData(
+class TrainingData(
val ratings: RDD[Rating]
-) {
+) extends Serializable {
override def toString = {
s"ratings: [${ratings.count()}] (${ratings.take(2).toList}...)"
}
http://git-wip-us.apache.org/repos/asf/incubator-predictionio/blob/12771fa6/examples/scala-parallel-recommendation/custom-prepartor/src/main/scala/Preparator.scala
----------------------------------------------------------------------
diff --git a/examples/scala-parallel-recommendation/custom-prepartor/src/main/scala/Preparator.scala b/examples/scala-parallel-recommendation/custom-prepartor/src/main/scala/Preparator.scala
index a4c3ebe..5e83fd4 100644
--- a/examples/scala-parallel-recommendation/custom-prepartor/src/main/scala/Preparator.scala
+++ b/examples/scala-parallel-recommendation/custom-prepartor/src/main/scala/Preparator.scala
@@ -26,7 +26,6 @@ class Preparator(pp: CustomPreparatorParams) // ADDED CustomPreparatorParams
}
}
-case class PreparedData(
- ratings: RDD[Rating]
-)
-
+class PreparedData(
+ val ratings: RDD[Rating]
+) extends Serializable
http://git-wip-us.apache.org/repos/asf/incubator-predictionio/blob/12771fa6/examples/scala-parallel-recommendation/custom-query/src/main/scala/DataSource.scala
----------------------------------------------------------------------
diff --git a/examples/scala-parallel-recommendation/custom-query/src/main/scala/DataSource.scala b/examples/scala-parallel-recommendation/custom-query/src/main/scala/DataSource.scala
index eb7ef0d..0221e25 100644
--- a/examples/scala-parallel-recommendation/custom-query/src/main/scala/DataSource.scala
+++ b/examples/scala-parallel-recommendation/custom-query/src/main/scala/DataSource.scala
@@ -73,7 +73,8 @@ object ItemMarshaller {
case class Rating(user: String, item: String, rating: Double)
-case class TrainingData(val ratings: RDD[Rating], val items: RDD[(String, Item)] {
+class TrainingData(val ratings: RDD[Rating], val items: RDD[(String, Item)])
+ extends Serializable {
override def toString =
s"ratings: [${ratings.count()}] (${ratings.take(2).toList}...)" +
http://git-wip-us.apache.org/repos/asf/incubator-predictionio/blob/12771fa6/examples/scala-parallel-recommendation/custom-query/src/main/scala/Preparator.scala
----------------------------------------------------------------------
diff --git a/examples/scala-parallel-recommendation/custom-query/src/main/scala/Preparator.scala b/examples/scala-parallel-recommendation/custom-query/src/main/scala/Preparator.scala
index 5750ff7..02a9ce5 100644
--- a/examples/scala-parallel-recommendation/custom-query/src/main/scala/Preparator.scala
+++ b/examples/scala-parallel-recommendation/custom-query/src/main/scala/Preparator.scala
@@ -12,4 +12,5 @@ class Preparator extends PPreparator[TrainingData, PreparedData] {
// HOWTO: added items(movies) list to prepared data to have possiblity to sort
// them in predict stage.
-case class PreparedData(val ratings: RDD[Rating], val items: RDD[(String, Item)])
+class PreparedData(val ratings: RDD[Rating], val items: RDD[(String, Item)])
+ extends Serializable
http://git-wip-us.apache.org/repos/asf/incubator-predictionio/blob/12771fa6/examples/scala-parallel-recommendation/custom-serving/src/main/scala/DataSource.scala
----------------------------------------------------------------------
diff --git a/examples/scala-parallel-recommendation/custom-serving/src/main/scala/DataSource.scala b/examples/scala-parallel-recommendation/custom-serving/src/main/scala/DataSource.scala
index f1cfaa2..bad619c 100644
--- a/examples/scala-parallel-recommendation/custom-serving/src/main/scala/DataSource.scala
+++ b/examples/scala-parallel-recommendation/custom-serving/src/main/scala/DataSource.scala
@@ -60,9 +60,9 @@ case class Rating(
rating: Double
)
-case class TrainingData(
- ratings: RDD[Rating]
-) {
+class TrainingData(
+ val ratings: RDD[Rating]
+) extends Serializable {
override def toString = {
s"ratings: [${ratings.count()}] (${ratings.take(2).toList}...)"
}
http://git-wip-us.apache.org/repos/asf/incubator-predictionio/blob/12771fa6/examples/scala-parallel-recommendation/filter-by-category/src/main/scala/Preparator.scala
----------------------------------------------------------------------
diff --git a/examples/scala-parallel-recommendation/filter-by-category/src/main/scala/Preparator.scala b/examples/scala-parallel-recommendation/filter-by-category/src/main/scala/Preparator.scala
index 2559e18..ca6efd8 100644
--- a/examples/scala-parallel-recommendation/filter-by-category/src/main/scala/Preparator.scala
+++ b/examples/scala-parallel-recommendation/filter-by-category/src/main/scala/Preparator.scala
@@ -14,8 +14,7 @@ class Preparator
}
}
-case class PreparedData(
- items: RDD[Item],
- ratings: RDD[Rating]
-)
-
+class PreparedData(
+ val items: RDD[Item],
+ val ratings: RDD[Rating]
+) extends Serializable
\ No newline at end of file
http://git-wip-us.apache.org/repos/asf/incubator-predictionio/blob/12771fa6/examples/scala-parallel-similarproduct/add-and-return-item-properties/src/main/scala/ALSAlgorithm.scala
----------------------------------------------------------------------
diff --git a/examples/scala-parallel-similarproduct/add-and-return-item-properties/src/main/scala/ALSAlgorithm.scala b/examples/scala-parallel-similarproduct/add-and-return-item-properties/src/main/scala/ALSAlgorithm.scala
index 9dbf865..1effe07 100644
--- a/examples/scala-parallel-similarproduct/add-and-return-item-properties/src/main/scala/ALSAlgorithm.scala
+++ b/examples/scala-parallel-similarproduct/add-and-return-item-properties/src/main/scala/ALSAlgorithm.scala
@@ -19,11 +19,11 @@ case class ALSAlgorithmParams(
lambda: Double,
seed: Option[Long]) extends Params
-case class ALSModel(
- productFeatures: Map[Int, Array[Double]],
- itemStringIntMap: BiMap[String, Int],
- items: Map[Int, Item]
-) {
+class ALSModel(
+ val productFeatures: Map[Int, Array[Double]],
+ val itemStringIntMap: BiMap[String, Int],
+ val items: Map[Int, Item]
+) extends Serializable {
@transient lazy val itemIntStringMap = itemStringIntMap.inverse
http://git-wip-us.apache.org/repos/asf/incubator-predictionio/blob/12771fa6/examples/scala-parallel-similarproduct/add-and-return-item-properties/src/main/scala/Preparator.scala
----------------------------------------------------------------------
diff --git a/examples/scala-parallel-similarproduct/add-and-return-item-properties/src/main/scala/Preparator.scala b/examples/scala-parallel-similarproduct/add-and-return-item-properties/src/main/scala/Preparator.scala
index 9df0a4b..6408909 100644
--- a/examples/scala-parallel-similarproduct/add-and-return-item-properties/src/main/scala/Preparator.scala
+++ b/examples/scala-parallel-similarproduct/add-and-return-item-properties/src/main/scala/Preparator.scala
@@ -17,9 +17,8 @@ class Preparator
}
}
-case class PreparedData(
- users: RDD[(String, User)],
- items: RDD[(String, Item)],
- viewEvents: RDD[ViewEvent]
-)
-
+class PreparedData(
+ val users: RDD[(String, User)],
+ val items: RDD[(String, Item)],
+ val viewEvents: RDD[ViewEvent]
+) extends Serializable
\ No newline at end of file
http://git-wip-us.apache.org/repos/asf/incubator-predictionio/blob/12771fa6/examples/scala-parallel-similarproduct/add-rateevent/src/main/scala/Preparator.scala
----------------------------------------------------------------------
diff --git a/examples/scala-parallel-similarproduct/add-rateevent/src/main/scala/Preparator.scala b/examples/scala-parallel-similarproduct/add-rateevent/src/main/scala/Preparator.scala
index a1704f7..1103919 100644
--- a/examples/scala-parallel-similarproduct/add-rateevent/src/main/scala/Preparator.scala
+++ b/examples/scala-parallel-similarproduct/add-rateevent/src/main/scala/Preparator.scala
@@ -17,9 +17,8 @@ class Preparator
}
}
-case class PreparedData(
- users: RDD[(String, User)],
- items: RDD[(String, Item)],
- rateEvents: RDD[RateEvent]
-)
-
+class PreparedData(
+ val users: RDD[(String, User)],
+ val items: RDD[(String, Item)],
+ val rateEvents: RDD[RateEvent]
+) extends Serializable
http://git-wip-us.apache.org/repos/asf/incubator-predictionio/blob/12771fa6/examples/scala-parallel-similarproduct/filterbyyear/src/main/scala/DataSource.scala
----------------------------------------------------------------------
diff --git a/examples/scala-parallel-similarproduct/filterbyyear/src/main/scala/DataSource.scala b/examples/scala-parallel-similarproduct/filterbyyear/src/main/scala/DataSource.scala
index 7f93ec0..a957579 100644
--- a/examples/scala-parallel-similarproduct/filterbyyear/src/main/scala/DataSource.scala
+++ b/examples/scala-parallel-similarproduct/filterbyyear/src/main/scala/DataSource.scala
@@ -101,11 +101,11 @@ case class Item(categories: Option[List[String]], year:Int)
case class ViewEvent(user: String, item: String, t: Long)
-case class TrainingData(
- users: RDD[(String, User)],
- items: RDD[(String, Item)],
- viewEvents: RDD[ViewEvent]
-) {
+class TrainingData(
+ val users: RDD[(String, User)],
+ val items: RDD[(String, Item)],
+ val viewEvents: RDD[ViewEvent]
+) extends Serializable {
override def toString = {
s"users: [${users.count()} (${users.take(2).toList}...)]" +
s"items: [${items.count()} (${items.take(2).toList}...)]" +
http://git-wip-us.apache.org/repos/asf/incubator-predictionio/blob/12771fa6/examples/scala-parallel-similarproduct/filterbyyear/src/main/scala/Preparator.scala
----------------------------------------------------------------------
diff --git a/examples/scala-parallel-similarproduct/filterbyyear/src/main/scala/Preparator.scala b/examples/scala-parallel-similarproduct/filterbyyear/src/main/scala/Preparator.scala
index 597e5a4..088d71e 100644
--- a/examples/scala-parallel-similarproduct/filterbyyear/src/main/scala/Preparator.scala
+++ b/examples/scala-parallel-similarproduct/filterbyyear/src/main/scala/Preparator.scala
@@ -17,9 +17,8 @@ class Preparator
}
}
-case class PreparedData(
- users: RDD[(String, User)],
- items: RDD[(String, Item)],
- viewEvents: RDD[ViewEvent]
-)
-
+class PreparedData(
+ val users: RDD[(String, User)],
+ val items: RDD[(String, Item)],
+ val viewEvents: RDD[ViewEvent]
+) extends Serializable
\ No newline at end of file
http://git-wip-us.apache.org/repos/asf/incubator-predictionio/blob/12771fa6/examples/scala-parallel-similarproduct/multi/src/main/scala/DataSource.scala
----------------------------------------------------------------------
diff --git a/examples/scala-parallel-similarproduct/multi/src/main/scala/DataSource.scala b/examples/scala-parallel-similarproduct/multi/src/main/scala/DataSource.scala
index b9269c2..7567c83 100644
--- a/examples/scala-parallel-similarproduct/multi/src/main/scala/DataSource.scala
+++ b/examples/scala-parallel-similarproduct/multi/src/main/scala/DataSource.scala
@@ -138,12 +138,12 @@ case class LikeEvent( // ADDED
like: Boolean // true: like. false: dislike
)
-case class TrainingData(
- users: RDD[(String, User)],
- items: RDD[(String, Item)],
- viewEvents: RDD[ViewEvent],
- likeEvents: RDD[LikeEvent] // ADDED
-) {
+class TrainingData(
+ val users: RDD[(String, User)],
+ val items: RDD[(String, Item)],
+ val viewEvents: RDD[ViewEvent],
+ val likeEvents: RDD[LikeEvent] // ADDED
+) extends Serializable {
override def toString = {
s"users: [${users.count()} (${users.take(2).toList}...)]" +
s"items: [${items.count()} (${items.take(2).toList}...)]" +
http://git-wip-us.apache.org/repos/asf/incubator-predictionio/blob/12771fa6/examples/scala-parallel-similarproduct/multi/src/main/scala/Preparator.scala
----------------------------------------------------------------------
diff --git a/examples/scala-parallel-similarproduct/multi/src/main/scala/Preparator.scala b/examples/scala-parallel-similarproduct/multi/src/main/scala/Preparator.scala
index 925cf7e..5a20ae8 100644
--- a/examples/scala-parallel-similarproduct/multi/src/main/scala/Preparator.scala
+++ b/examples/scala-parallel-similarproduct/multi/src/main/scala/Preparator.scala
@@ -18,10 +18,9 @@ class Preparator
}
}
-case class PreparedData(
- users: RDD[(String, User)],
- items: RDD[(String, Item)],
- viewEvents: RDD[ViewEvent],
- likeEvents: RDD[LikeEvent] // ADDED
-)
-
+class PreparedData(
+ val users: RDD[(String, User)],
+ val items: RDD[(String, Item)],
+ val viewEvents: RDD[ViewEvent],
+ val likeEvents: RDD[LikeEvent] // ADDED
+) extends Serializable
http://git-wip-us.apache.org/repos/asf/incubator-predictionio/blob/12771fa6/examples/scala-parallel-similarproduct/no-set-user/src/main/scala/DataSource.scala
----------------------------------------------------------------------
diff --git a/examples/scala-parallel-similarproduct/no-set-user/src/main/scala/DataSource.scala b/examples/scala-parallel-similarproduct/no-set-user/src/main/scala/DataSource.scala
index f3792d5..b24bc00 100644
--- a/examples/scala-parallel-similarproduct/no-set-user/src/main/scala/DataSource.scala
+++ b/examples/scala-parallel-similarproduct/no-set-user/src/main/scala/DataSource.scala
@@ -81,10 +81,10 @@ case class Item(categories: Option[List[String]])
case class ViewEvent(user: String, item: String, t: Long)
-case class TrainingData(
- items: RDD[(String, Item)],
- viewEvents: RDD[ViewEvent]
-) {
+class TrainingData(
+ val items: RDD[(String, Item)],
+ val viewEvents: RDD[ViewEvent]
+) extends Serializable {
override def toString = {
s"items: [${items.count()} (${items.take(2).toList}...)]" +
s"viewEvents: [${viewEvents.count()}] (${viewEvents.take(2).toList}...)"
http://git-wip-us.apache.org/repos/asf/incubator-predictionio/blob/12771fa6/examples/scala-parallel-similarproduct/no-set-user/src/main/scala/Preparator.scala
----------------------------------------------------------------------
diff --git a/examples/scala-parallel-similarproduct/no-set-user/src/main/scala/Preparator.scala b/examples/scala-parallel-similarproduct/no-set-user/src/main/scala/Preparator.scala
index 0cef2ab..83d8e84 100644
--- a/examples/scala-parallel-similarproduct/no-set-user/src/main/scala/Preparator.scala
+++ b/examples/scala-parallel-similarproduct/no-set-user/src/main/scala/Preparator.scala
@@ -16,8 +16,7 @@ class Preparator
}
}
-case class PreparedData(
- items: RDD[(String, Item)],
- viewEvents: RDD[ViewEvent]
-)
-
+class PreparedData(
+ val items: RDD[(String, Item)],
+ val viewEvents: RDD[ViewEvent]
+) extends Serializable
http://git-wip-us.apache.org/repos/asf/incubator-predictionio/blob/12771fa6/examples/scala-parallel-similarproduct/recommended-user/src/main/scala/DataSource.scala
----------------------------------------------------------------------
diff --git a/examples/scala-parallel-similarproduct/recommended-user/src/main/scala/DataSource.scala b/examples/scala-parallel-similarproduct/recommended-user/src/main/scala/DataSource.scala
index cda31df..768d79b 100644
--- a/examples/scala-parallel-similarproduct/recommended-user/src/main/scala/DataSource.scala
+++ b/examples/scala-parallel-similarproduct/recommended-user/src/main/scala/DataSource.scala
@@ -73,10 +73,10 @@ case class User()
case class FollowEvent(user: String, followedUser: String, t: Long)
-case class TrainingData(
- users: RDD[(String, User)],
- followEvents: RDD[FollowEvent]
-) {
+class TrainingData(
+ val users: RDD[(String, User)],
+ val followEvents: RDD[FollowEvent]
+) extends Serializable {
override def toString = {
s"users: [${users.count()} (${users.take(2).toList}...)]" +
s"followEvents: [${followEvents.count()}] (${followEvents.take(2).toList}...)"
http://git-wip-us.apache.org/repos/asf/incubator-predictionio/blob/12771fa6/examples/scala-parallel-similarproduct/recommended-user/src/main/scala/Preparator.scala
----------------------------------------------------------------------
diff --git a/examples/scala-parallel-similarproduct/recommended-user/src/main/scala/Preparator.scala b/examples/scala-parallel-similarproduct/recommended-user/src/main/scala/Preparator.scala
index 59abb62..26a4147 100644
--- a/examples/scala-parallel-similarproduct/recommended-user/src/main/scala/Preparator.scala
+++ b/examples/scala-parallel-similarproduct/recommended-user/src/main/scala/Preparator.scala
@@ -14,7 +14,7 @@ class Preparator
}
}
-case class PreparedData(
- users: RDD[(String, User)],
- followEvents: RDD[FollowEvent]
-)
+class PreparedData(
+ val users: RDD[(String, User)],
+ val followEvents: RDD[FollowEvent]
+) extends Serializable
[31/50] [abbrv] incubator-predictionio git commit: Use HTTPS
Posted by ap...@apache.org.
Use HTTPS
Project: http://git-wip-us.apache.org/repos/asf/incubator-predictionio/repo
Commit: http://git-wip-us.apache.org/repos/asf/incubator-predictionio/commit/7bf0bed7
Tree: http://git-wip-us.apache.org/repos/asf/incubator-predictionio/tree/7bf0bed7
Diff: http://git-wip-us.apache.org/repos/asf/incubator-predictionio/diff/7bf0bed7
Branch: refs/heads/master
Commit: 7bf0bed71c79e29392de758a8ae658c7d9556f1d
Parents: 833f4dd
Author: Donald Szeto <do...@prediction.io>
Authored: Mon Mar 28 11:43:52 2016 -0700
Committer: Donald Szeto <do...@prediction.io>
Committed: Mon Mar 28 11:43:52 2016 -0700
----------------------------------------------------------------------
core/src/main/scala/io/prediction/workflow/WorkflowUtils.scala | 4 ++--
.../src/main/scala/io/prediction/tools/console/Template.scala | 6 +++---
2 files changed, 5 insertions(+), 5 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/incubator-predictionio/blob/7bf0bed7/core/src/main/scala/io/prediction/workflow/WorkflowUtils.scala
----------------------------------------------------------------------
diff --git a/core/src/main/scala/io/prediction/workflow/WorkflowUtils.scala b/core/src/main/scala/io/prediction/workflow/WorkflowUtils.scala
index 9ebd988..d93b9eb 100644
--- a/core/src/main/scala/io/prediction/workflow/WorkflowUtils.scala
+++ b/core/src/main/scala/io/prediction/workflow/WorkflowUtils.scala
@@ -294,7 +294,7 @@ object WorkflowUtils extends Logging {
"Since 0.8.4, the 'params' field is required in engine.json" +
" in order to specify parameters for DataSource, Preparator or" +
" Serving.\n" +
- "Please go to http://docs.prediction.io/resources/upgrade/" +
+ "Please go to https://docs.prediction.io/resources/upgrade/" +
" for detailed instruction of how to change engine.json.")
sys.exit(1)
}
@@ -388,7 +388,7 @@ class UpgradeCheckRunner(
val component: String,
val engine: String) extends Runnable with Logging {
val version = BuildInfo.version
- val versionsHost = "http://direct.prediction.io/"
+ val versionsHost = "https://direct.prediction.io/"
def run(): Unit = {
val url = if (engine == "") {
http://git-wip-us.apache.org/repos/asf/incubator-predictionio/blob/7bf0bed7/tools/src/main/scala/io/prediction/tools/console/Template.scala
----------------------------------------------------------------------
diff --git a/tools/src/main/scala/io/prediction/tools/console/Template.scala b/tools/src/main/scala/io/prediction/tools/console/Template.scala
index f41e0c2..a0b4376 100644
--- a/tools/src/main/scala/io/prediction/tools/console/Template.scala
+++ b/tools/src/main/scala/io/prediction/tools/console/Template.scala
@@ -179,7 +179,7 @@ object Template extends Logging {
"email" -> email,
"org" -> org)
try {
- httpOptionalProxy("http://update.prediction.io/templates.subscribe").
+ httpOptionalProxy("https://update.prediction.io/templates.subscribe").
postData("json=" + write(data)).asString
} catch {
case e: Throwable => error("Unable to subscribe.")
@@ -189,14 +189,14 @@ object Template extends Logging {
def meta(repo: String, name: String, org: String): Unit = {
try {
httpOptionalProxy(
- s"http://meta.prediction.io/templates/$repo/$org/$name").asString
+ s"https://meta.prediction.io/templates/$repo/$org/$name").asString
} catch {
case e: Throwable => debug("Template metadata unavailable.")
}
}
def list(ca: ConsoleArgs): Int = {
- val templatesUrl = "http://templates.prediction.io/index.json"
+ val templatesUrl = "https://templates.prediction.io/index.json"
try {
val templatesJson = Source.fromURL(templatesUrl).mkString("")
val templates = read[List[TemplateEntry]](templatesJson)
[30/50] [abbrv] incubator-predictionio git commit: Merge pull request
#213 from monckdav/patch-1
Posted by ap...@apache.org.
Merge pull request #213 from monckdav/patch-1
Update index.html.md
Project: http://git-wip-us.apache.org/repos/asf/incubator-predictionio/repo
Commit: http://git-wip-us.apache.org/repos/asf/incubator-predictionio/commit/8fb3c6fe
Tree: http://git-wip-us.apache.org/repos/asf/incubator-predictionio/tree/8fb3c6fe
Diff: http://git-wip-us.apache.org/repos/asf/incubator-predictionio/diff/8fb3c6fe
Branch: refs/heads/master
Commit: 8fb3c6fea899046d57b812baed8ca8bdd63c9f12
Parents: de5aff6 bfec267
Author: Donald Szeto <do...@prediction.io>
Authored: Mon Mar 28 09:48:56 2016 -0700
Committer: Donald Szeto <do...@prediction.io>
Committed: Mon Mar 28 09:48:56 2016 -0700
----------------------------------------------------------------------
docs/manual/source/deploy/index.html.md | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
----------------------------------------------------------------------
[27/50] [abbrv] incubator-predictionio git commit: Scalastyle fixes
Posted by ap...@apache.org.
Scalastyle fixes
Project: http://git-wip-us.apache.org/repos/asf/incubator-predictionio/repo
Commit: http://git-wip-us.apache.org/repos/asf/incubator-predictionio/commit/e6016681
Tree: http://git-wip-us.apache.org/repos/asf/incubator-predictionio/tree/e6016681
Diff: http://git-wip-us.apache.org/repos/asf/incubator-predictionio/diff/e6016681
Branch: refs/heads/master
Commit: e6016681511a5331d75b9eb5af8e50e89fed41e9
Parents: 21f14b5
Author: Donald Szeto <do...@prediction.io>
Authored: Tue Mar 8 19:01:31 2016 -0800
Committer: Donald Szeto <do...@prediction.io>
Committed: Tue Mar 8 19:01:31 2016 -0800
----------------------------------------------------------------------
.../authentication/KeyAuthentication.scala | 28 ++++++++++----
.../configuration/SSLConfiguration.scala | 39 +++++++++++++++-----
.../io/prediction/workflow/CreateServer.scala | 17 +++++++--
.../prediction/tools/dashboard/Dashboard.scala | 6 ++-
4 files changed, 68 insertions(+), 22 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/incubator-predictionio/blob/e6016681/common/src/main/scala/io/prediction/authentication/KeyAuthentication.scala
----------------------------------------------------------------------
diff --git a/common/src/main/scala/io/prediction/authentication/KeyAuthentication.scala b/common/src/main/scala/io/prediction/authentication/KeyAuthentication.scala
index d2e613e..752b5e1 100644
--- a/common/src/main/scala/io/prediction/authentication/KeyAuthentication.scala
+++ b/common/src/main/scala/io/prediction/authentication/KeyAuthentication.scala
@@ -1,3 +1,18 @@
+/** Copyright 2015 TappingStone, Inc.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
package io.prediction.authentication
/**
@@ -5,17 +20,13 @@ package io.prediction.authentication
* It is highly recommended to implement a stonger authentication mechanism
*/
-import java.io.File
-
import com.typesafe.config.ConfigFactory
-
-import scala.concurrent.ExecutionContext.Implicits.global
import spray.http.HttpRequest
-import spray.routing.{AuthenticationFailedRejection, RequestContext}
import spray.routing.authentication._
-import spray.routing.directives.AuthMagnet
-import scala.concurrent.Future
+import spray.routing.{AuthenticationFailedRejection, RequestContext}
+import scala.concurrent.ExecutionContext.Implicits.global
+import scala.concurrent.Future
trait KeyAuthentication {
@@ -36,7 +47,8 @@ trait KeyAuthentication {
}
if (passedKey.equals(ServerKey.get)) Right(ctx.request)
- else Left(AuthenticationFailedRejection(AuthenticationFailedRejection.CredentialsRejected, List()))
+ else Left(AuthenticationFailedRejection(
+ AuthenticationFailedRejection.CredentialsRejected, List()))
}
}
http://git-wip-us.apache.org/repos/asf/incubator-predictionio/blob/e6016681/common/src/main/scala/io/prediction/configuration/SSLConfiguration.scala
----------------------------------------------------------------------
diff --git a/common/src/main/scala/io/prediction/configuration/SSLConfiguration.scala b/common/src/main/scala/io/prediction/configuration/SSLConfiguration.scala
index 95cc674..f784130 100644
--- a/common/src/main/scala/io/prediction/configuration/SSLConfiguration.scala
+++ b/common/src/main/scala/io/prediction/configuration/SSLConfiguration.scala
@@ -1,3 +1,18 @@
+/** Copyright 2015 TappingStone, Inc.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
package io.prediction.configuration
/**
@@ -5,7 +20,6 @@ package io.prediction.configuration
*/
import java.io.FileInputStream
-import java.io.File
import java.security.KeyStore
import javax.net.ssl.{KeyManagerFactory, SSLContext, TrustManagerFactory}
@@ -16,37 +30,42 @@ trait SSLConfiguration {
private val serverConfig = ConfigFactory.load("server.conf")
- private val keyStoreResource = serverConfig.getString("io.prediction.server.ssl-keystore-resource")
+ private val keyStoreResource =
+ serverConfig.getString("io.prediction.server.ssl-keystore-resource")
private val password = serverConfig.getString("io.prediction.server.ssl-keystore-pass")
private val keyAlias = serverConfig.getString("io.prediction.server.ssl-key-alias")
private val keyStore = {
- //Loading keystore from specified file
+ // Loading keystore from specified file
val clientStore = KeyStore.getInstance("JKS")
- val inputStream = new FileInputStream(getClass().getClassLoader().getResource(keyStoreResource).getFile())
+ val inputStream = new FileInputStream(
+ getClass().getClassLoader().getResource(keyStoreResource).getFile())
clientStore.load(inputStream, password.toCharArray)
inputStream.close()
clientStore
}
- //Creating SSL context
+ // Creating SSL context
implicit def sslContext: SSLContext = {
val context = SSLContext.getInstance("TLS")
- val tmf: TrustManagerFactory = TrustManagerFactory.getInstance(TrustManagerFactory.getDefaultAlgorithm)
- val kmf: KeyManagerFactory = KeyManagerFactory.getInstance(KeyManagerFactory.getDefaultAlgorithm)
+ val tmf = TrustManagerFactory.getInstance(TrustManagerFactory.getDefaultAlgorithm)
+ val kmf = KeyManagerFactory.getInstance(KeyManagerFactory.getDefaultAlgorithm)
kmf.init(keyStore, password.toCharArray)
tmf.init(keyStore)
context.init(kmf.getKeyManagers, tmf.getTrustManagers, null)
context
}
- //provide implicit SSLEngine with some protocols
+ // provide implicit SSLEngine with some protocols
implicit def sslEngineProvider: ServerSSLEngineProvider = {
ServerSSLEngineProvider { engine =>
- engine.setEnabledCipherSuites(Array("TLS_RSA_WITH_AES_256_CBC_SHA", "TLS_ECDH_ECDSA_WITH_RC4_128_SHA", "TLS_RSA_WITH_AES_128_CBC_SHA"))
+ engine.setEnabledCipherSuites(Array(
+ "TLS_RSA_WITH_AES_256_CBC_SHA",
+ "TLS_ECDH_ECDSA_WITH_RC4_128_SHA",
+ "TLS_RSA_WITH_AES_128_CBC_SHA"))
engine.setEnabledProtocols(Array("TLSv1", "TLSv1.2", "TLSv1.1"))
engine
}
}
-}
\ No newline at end of file
+}
http://git-wip-us.apache.org/repos/asf/incubator-predictionio/blob/e6016681/core/src/main/scala/io/prediction/workflow/CreateServer.scala
----------------------------------------------------------------------
diff --git a/core/src/main/scala/io/prediction/workflow/CreateServer.scala b/core/src/main/scala/io/prediction/workflow/CreateServer.scala
index 1bf3024..a664187 100644
--- a/core/src/main/scala/io/prediction/workflow/CreateServer.scala
+++ b/core/src/main/scala/io/prediction/workflow/CreateServer.scala
@@ -297,7 +297,10 @@ class MasterActor (
log.info(
s"Undeploying any existing engine instance at $serverUrl")
try {
- val code = scalaj.http.Http(s"$serverUrl/stop").option(HttpOptions.allowUnsafeSSL).param(ServerKey.param, ServerKey.get).method("POST").asString.code
+ val code = scalaj.http.Http(s"$serverUrl/stop")
+ .option(HttpOptions.allowUnsafeSSL)
+ .param(ServerKey.param, ServerKey.get)
+ .method("POST").asString.code
code match {
case 200 => Unit
case 404 => log.error(
@@ -329,7 +332,11 @@ class MasterActor (
case x: BindServer =>
currentServerActor map { actor =>
val settings = ServerSettings(system)
- IO(Http) ! Http.Bind(actor, interface = sc.ip, port = sc.port, settings = Some(settings.copy(sslEncryption = true)))
+ IO(Http) ! Http.Bind(
+ actor,
+ interface = sc.ip,
+ port = sc.port,
+ settings = Some(settings.copy(sslEncryption = true)))
} getOrElse {
log.error("Cannot bind a non-existing server backend.")
}
@@ -354,7 +361,11 @@ class MasterActor (
sprayHttpListener.map { l =>
l ! Http.Unbind(5.seconds)
val settings = ServerSettings(system)
- IO(Http) ! Http.Bind(actor, interface = sc.ip, port = sc.port, settings = Some(settings.copy(sslEncryption = true)))
+ IO(Http) ! Http.Bind(
+ actor,
+ interface = sc.ip,
+ port = sc.port,
+ settings = Some(settings.copy(sslEncryption = true)))
currentServerActor.get ! Kill
currentServerActor = Some(actor)
} getOrElse {
http://git-wip-us.apache.org/repos/asf/incubator-predictionio/blob/e6016681/tools/src/main/scala/io/prediction/tools/dashboard/Dashboard.scala
----------------------------------------------------------------------
diff --git a/tools/src/main/scala/io/prediction/tools/dashboard/Dashboard.scala b/tools/src/main/scala/io/prediction/tools/dashboard/Dashboard.scala
index 48e23d1..154ba4e 100644
--- a/tools/src/main/scala/io/prediction/tools/dashboard/Dashboard.scala
+++ b/tools/src/main/scala/io/prediction/tools/dashboard/Dashboard.scala
@@ -62,7 +62,11 @@ object Dashboard extends Logging with SSLConfiguration{
system.actorOf(Props(classOf[DashboardActor], dc), "dashboard")
implicit val timeout = Timeout(5.seconds)
val settings = ServerSettings(system)
- IO(Http) ? Http.Bind(service, interface = dc.ip, port = dc.port, settings = Some(settings.copy(sslEncryption = true)))
+ IO(Http) ? Http.Bind(
+ service,
+ interface = dc.ip,
+ port = dc.port,
+ settings = Some(settings.copy(sslEncryption = true)))
system.awaitTermination
}
}
[38/50] [abbrv] incubator-predictionio git commit: Use Travis
containers
Posted by ap...@apache.org.
Use Travis containers
Project: http://git-wip-us.apache.org/repos/asf/incubator-predictionio/repo
Commit: http://git-wip-us.apache.org/repos/asf/incubator-predictionio/commit/da837dab
Tree: http://git-wip-us.apache.org/repos/asf/incubator-predictionio/tree/da837dab
Diff: http://git-wip-us.apache.org/repos/asf/incubator-predictionio/diff/da837dab
Branch: refs/heads/master
Commit: da837dab766f3b21f647cd68c341d27e8929069d
Parents: 20a4c20
Author: Donald Szeto <do...@prediction.io>
Authored: Mon Mar 28 17:23:17 2016 -0700
Committer: Donald Szeto <do...@prediction.io>
Committed: Mon Mar 28 17:23:17 2016 -0700
----------------------------------------------------------------------
.travis.yml | 2 ++
1 file changed, 2 insertions(+)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/incubator-predictionio/blob/da837dab/.travis.yml
----------------------------------------------------------------------
diff --git a/.travis.yml b/.travis.yml
index 12ad02e..06c6b9a 100644
--- a/.travis.yml
+++ b/.travis.yml
@@ -9,6 +9,8 @@ rvm:
gemfile: docs/manual/Gemfile
+sudo: false
+
script:
- cd docs/manual
- bundle exec middleman build
[03/50] [abbrv] incubator-predictionio git commit: Revert "Fix
install.sh for Docker mode (Elastic Search + Hbase not installed)"
Posted by ap...@apache.org.
Revert "Fix install.sh for Docker mode (Elastic Search + Hbase not installed)"
This reverts commit d4152fe6375faea29022b2a625f89c18ab63c137.
Project: http://git-wip-us.apache.org/repos/asf/incubator-predictionio/repo
Commit: http://git-wip-us.apache.org/repos/asf/incubator-predictionio/commit/73778603
Tree: http://git-wip-us.apache.org/repos/asf/incubator-predictionio/tree/73778603
Diff: http://git-wip-us.apache.org/repos/asf/incubator-predictionio/diff/73778603
Branch: refs/heads/master
Commit: 7377860318107784c8378016f8e0a9daebb741ba
Parents: 5a359bd
Author: Donald Szeto <do...@prediction.io>
Authored: Thu Jan 28 17:39:27 2016 -0800
Committer: Donald Szeto <do...@prediction.io>
Committed: Thu Jan 28 17:39:27 2016 -0800
----------------------------------------------------------------------
bin/install.sh | 1 -
1 file changed, 1 deletion(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/incubator-predictionio/blob/73778603/bin/install.sh
----------------------------------------------------------------------
diff --git a/bin/install.sh b/bin/install.sh
index 3d8ca60..252ab3e 100755
--- a/bin/install.sh
+++ b/bin/install.sh
@@ -71,7 +71,6 @@ if [[ "$OS" = "Linux" && $(cat /proc/1/cgroup) == *cpu:/docker/* ]]; then
echo -e "\033[1;33mForcing Docker defaults!\033[0m"
pio_dir=${PIO_DIR}
vendors_dir=${pio_dir}/vendors
- source_setup=${ES_HB}
spark_dir=${vendors_dir}/spark-${SPARK_VERSION}
elasticsearch_dir=${vendors_dir}/elasticsearch-${ELASTICSEARCH_VERSION}
[43/50] [abbrv] incubator-predictionio git commit: Remove indentation
change which is not range of this PR.
Posted by ap...@apache.org.
Remove indentation change which is not range of this PR.
Project: http://git-wip-us.apache.org/repos/asf/incubator-predictionio/repo
Commit: http://git-wip-us.apache.org/repos/asf/incubator-predictionio/commit/e51e28b8
Tree: http://git-wip-us.apache.org/repos/asf/incubator-predictionio/tree/e51e28b8
Diff: http://git-wip-us.apache.org/repos/asf/incubator-predictionio/diff/e51e28b8
Branch: refs/heads/master
Commit: e51e28b835895dcf02aa03e9484f2c53eeecc160
Parents: 7a40f73
Author: hyukjinkwon <gu...@gmail.com>
Authored: Sun Apr 3 14:33:15 2016 +0900
Committer: hyukjinkwon <gu...@gmail.com>
Committed: Sun Apr 3 14:33:15 2016 +0900
----------------------------------------------------------------------
e2/src/main/scala/io/prediction/e2/engine/BinaryVectorizer.scala | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/incubator-predictionio/blob/e51e28b8/e2/src/main/scala/io/prediction/e2/engine/BinaryVectorizer.scala
----------------------------------------------------------------------
diff --git a/e2/src/main/scala/io/prediction/e2/engine/BinaryVectorizer.scala b/e2/src/main/scala/io/prediction/e2/engine/BinaryVectorizer.scala
index 75e818a..6c0d5d3 100644
--- a/e2/src/main/scala/io/prediction/e2/engine/BinaryVectorizer.scala
+++ b/e2/src/main/scala/io/prediction/e2/engine/BinaryVectorizer.scala
@@ -22,7 +22,7 @@ import scala.collection.immutable.HashMap
import scala.collection.immutable.HashSet
class BinaryVectorizer(propertyMap : HashMap[(String, String), Int])
- extends Serializable {
+extends Serializable {
val properties: Array[(String, String)] = propertyMap.toArray.sortBy(_._2).map(_._1)
val numFeatures = propertyMap.size
[44/50] [abbrv] incubator-predictionio git commit: Remove an
additional newline in scalastyle-config.xml
Posted by ap...@apache.org.
Remove an additional newline in scalastyle-config.xml
Project: http://git-wip-us.apache.org/repos/asf/incubator-predictionio/repo
Commit: http://git-wip-us.apache.org/repos/asf/incubator-predictionio/commit/05a37d15
Tree: http://git-wip-us.apache.org/repos/asf/incubator-predictionio/tree/05a37d15
Diff: http://git-wip-us.apache.org/repos/asf/incubator-predictionio/diff/05a37d15
Branch: refs/heads/master
Commit: 05a37d15352a9e99044c7315df7aa6045cf82494
Parents: e51e28b
Author: hyukjinkwon <gu...@gmail.com>
Authored: Sun Apr 3 14:41:54 2016 +0900
Committer: hyukjinkwon <gu...@gmail.com>
Committed: Sun Apr 3 14:41:54 2016 +0900
----------------------------------------------------------------------
scalastyle-config.xml | 1 -
1 file changed, 1 deletion(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/incubator-predictionio/blob/05a37d15/scalastyle-config.xml
----------------------------------------------------------------------
diff --git a/scalastyle-config.xml b/scalastyle-config.xml
index d24468f..0f9b0b2 100644
--- a/scalastyle-config.xml
+++ b/scalastyle-config.xml
@@ -98,5 +98,4 @@ limitations under the License.
<check level="error"
class="org.scalastyle.file.WhitespaceEndOfLineChecker"
enabled="true"/>
-
</scalastyle>
[28/50] [abbrv] incubator-predictionio git commit: Merge branch
'livedoc' into develop
Posted by ap...@apache.org.
Merge branch 'livedoc' into develop
Project: http://git-wip-us.apache.org/repos/asf/incubator-predictionio/repo
Commit: http://git-wip-us.apache.org/repos/asf/incubator-predictionio/commit/22ecaf6c
Tree: http://git-wip-us.apache.org/repos/asf/incubator-predictionio/tree/22ecaf6c
Diff: http://git-wip-us.apache.org/repos/asf/incubator-predictionio/diff/22ecaf6c
Branch: refs/heads/master
Commit: 22ecaf6c7183b896b2e490a9bafd52515d62155a
Parents: e601668 de5aff6
Author: Donald Szeto <do...@prediction.io>
Authored: Tue Mar 8 19:10:10 2016 -0800
Committer: Donald Szeto <do...@prediction.io>
Committed: Tue Mar 8 19:10:10 2016 -0800
----------------------------------------------------------------------
docs/manual/data/nav/main.yml | 6 +-
docs/manual/source/community/projects.html.md | 10 ++
.../analytics-zeppelin.html.md.erb | 2 +-
.../source/datacollection/eventapi.html.md | 5 +
.../datacollection/eventmodel.html.md.erb | 73 +++++++++
docs/manual/source/demo/tapster.html.md | 10 +-
.../source/demo/textclassification.html.md | 151 ++++++++++++++-----
docs/manual/source/evaluation/index.html.md | 4 +-
.../source/evaluation/paramtuning.html.md | 62 ++++----
docs/manual/source/layouts/layout.html.slim | 2 +
docs/manual/source/logo/index.html.md | 56 -------
docs/manual/source/partials/_adroll.html.slim | 18 +++
docs/manual/source/partials/_header.html.slim | 6 +-
.../manual/source/partials/_quantcast.html.slim | 18 +++
docs/manual/source/sdk/community.html.md | 4 +-
docs/manual/source/support/index.html.md.erb | 5 +-
.../templates/classification/dase.html.md.erb | 4 +-
.../quickstart.html.md.erb | 8 +-
.../similarproduct/quickstart.html.md.erb | 6 +-
19 files changed, 291 insertions(+), 159 deletions(-)
----------------------------------------------------------------------
[02/50] [abbrv] incubator-predictionio git commit: update tutorial
Posted by ap...@apache.org.
update tutorial
Project: http://git-wip-us.apache.org/repos/asf/incubator-predictionio/repo
Commit: http://git-wip-us.apache.org/repos/asf/incubator-predictionio/commit/0073540d
Tree: http://git-wip-us.apache.org/repos/asf/incubator-predictionio/tree/0073540d
Diff: http://git-wip-us.apache.org/repos/asf/incubator-predictionio/diff/0073540d
Branch: refs/heads/master
Commit: 0073540d634276cb352c5229aeaf280ea0ca88f2
Parents: e7b07ea
Author: Kenneth Chan <ke...@prediction.io>
Authored: Thu Jan 28 16:37:52 2016 -0800
Committer: Kenneth Chan <ke...@prediction.io>
Committed: Thu Jan 28 16:37:52 2016 -0800
----------------------------------------------------------------------
.../source/demo/textclassification.html.md | 27 ++++++++++++--------
1 file changed, 17 insertions(+), 10 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/incubator-predictionio/blob/0073540d/docs/manual/source/demo/textclassification.html.md
----------------------------------------------------------------------
diff --git a/docs/manual/source/demo/textclassification.html.md b/docs/manual/source/demo/textclassification.html.md
index 6b95544..7b819e3 100644
--- a/docs/manual/source/demo/textclassification.html.md
+++ b/docs/manual/source/demo/textclassification.html.md
@@ -2,6 +2,8 @@
title: Text Classification Engine Tutorial
---
+(Updated for Text Classification Template version 3.1)
+
## Introduction
In the real world, there are many applications that collect text as data. For example, spam detectors take email and header content to automatically determine what is or is not spam; applications can gague the general sentiment in a geographical area by analyzing Twitter data; and news articles can be automatically categorized based solely on the text content.There are a wide array of machine learning models you can use to create, or train, a predictive model to assign an incoming article, or query, to an existing category. Before you can use these techniques you must first transform the text data (in this case the set of news articles) into numeric vectors, or feature vectors, that can be used to train your model.
@@ -185,12 +187,13 @@ Only the latter commands are listed as these are some of the more commonly modif
**Note:** We recommend you set your driver memory to `1G` or `2G` as the data size when dealing with text can be very large.
-
+# Detailed Explanation of DASE
## Importing Data
-Follow the Quick Start instructions for importing data. Make sure that the Data Source is modified accordingly to match the `event`, `entityType`, and `properties` fields set for the specific dataset. The following section explains this in more detail.
+In the quick start, email spam classification is used. This template can easily be modified for other types text classification.
+If you want to import different sets of data, follow the Quick Start instructions to import data from different files. Make sure that the Data Source is modified accordingly to match the `event`, `entityType`, and `properties` fields set for the specific dataset. The following section explains this in more detail.
## Data Source: Reading Event Data
@@ -240,30 +243,32 @@ private def readEventData(sc: SparkContext) : RDD[Observation] = {
Note that `readEventData` and `readStopWords` use different entity types and event names, but use the same application name. This is because the sample import script imports two different data types, documents and stop words. These field distinctions are required for distinguishing between the two. The method `readEval` is used to prepare the different cross-validation folds needed for evaluating your model and tuning hyper parameters.
-Now, the default dataset used for training is contained in the file `data/emails.json` and contains a set of e-mail spam data. If we want to switch over to one of the other data sets we must make sure that the `eventNames` and `entityType` fields are changed accordingly. The following show one observation from each of the provided data files:
+Now, the default dataset used for training is contained in the file `data/emails.json` and contains a set of e-mail spam data. If we want to switch over to one of the other data sets we must make sure that the `eventNames` and `entityType` fields are changed accordingly.
+
+In the data/ directory, you will find different sets of data files for different types of text classifcaiton application. The following show one observation from each of the provided data files:
-**1.** `emails.json`
+- `emails.json`:
```
{"eventTime": "2015-06-08T16:45:00.590+0000", "entityId": 1, "properties": {"text": "Subject: dobmeos with hgh my energy level has gone up ! stukm\nintroducing\ndoctor - formulated\nhgh\nhuman growth hormone - also called hgh\nis referred to in medical science as the master hormone . it is very plentiful\nwhen we are young , but near the age of twenty - one our bodies begin to produce\nless of it . by the time we are forty nearly everyone is deficient in hgh ,\nand at eighty our production has normally diminished at least 90 - 95 % .\nadvantages of hgh :\n- increased muscle strength\n- loss in body fat\n- increased bone density\n- lower blood pressure\n- quickens wound healing\n- reduces cellulite\n- improved vision\n- wrinkle disappearance\n- increased skin thickness texture\n- increased energy levels\n- improved sleep and emotional stability\n- improved memory and mental alertness\n- increased sexual potency\n- resistance to common illness\n- strengthened heart muscle\n- controlle
d cholesterol\n- controlled mood swings\n- new hair growth and color restore\nread\nmore at this website\nunsubscribe\n", "label": "spam"}, "event": "e-mail", "entityType": "content"}
```
-**2.** `20newsgroups.json`
+- `20newsgroups.json`:
```
{"entityType": "source", "eventTime": "2015-06-08T18:01:55.003+0000", "event": "documents", "entityId": 1, "properties": {"category": "sci.crypt", "text": "From: rj@ri.cadre.com (Rob deFriesse)\nSubject: Can DES code be shipped to Canada?\nArticle-I.D.: fripp.1993Apr22.125402.27561\nReply-To: rj@ri.cadre.com\nOrganization: Cadre Technologies Inc.\nLines: 13\nNntp-Posting-Host: 192.9.200.19\n\nSomeone in Canada asked me to send him some public domain DES file\nencryption code I have. Is it legal for me to send it?\n\nThanx.\n--\nEschew Obfuscation\n\nRob deFriesse Mail: rj@ri.cadre.com\nCadre Technologies Inc. Phone: (401) 351-5950\n222 Richmond St. Fax: (401) 351-7380\nProvidence, RI 02903\n\nI don't speak for my employer.\n", "label": 11.0}}
```
-**3.** `sentimentanalysis.json`
+- `sentimentanalysis.json`:
```
{"eventTime": "2015-06-08T16:58:14.278+0000", "entityId": 23714, "entityType": "source", "properties": {"phrase": "Tosca 's intoxicating ardor", "sentiment": 3}, "event": "phrases"}
```
-Now, note that the `entityType`, `event`, and `properties` fields for the `20newsgroups.json` dataset differ from the default `emails.json` set. If you want to use the newsgroups data set the engine's Data Source component must be modified accordingly. To do this, you need only modify the method `readEventData` as follows:
+Now, note that the `entityType`, `event`, and `properties` fields for the `20newsgroups.json` dataset differ from the default `emails.json` set. Default DataSource implementation is to read from `email.json` data set. If you want to use others such as newsgroups data set, the engine's Data Source component must be modified accordingly. To do this, you need only modify the method `readEventData` as follows:
-**1.** `20newsgroups.json`
+### Modify DataSource to Read `20newsgroups.json`
```scala
private def readEventData(sc: SparkContext) : RDD[Observation] = {
@@ -286,7 +291,7 @@ private def readEventData(sc: SparkContext) : RDD[Observation] = {
}
```
-**2.** `sentimentanalysis.json`
+### Modify DataSource to Read `sentimentanalysis.json`
```scala
private def readEventData(sc: SparkContext) : RDD[Observation] = {
@@ -356,7 +361,9 @@ Recall that the Preparator stage is used for doing any prior data processing nee
// components.
case class PreparatorParams(
- nGram : Int
+ nGram: Int,
+ numFeatures: Int = 5000,
+ SPPMI: Boolean
) extends Params
[36/50] [abbrv] incubator-predictionio git commit: Update gems
Posted by ap...@apache.org.
Update gems
Project: http://git-wip-us.apache.org/repos/asf/incubator-predictionio/repo
Commit: http://git-wip-us.apache.org/repos/asf/incubator-predictionio/commit/1e27c3b7
Tree: http://git-wip-us.apache.org/repos/asf/incubator-predictionio/tree/1e27c3b7
Diff: http://git-wip-us.apache.org/repos/asf/incubator-predictionio/diff/1e27c3b7
Branch: refs/heads/master
Commit: 1e27c3b71002af3d5e25b5d0139dc01dbf8202ba
Parents: 8a68d5bd
Author: Donald Szeto <do...@prediction.io>
Authored: Mon Mar 28 17:20:01 2016 -0700
Committer: Donald Szeto <do...@prediction.io>
Committed: Mon Mar 28 17:20:01 2016 -0700
----------------------------------------------------------------------
docs/manual/Gemfile.lock | 57 ++++++++++++++++----------------------
docs/manual/data/nav/main.yml | 2 +-
2 files changed, 25 insertions(+), 34 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/incubator-predictionio/blob/1e27c3b7/docs/manual/Gemfile.lock
----------------------------------------------------------------------
diff --git a/docs/manual/Gemfile.lock b/docs/manual/Gemfile.lock
index 7f8b018..5cfff32 100644
--- a/docs/manual/Gemfile.lock
+++ b/docs/manual/Gemfile.lock
@@ -7,20 +7,19 @@ GEM
minitest (~> 5.1)
thread_safe (~> 0.1)
tzinfo (~> 1.1)
- addressable (2.3.8)
+ addressable (2.4.0)
ansi (1.5.0)
- autoprefixer-rails (5.1.9)
+ autoprefixer-rails (5.1.11)
execjs
json
- backports (3.6.4)
- bootstrap-sass (3.3.4.1)
+ backports (3.6.8)
+ bootstrap-sass (3.3.5.1)
autoprefixer-rails (>= 5.0.0.1)
- sass (>= 3.2.19)
+ sass (>= 3.3.0)
builder (3.2.2)
celluloid (0.16.0)
timers (~> 4.0.0)
chunky_png (1.3.4)
- coderay (1.1.0)
coffee-script (2.4.1)
coffee-script-source
execjs
@@ -41,16 +40,16 @@ GEM
eventmachine (>= 0.12.9)
http_parser.rb (~> 0.6.0)
erubis (2.7.0)
- ethon (0.7.3)
+ ethon (0.8.1)
ffi (>= 1.3.0)
eventmachine (1.0.7)
excon (0.45.1)
- execjs (2.5.2)
- faraday (0.9.1)
+ execjs (2.6.0)
+ faraday (0.9.2)
multipart-post (>= 1.2, < 3)
- faraday_middleware (0.9.1)
+ faraday_middleware (0.10.0)
faraday (>= 0.7.4, < 0.10)
- ffi (1.9.8)
+ ffi (1.9.10)
fog-aws (0.1.2)
fog-core (~> 1.27)
fog-json (~> 1.0)
@@ -79,7 +78,7 @@ GEM
net-http-pipeline
haml (4.0.6)
tilt
- highline (1.7.1)
+ highline (1.7.8)
hike (1.2.3)
hitimes (1.2.2)
hooks (0.4.0)
@@ -88,7 +87,7 @@ GEM
http_parser.rb (0.6.0)
i18n (0.7.0)
ipaddress (0.8.0)
- json (1.8.2)
+ json (1.8.3)
kramdown (1.6.0)
launchy (2.4.3)
addressable (~> 2.3)
@@ -98,7 +97,6 @@ GEM
rb-fsevent (>= 0.9.3)
rb-inotify (>= 0.9)
map (6.5.5)
- method_source (0.8.2)
middleman (3.3.10)
coffee-script (~> 2.2)
compass (>= 1.0.0, < 2.0.0)
@@ -154,7 +152,7 @@ GEM
mime-types (2.4.3)
mini_portile2 (2.0.0)
minitest (5.6.0)
- multi_json (1.11.0)
+ multi_json (1.11.2)
multipart-post (2.0.0)
net-http-persistent (2.9.4)
net-http-pipeline (1.0.1)
@@ -163,7 +161,7 @@ GEM
net-ssh (2.9.2)
nokogiri (1.6.7.2)
mini_portile2 (~> 2.0.0.rc2)
- oj (2.12.2)
+ oj (2.15.0)
padrino-helpers (0.12.5)
i18n (~> 0.6, >= 0.6.7)
padrino-support (= 0.12.5)
@@ -171,11 +169,7 @@ GEM
padrino-support (0.12.5)
activesupport (>= 3.1)
pmap (1.0.2)
- pry (0.9.12.6)
- coderay (~> 1.0)
- method_source (~> 0.8)
- slop (~> 3.4)
- pusher-client (0.6.0)
+ pusher-client (0.6.2)
json
websocket (~> 1.0)
rack (1.6.0)
@@ -183,19 +177,18 @@ GEM
rack
rack-test (0.6.3)
rack (>= 1.0)
- rainbow (2.0.0)
+ rainbow (2.1.0)
rb-fsevent (0.9.4)
rb-inotify (0.9.5)
ffi (>= 0.5.0)
- redcarpet (3.3.2)
+ redcarpet (3.3.4)
ref (1.0.5)
rouge (1.8.0)
ruby-progressbar (1.7.5)
- sass (3.4.13)
- slim (3.0.3)
+ sass (3.4.22)
+ slim (3.0.6)
temple (~> 0.7.3)
tilt (>= 1.3.3, < 2.1)
- slop (3.6.0)
sprockets (2.12.3)
hike (~> 1.2)
multi_json (~> 1.0)
@@ -206,7 +199,7 @@ GEM
sprockets-sass (1.3.1)
sprockets (~> 2.0)
tilt (~> 1.1)
- temple (0.7.5)
+ temple (0.7.6)
therubyracer (0.12.2)
libv8 (~> 3.16.14.0)
ref
@@ -215,19 +208,17 @@ GEM
tilt (1.4.1)
timers (4.0.1)
hitimes
- travis (1.7.6)
- addressable (~> 2.3)
+ travis (1.8.2)
backports
faraday (~> 0.9)
faraday_middleware (~> 0.9, >= 0.9.1)
gh (~> 0.13)
highline (~> 1.6)
launchy (~> 2.1)
- pry (~> 0.9, < 0.10)
pusher-client (~> 0.4)
typhoeus (~> 0.6, >= 0.6.8)
- typhoeus (0.7.1)
- ethon (>= 0.7.1)
+ typhoeus (0.8.0)
+ ethon (>= 0.8.0)
tzinfo (1.2.2)
thread_safe (~> 0.1)
uber (0.0.13)
@@ -237,7 +228,7 @@ GEM
unf (0.1.4)
unf_ext
unf_ext (0.0.6)
- websocket (1.2.1)
+ websocket (1.2.2)
PLATFORMS
ruby
http://git-wip-us.apache.org/repos/asf/incubator-predictionio/blob/1e27c3b7/docs/manual/data/nav/main.yml
----------------------------------------------------------------------
diff --git a/docs/manual/data/nav/main.yml b/docs/manual/data/nav/main.yml
index 4c26ee2..c9f4485 100644
--- a/docs/manual/data/nav/main.yml
+++ b/docs/manual/data/nav/main.yml
@@ -154,7 +154,7 @@ root:
body: 'Architecture Overview'
url: '/system/'
-
- body: 'Production Deployment with Cloudformation'
+ body: 'Production Deployment with AWS CloudFormation'
url: '/system/deploy-cloudformation/'
-
body: 'Using Another Data Store'
[18/50] [abbrv] incubator-predictionio git commit: Revert Event
Server SSL
Posted by ap...@apache.org.
Revert Event Server SSL
Project: http://git-wip-us.apache.org/repos/asf/incubator-predictionio/repo
Commit: http://git-wip-us.apache.org/repos/asf/incubator-predictionio/commit/3df7f829
Tree: http://git-wip-us.apache.org/repos/asf/incubator-predictionio/tree/3df7f829
Diff: http://git-wip-us.apache.org/repos/asf/incubator-predictionio/diff/3df7f829
Branch: refs/heads/master
Commit: 3df7f82907c92c727ebc06322445cf1461f12607
Parents: b8297c9
Author: Yevgeny <yk...@salesforce.com>
Authored: Wed Mar 2 09:55:34 2016 -0800
Committer: Yevgeny <yk...@salesforce.com>
Committed: Wed Mar 2 09:55:34 2016 -0800
----------------------------------------------------------------------
data/src/main/scala/io/prediction/data/api/EventServer.scala | 3 +--
1 file changed, 1 insertion(+), 2 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/incubator-predictionio/blob/3df7f829/data/src/main/scala/io/prediction/data/api/EventServer.scala
----------------------------------------------------------------------
diff --git a/data/src/main/scala/io/prediction/data/api/EventServer.scala b/data/src/main/scala/io/prediction/data/api/EventServer.scala
index 0b8f358..0ebc279 100644
--- a/data/src/main/scala/io/prediction/data/api/EventServer.scala
+++ b/data/src/main/scala/io/prediction/data/api/EventServer.scala
@@ -33,7 +33,6 @@ import io.prediction.data.storage.EventJson4sSupport
import io.prediction.data.storage.BatchEventsJson4sSupport
import io.prediction.data.storage.LEvents
import io.prediction.data.storage.Storage
-import io.prediction.configuration.SSLConfiguration
import org.json4s.DefaultFormats
import org.json4s.Formats
import org.json4s.JObject
@@ -557,7 +556,7 @@ class EventServerActor(
val eventClient: LEvents,
val accessKeysClient: AccessKeys,
val channelsClient: Channels,
- val config: EventServerConfig) extends Actor with SSLConfiguration {
+ val config: EventServerConfig) extends Actor {
val log = Logging(context.system, this)
val child = context.actorOf(
Props(classOf[EventServiceActor],
[19/50] [abbrv] incubator-predictionio git commit: Cleanup unused
method
Posted by ap...@apache.org.
Cleanup unused method
Project: http://git-wip-us.apache.org/repos/asf/incubator-predictionio/repo
Commit: http://git-wip-us.apache.org/repos/asf/incubator-predictionio/commit/4a8b478d
Tree: http://git-wip-us.apache.org/repos/asf/incubator-predictionio/tree/4a8b478d
Diff: http://git-wip-us.apache.org/repos/asf/incubator-predictionio/diff/4a8b478d
Branch: refs/heads/master
Commit: 4a8b478d33db9f2a829aa33b7619609021ee5458
Parents: 3df7f82
Author: Yevgeny <yk...@salesforce.com>
Authored: Wed Mar 2 09:58:14 2016 -0800
Committer: Yevgeny <yk...@salesforce.com>
Committed: Wed Mar 2 09:58:14 2016 -0800
----------------------------------------------------------------------
core/src/main/scala/io/prediction/workflow/CreateServer.scala | 2 --
1 file changed, 2 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/incubator-predictionio/blob/4a8b478d/core/src/main/scala/io/prediction/workflow/CreateServer.scala
----------------------------------------------------------------------
diff --git a/core/src/main/scala/io/prediction/workflow/CreateServer.scala b/core/src/main/scala/io/prediction/workflow/CreateServer.scala
index 341b96a..1bf3024 100644
--- a/core/src/main/scala/io/prediction/workflow/CreateServer.scala
+++ b/core/src/main/scala/io/prediction/workflow/CreateServer.scala
@@ -467,8 +467,6 @@ class ServerActor[Q, P](
writer.toString
}
- private def getUser(up :UserPass) : String = up.user
-
val myRoute =
path("") {
get {
[23/50] [abbrv] incubator-predictionio git commit: Merge pull request
#211 from relateiq/ng
Posted by ap...@apache.org.
Merge pull request #211 from relateiq/ng
Add TLS and simple key auth
Project: http://git-wip-us.apache.org/repos/asf/incubator-predictionio/repo
Commit: http://git-wip-us.apache.org/repos/asf/incubator-predictionio/commit/de2630f5
Tree: http://git-wip-us.apache.org/repos/asf/incubator-predictionio/tree/de2630f5
Diff: http://git-wip-us.apache.org/repos/asf/incubator-predictionio/diff/de2630f5
Branch: refs/heads/master
Commit: de2630f59ff6d653d87975a491304fd23e5b20c5
Parents: acd9e3f bc7ab1d
Author: Donald Szeto <do...@prediction.io>
Authored: Wed Mar 2 22:33:58 2016 -0800
Committer: Donald Szeto <do...@prediction.io>
Committed: Wed Mar 2 22:33:58 2016 -0800
----------------------------------------------------------------------
common/build.sbt | 5 ++
common/src/main/resources/application.conf | 11 ++++
.../authentication/KeyAuthentication.scala | 43 +++++++++++++++
.../configuration/SSLConfiguration.scala | 52 +++++++++++++++++++
conf/keystore.jks | Bin 0 -> 2238 bytes
conf/server.conf | 13 +++++
core/src/main/resources/application.conf | 4 --
.../io/prediction/workflow/CreateServer.scala | 47 +++++++++++------
.../prediction/tools/dashboard/Dashboard.scala | 37 ++++++++-----
9 files changed, 178 insertions(+), 34 deletions(-)
----------------------------------------------------------------------
[32/50] [abbrv] incubator-predictionio git commit: Fix inconsistency
between CLI help and actual behavior
Posted by ap...@apache.org.
Fix inconsistency between CLI help and actual behavior
Project: http://git-wip-us.apache.org/repos/asf/incubator-predictionio/repo
Commit: http://git-wip-us.apache.org/repos/asf/incubator-predictionio/commit/706377f0
Tree: http://git-wip-us.apache.org/repos/asf/incubator-predictionio/tree/706377f0
Diff: http://git-wip-us.apache.org/repos/asf/incubator-predictionio/diff/706377f0
Branch: refs/heads/master
Commit: 706377f0760664ca6a1ca6b42eec339fb221de35
Parents: 7bf0bed
Author: Donald Szeto <do...@prediction.io>
Authored: Mon Mar 28 11:51:58 2016 -0700
Committer: Donald Szeto <do...@prediction.io>
Committed: Mon Mar 28 11:51:58 2016 -0700
----------------------------------------------------------------------
tools/src/main/scala/io/prediction/tools/console/Console.scala | 4 ++--
1 file changed, 2 insertions(+), 2 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/incubator-predictionio/blob/706377f0/tools/src/main/scala/io/prediction/tools/console/Console.scala
----------------------------------------------------------------------
diff --git a/tools/src/main/scala/io/prediction/tools/console/Console.scala b/tools/src/main/scala/io/prediction/tools/console/Console.scala
index 52f07e0..81e2d7a 100644
--- a/tools/src/main/scala/io/prediction/tools/console/Console.scala
+++ b/tools/src/main/scala/io/prediction/tools/console/Console.scala
@@ -114,11 +114,11 @@ case class EventServerArgs(
stats: Boolean = false)
case class AdminServerArgs(
-ip: String = "localhost",
+ip: String = "127.0.0.1",
port: Int = 7071)
case class DashboardArgs(
- ip: String = "0.0.0.0",
+ ip: String = "127.0.0.1",
port: Int = 9000)
case class UpgradeArgs(
[45/50] [abbrv] incubator-predictionio git commit: Merge pull request
#219 from HyukjinKwon/ISSUE-206
Posted by ap...@apache.org.
Merge pull request #219 from HyukjinKwon/ISSUE-206
Add a rule WhitespaceEndOfLineChecker in Scala Style Checker
Project: http://git-wip-us.apache.org/repos/asf/incubator-predictionio/repo
Commit: http://git-wip-us.apache.org/repos/asf/incubator-predictionio/commit/b8e1081b
Tree: http://git-wip-us.apache.org/repos/asf/incubator-predictionio/tree/b8e1081b
Diff: http://git-wip-us.apache.org/repos/asf/incubator-predictionio/diff/b8e1081b
Branch: refs/heads/master
Commit: b8e1081bfbf19594a35ac9f1c6275e40dd195f16
Parents: 362b77d 05a37d1
Author: Donald Szeto <do...@prediction.io>
Authored: Mon Apr 4 11:07:05 2016 -0700
Committer: Donald Szeto <do...@prediction.io>
Committed: Mon Apr 4 11:07:05 2016 -0700
----------------------------------------------------------------------
.../io/prediction/controller/Deployment.scala | 2 +-
.../scala/io/prediction/controller/Engine.scala | 4 +--
.../io/prediction/controller/Evaluation.scala | 10 +++---
.../prediction/controller/FastEvalEngine.scala | 38 ++++++++++----------
.../io/prediction/controller/LServing.scala | 2 +-
.../scala/io/prediction/controller/Metric.scala | 14 ++++----
.../prediction/controller/MetricEvaluator.scala | 14 ++++----
.../io/prediction/controller/package.scala | 2 +-
.../scala/io/prediction/core/BaseEngine.scala | 8 ++---
.../io/prediction/core/BaseEvaluator.scala | 6 ++--
.../io/prediction/workflow/CoreWorkflow.scala | 4 +--
.../io/prediction/workflow/FakeWorkflow.scala | 26 +++++++-------
.../io/prediction/data/storage/BiMap.scala | 2 +-
.../data/storage/elasticsearch/ESChannels.scala | 2 +-
.../data/storage/hbase/PIOHBaseUtil.scala | 2 +-
.../data/storage/jdbc/JDBCLEvents.scala | 4 +--
.../io/prediction/data/store/LEventStore.scala | 2 +-
.../webhooks/mailchimp/MailChimpConnector.scala | 22 ++++++------
.../prediction/e2/engine/BinaryVectorizer.scala | 3 +-
scalastyle-config.xml | 3 ++
.../scala/io/prediction/tools/RunWorkflow.scala | 2 +-
.../prediction/tools/admin/CommandClient.scala | 2 +-
.../tools/dashboard/CorsSupport.scala | 16 ++++-----
23 files changed, 97 insertions(+), 93 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/incubator-predictionio/blob/b8e1081b/core/src/main/scala/io/prediction/controller/Engine.scala
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/incubator-predictionio/blob/b8e1081b/data/src/main/scala/io/prediction/data/storage/jdbc/JDBCLEvents.scala
----------------------------------------------------------------------
[09/50] [abbrv] incubator-predictionio git commit: add channel doc
link
Posted by ap...@apache.org.
add channel doc link
Project: http://git-wip-us.apache.org/repos/asf/incubator-predictionio/repo
Commit: http://git-wip-us.apache.org/repos/asf/incubator-predictionio/commit/bffd72f2
Tree: http://git-wip-us.apache.org/repos/asf/incubator-predictionio/tree/bffd72f2
Diff: http://git-wip-us.apache.org/repos/asf/incubator-predictionio/diff/bffd72f2
Branch: refs/heads/master
Commit: bffd72f297c43b351cd922c69295bca0238257ab
Parents: 7057ec6
Author: Kenneth Chan <ke...@prediction.io>
Authored: Mon Feb 1 17:52:50 2016 -0800
Committer: Kenneth Chan <ke...@prediction.io>
Committed: Mon Feb 1 17:52:50 2016 -0800
----------------------------------------------------------------------
docs/manual/data/nav/main.yml | 3 +++
1 file changed, 3 insertions(+)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/incubator-predictionio/blob/bffd72f2/docs/manual/data/nav/main.yml
----------------------------------------------------------------------
diff --git a/docs/manual/data/nav/main.yml b/docs/manual/data/nav/main.yml
index 377f467..6ad4ad2 100644
--- a/docs/manual/data/nav/main.yml
+++ b/docs/manual/data/nav/main.yml
@@ -106,6 +106,9 @@ root:
body: 'Unifying Multichannel Data with Webhooks'
url: '/datacollection/webhooks/'
-
+ body: 'Channel'
+ url: '/datacollection/channel/'
+ -
body: 'Importing Data in Batch'
url: '/datacollection/batchimport/'
-
[04/50] [abbrv] incubator-predictionio git commit: Revert "added
confirm delete message"
Posted by ap...@apache.org.
Revert "added confirm delete message"
This reverts commit cc7ab5585d8f2aa609d36b033550937044819a2d.
Conflicts:
bin/install.sh
Project: http://git-wip-us.apache.org/repos/asf/incubator-predictionio/repo
Commit: http://git-wip-us.apache.org/repos/asf/incubator-predictionio/commit/d9d480a6
Tree: http://git-wip-us.apache.org/repos/asf/incubator-predictionio/tree/d9d480a6
Diff: http://git-wip-us.apache.org/repos/asf/incubator-predictionio/diff/d9d480a6
Branch: refs/heads/master
Commit: d9d480a6649290f3f5e77c3bd5beeec2df8396be
Parents: 7377860
Author: Donald Szeto <do...@prediction.io>
Authored: Thu Jan 28 17:44:19 2016 -0800
Committer: Donald Szeto <do...@prediction.io>
Committed: Thu Jan 28 17:44:19 2016 -0800
----------------------------------------------------------------------
bin/install.sh | 16 ++++------------
1 file changed, 4 insertions(+), 12 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/incubator-predictionio/blob/d9d480a6/bin/install.sh
----------------------------------------------------------------------
diff --git a/bin/install.sh b/bin/install.sh
index 252ab3e..77281c6 100755
--- a/bin/install.sh
+++ b/bin/install.sh
@@ -276,9 +276,7 @@ cd ${TEMP_DIR}
# delete existing tmp file before download again
if [[ -e ${PIO_FILE} ]]; then
- if confirm "Delete existing $PIO_FILE?"; then
- rm ${PIO_FILE}
- fi
+ rm ${PIO_FILE}
fi
if [[ ! -e ${PIO_FILE} ]]; then
@@ -304,9 +302,7 @@ mkdir ${vendors_dir}
# Spark
echo -e "\033[1;36mStarting Spark setup in:\033[0m $spark_dir"
if [[ -e spark-${SPARK_VERSION}-bin-hadoop2.6.tgz ]]; then
- if confirm "Delete existing spark-$SPARK_VERSION-bin-hadoop2.6.tgz?"; then
- rm spark-${SPARK_VERSION}-bin-hadoop2.6.tgz
- fi
+ rm spark-${SPARK_VERSION}-bin-hadoop2.6.tgz
fi
if [[ ! -e spark-${SPARK_VERSION}-bin-hadoop2.6.tgz ]]; then
echo "Downloading Spark..."
@@ -358,9 +354,7 @@ case $source_setup in
# Elasticsearch
echo -e "\033[1;36mStarting Elasticsearch setup in:\033[0m $elasticsearch_dir"
if [[ -e elasticsearch-${ELASTICSEARCH_VERSION}.tar.gz ]]; then
- if confirm "Delete existing elasticsearch-$ELASTICSEARCH_VERSION.tar.gz?"; then
- rm elasticsearch-${ELASTICSEARCH_VERSION}.tar.gz
- fi
+ rm elasticsearch-${ELASTICSEARCH_VERSION}.tar.gz
fi
if [[ ! -e elasticsearch-${ELASTICSEARCH_VERSION}.tar.gz ]]; then
echo "Downloading Elasticsearch..."
@@ -387,9 +381,7 @@ case $source_setup in
# HBase
echo -e "\033[1;36mStarting HBase setup in:\033[0m $hbase_dir"
if [[ -e hbase-${HBASE_VERSION}-bin.tar.gz ]]; then
- if confirm "Delete existing hbase-$HBASE_VERSION-bin.tar.gz?"; then
- rm hbase-${HBASE_VERSION}-bin.tar.gz
- fi
+ rm hbase-${HBASE_VERSION}-bin.tar.gz
fi
if [[ ! -e hbase-${HBASE_VERSION}-bin.tar.gz ]]; then
echo "Downloading HBase..."