Skip to content
Snippets Groups Projects
Commit c4eea875 authored by Nick Pentreath's avatar Nick Pentreath
Browse files

Style changes as per Matei's comments

parent cce758b8
No related branches found
No related tags found
No related merge requests found
...@@ -14,7 +14,6 @@ import spark.SparkContext ...@@ -14,7 +14,6 @@ import spark.SparkContext
* where URL and their neighbors are separated by space(s). * where URL and their neighbors are separated by space(s).
*/ */
object SparkPageRank { object SparkPageRank {
def main(args: Array[String]) { def main(args: Array[String]) {
if (args.length < 3) { if (args.length < 3) {
System.err.println("Usage: PageRank <master> <file> <number_of_iterations>") System.err.println("Usage: PageRank <master> <file> <number_of_iterations>")
...@@ -23,22 +22,22 @@ object SparkPageRank { ...@@ -23,22 +22,22 @@ object SparkPageRank {
var iters = args(2).toInt var iters = args(2).toInt
val ctx = new SparkContext(args(0), "PageRank", System.getenv("SPARK_HOME"), Seq(System.getenv("SPARK_EXAMPLES_JAR"))) val ctx = new SparkContext(args(0), "PageRank", System.getenv("SPARK_HOME"), Seq(System.getenv("SPARK_EXAMPLES_JAR")))
val lines = ctx.textFile(args(1), 1) val lines = ctx.textFile(args(1), 1)
val links = lines.map(s => { val links = lines.map{s =>
val parts = s.split("\\s+") val parts = s.split("\\s+")
(parts(0), parts(1)) (parts(0), parts(1))
}).distinct().groupByKey().cache() }.distinct().groupByKey().cache()
var ranks = links.mapValues(v => 1.0) var ranks = links.mapValues(v => 1.0)
for (i <- 1 to iters) { for (i <- 1 to iters) {
val contribs = links.join(ranks).values.flatMap{ case (urls, rank) => { val contribs = links.join(ranks).values.flatMap{ case (urls, rank) =>
val size = urls.size val size = urls.size
urls.map(url => (url, rank / size)) urls.map(url => (url, rank / size))
}} }
ranks = contribs.groupByKey().mapValues(ranks => { ranks = contribs.groupByKey().mapValues{ranks =>
val sumRanks = ranks.foldLeft(0.0)(_ + _) val sumRanks = ranks.foldLeft(0.0)(_ + _)
0.15 + sumRanks * 0.85 0.15 + sumRanks * 0.85
}) }
} }
val output = ranks.collect() val output = ranks.collect()
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment