HackerReposA FIELD GUIDE TO OPEN SOURCE
ProSponsor the shelf♧ 0
← Back to top all-time
apache
predictionio
Scala2013–2014
apache / predictionio · Archived

predictionio

PredictionIO, a machine learning server for developers and ML engineers.

5Distinct people
5Mentions
0Explicit recommenders
12.5KGitHub stars
REPOSITORY AT A GLANCE

What to know before exploring

What it is

PredictionIO, a machine learning server for developers and ML engineers.

GitHub

Where it is used

No documented product use has been verified yet.

What people are saying

No recommendation phrase was found in the indexed comments.

No classified warning is attached to this page. Read the discussions before treating silence as approval.

Also in these discussions

No other repository is repeatedly linked in the same discussions.

This week on Hacker News

Nov 7–Nov 14 UTC · Direct repository links and separately labeled related project stories. Indexed through 11/14/2026, 12:54:37 PM UTC.

No direct repository links were found in the indexed HN discussions over the past seven days. Older discussions are available below.

Mentions over time

HN mentions by week5 dated mentions

Observed mentions: 2013-10-18 21:21:23 UTC to 2014-05-02 16:59:00 UTC. Weeks start Monday, UTC.

01232013-10-14 00:00:00 UTC to 2013-10-21 00:00:00 UTC (exclusive): 3 mentions; 1 submissions, 2 commentsOct 142013-10-21 00:00:00 UTC to 2013-10-28 00:00:00 UTC (exclusive): 0 mentions; 0 submissions, 0 comments2013-10-28 00:00:00 UTC to 2013-11-04 00:00:00 UTC (exclusive): 0 mentions; 0 submissions, 0 comments2013-11-04 00:00:00 UTC to 2013-11-11 00:00:00 UTC (exclusive): 1 mentions; 0 submissions, 1 comments2013-11-11 00:00:00 UTC to 2013-11-18 00:00:00 UTC (exclusive): 0 mentions; 0 submissions, 0 comments2013-11-18 00:00:00 UTC to 2013-11-25 00:00:00 UTC (exclusive): 0 mentions; 0 submissions, 0 comments2013-11-25 00:00:00 UTC to 2013-12-02 00:00:00 UTC (exclusive): 0 mentions; 0 submissions, 0 comments2013-12-02 00:00:00 UTC to 2013-12-09 00:00:00 UTC (exclusive): 0 mentions; 0 submissions, 0 comments2013-12-09 00:00:00 UTC to 2013-12-16 00:00:00 UTC (exclusive): 0 mentions; 0 submissions, 0 comments2013-12-16 00:00:00 UTC to 2013-12-23 00:00:00 UTC (exclusive): 0 mentions; 0 submissions, 0 comments2013-12-23 00:00:00 UTC to 2013-12-30 00:00:00 UTC (exclusive): 0 mentions; 0 submissions, 0 comments2013-12-30 00:00:00 UTC to 2014-01-06 00:00:00 UTC (exclusive): 0 mentions; 0 submissions, 0 comments2014-01-06 00:00:00 UTC to 2014-01-13 00:00:00 UTC (exclusive): 0 mentions; 0 submissions, 0 comments2014-01-13 00:00:00 UTC to 2014-01-20 00:00:00 UTC (exclusive): 0 mentions; 0 submissions, 0 comments2014-01-20 00:00:00 UTC to 2014-01-27 00:00:00 UTC (exclusive): 0 mentions; 0 submissions, 0 commentsJan 202014-01-27 00:00:00 UTC to 2014-02-03 00:00:00 UTC (exclusive): 0 mentions; 0 submissions, 0 comments2014-02-03 00:00:00 UTC to 2014-02-10 00:00:00 UTC (exclusive): 0 mentions; 0 submissions, 0 comments2014-02-10 00:00:00 UTC to 2014-02-17 00:00:00 UTC (exclusive): 0 mentions; 0 submissions, 0 comments2014-02-17 00:00:00 UTC to 2014-02-24 00:00:00 UTC (exclusive): 0 mentions; 0 submissions, 0 comments2014-02-24 00:00:00 UTC to 2014-03-03 00:00:00 UTC (exclusive): 0 mentions; 0 submissions, 0 comments2014-03-03 00:00:00 UTC to 2014-03-10 00:00:00 UTC (exclusive): 0 mentions; 0 submissions, 0 comments2014-03-10 00:00:00 UTC to 2014-03-17 00:00:00 UTC (exclusive): 0 mentions; 0 submissions, 0 comments2014-03-17 00:00:00 UTC to 2014-03-24 00:00:00 UTC (exclusive): 0 mentions; 0 submissions, 0 comments2014-03-24 00:00:00 UTC to 2014-03-31 00:00:00 UTC (exclusive): 0 mentions; 0 submissions, 0 comments2014-03-31 00:00:00 UTC to 2014-04-07 00:00:00 UTC (exclusive): 0 mentions; 0 submissions, 0 comments2014-04-07 00:00:00 UTC to 2014-04-14 00:00:00 UTC (exclusive): 0 mentions; 0 submissions, 0 comments2014-04-14 00:00:00 UTC to 2014-04-21 00:00:00 UTC (exclusive): 0 mentions; 0 submissions, 0 comments2014-04-21 00:00:00 UTC to 2014-04-28 00:00:00 UTC (exclusive): 0 mentions; 0 submissions, 0 comments2014-04-28 00:00:00 UTC to 2014-05-05 00:00:00 UTC (exclusive): 1 mentions; 0 submissions, 1 commentsApr 28

Counts come from the repository’s dated source evidence. Index cutoff: 2026-11-02 08:16:59 UTC.

View mention counts and date ranges
UTC ranges include their start and exclude their end. Select a period to filter the source evidence.
PeriodStart (UTC)End (exclusive, UTC)MentionsSubmissionsComments
Oct 142013-10-14 00:00:00 UTC2013-10-21 00:00:00 UTC312
Oct 212013-10-21 00:00:00 UTC2013-10-28 00:00:00 UTC000
Oct 282013-10-28 00:00:00 UTC2013-11-04 00:00:00 UTC000
Nov 42013-11-04 00:00:00 UTC2013-11-11 00:00:00 UTC101
Nov 112013-11-11 00:00:00 UTC2013-11-18 00:00:00 UTC000
Nov 182013-11-18 00:00:00 UTC2013-11-25 00:00:00 UTC000
Nov 252013-11-25 00:00:00 UTC2013-12-02 00:00:00 UTC000
Dec 22013-12-02 00:00:00 UTC2013-12-09 00:00:00 UTC000
Dec 92013-12-09 00:00:00 UTC2013-12-16 00:00:00 UTC000
Dec 162013-12-16 00:00:00 UTC2013-12-23 00:00:00 UTC000
Dec 232013-12-23 00:00:00 UTC2013-12-30 00:00:00 UTC000
Dec 302013-12-30 00:00:00 UTC2014-01-06 00:00:00 UTC000
Jan 62014-01-06 00:00:00 UTC2014-01-13 00:00:00 UTC000
Jan 132014-01-13 00:00:00 UTC2014-01-20 00:00:00 UTC000
Jan 202014-01-20 00:00:00 UTC2014-01-27 00:00:00 UTC000
Jan 272014-01-27 00:00:00 UTC2014-02-03 00:00:00 UTC000
Feb 32014-02-03 00:00:00 UTC2014-02-10 00:00:00 UTC000
Feb 102014-02-10 00:00:00 UTC2014-02-17 00:00:00 UTC000
Feb 172014-02-17 00:00:00 UTC2014-02-24 00:00:00 UTC000
Feb 242014-02-24 00:00:00 UTC2014-03-03 00:00:00 UTC000
Mar 32014-03-03 00:00:00 UTC2014-03-10 00:00:00 UTC000
Mar 102014-03-10 00:00:00 UTC2014-03-17 00:00:00 UTC000
Mar 172014-03-17 00:00:00 UTC2014-03-24 00:00:00 UTC000
Mar 242014-03-24 00:00:00 UTC2014-03-31 00:00:00 UTC000
Mar 312014-03-31 00:00:00 UTC2014-04-07 00:00:00 UTC000
Apr 72014-04-07 00:00:00 UTC2014-04-14 00:00:00 UTC000
Apr 142014-04-14 00:00:00 UTC2014-04-21 00:00:00 UTC000
Apr 212014-04-21 00:00:00 UTC2014-04-28 00:00:00 UTC000
Apr 282014-04-28 00:00:00 UTC2014-05-05 00:00:00 UTC101

What Hacker News says

5 sources
Part of the difficulty is that there are very few open source _applications_ (vs frameworks) built using MapReduce available to study. The only ones I know of are: https://github.com/snowplow/snowplow https://github.com/PredictionIO/PredictionIO We (Snowplow) use MapReduce primarily to: 1. Scale our event enrichment process horizontally - raw events come in, we validate them, enrich them (IP -> geo etc), store them. With MapReduce, we just throw more boxes at the enrichment process for larger users (we enrich 200m events in ~90 mins on 6 x c3.2xlarges, spot cost of $0.58) 2. Do easy recomputations across user's full history of raw events - e.g. we add a new enrichment or a user's business logic changes, we can rerun over their full history going back to 2012 Hope this helps!
In Map Reduce: A simple introduction (2010)
While I also find the incredibly deep nesting on the excessive side, I can explain it. * process/engines/itemsim/evaluations/scala/topkitems They're using sbt's awesome multi-project feature here (http://www.scala-sbt.org/release/docs/Getting-Started/Multi-...) so basically every "sub-project" that makes up the whole can have its own dependencies, options, versions, etc while also maintaining which projects depend on each other. This really helps keep all of the logic separated and sbt deals with all the compilation-order madness that ensues when you have a tangled nest of inter-dependencies. Note: this isn't necessarily reflected on what is published as most projects that do this will still publish it as one single jar file or project; it just helps with development and really helps with compilation speed (in my experience). Again not r
Read the rest
eally condoning what they're doing here as they're really taking it to an extreme; for my "big" project I basically just have a top-level "modules" folder and each sub project is one below that. You can see how the hierarchy is defined here: https://github.com/PredictionIO/PredictionIO/blob/develop/bu... which I find to be quite human-readable but I've been using sbt for years so ymmv. The customized settings for that particular project are here: https://github.com/PredictionIO/PredictionIO/blob/develop/pr... * src/main/scala This is the basic structure of an sbt project. By default, you put all of your code/resources in the `src` directory. Then you have two directories, main and test(optional) which is how you seperate code/resources that belong in the final project and which is just used for testing. The last level there are three (default) directories that are processed: java, scala, and resources. The first two should be pretty self explanatory and the last is where you put any files that you need to be packaged/available to your project. So if you have main/resources/aDir/logback.xml then you can reference that (via class resources which is a java thing) with "aDir/logback.xml" (I didn't include a leading slash because it's ~complicated). Example layout: src - main - java - resources - scala - test - java - resources - scala * io/prediction/evaluations/itemsim/topkitems/TopKItems.scala In Java it is mandatory that your package name be reflected in your directory structure. So here we can see that the TopKItems class is in the package "io.prediction.evaluations.itemsim.topkitems" if they followed that convention. As hinted at, scala does not mandate this silly requirement but it's considered best practice to follow along as it keeps things separated and easy to follow. Scala projects mostly used short package names so it isn't as nested as this. This might all make it seem that development would be a nightmare trying to manage everything but all of this integrates beautifully with a good IDE such as IntelliJ (which is the recommended one for scala -- eclipse is just way too slow and freezes constantly, even on beefy machines). You just run a quick gen-idea command and the entire thing is recognized by intellij, sub-projects and all. You never even see the crazy nesting of folders! P.S. I mostly just lurk here so I'm sure I butchered the markdown. Sorry.
In PredictionIO – A machine learning server

MAKE YOURSELF AT HOME

A few shortcuts

/
Search the collection
?
Open this guide
Esc
Close dialogs and navigation

Your saved repositories and interests stay in this browser.