Differences
This shows you the differences between two versions of the page.
Both sides previous revision Previous revision Next revision | Previous revision Next revision Both sides next revision | ||
spark:spark-introduction [2014/10/03 14:43] straka |
spark:spark-introduction [2014/10/06 11:21] straka |
||
---|---|---|---|
Line 15: | Line 15: | ||
To run interactive Scala shell in local Spark mode, run (on your local workstation or on cluster) | To run interactive Scala shell in local Spark mode, run (on your local workstation or on cluster) | ||
- | | + | |
Once again, the SparkUI address is listed several lines above the shell prompt line. | Once again, the SparkUI address is listed several lines above the shell prompt line. | ||
Line 24: | Line 24: | ||
Here we load the RDD from text file, every line of the input file becoming an element of RDD. We then split every line into words, count every word occurrence and sort the words by the occurrences. Try the following in the opened Python shell: | Here we load the RDD from text file, every line of the input file becoming an element of RDD. We then split every line into words, count every word occurrence and sort the words by the occurrences. Try the following in the opened Python shell: | ||
- | w = sc.textFile('/ | + | <file python> |
- | words = w.flatMap(lambda line: line.split()) | + | wiki = sc.textFile("/ |
- | counts = words.map(lambda word: (word, 1)).reduceByKey(lambda c1,c2: c1+c2) | + | words = wiki.flatMap(lambda line: line.split()) |
- | sorted = counts.sortBy(lambda (word, | + | counts = words.map(lambda word: (word, 1)).reduceByKey(lambda c1,c2: c1+c2) |
- | sorted.saveAsTextFile(' | + | sorted = counts.sortBy(lambda (word, |
- | + | sorted.saveAsTextFile(' | |
- | # Alternatively, | + | |
- | sc.textFile('/ | + | # Alternatively, |
- | .flatMap(lambda line: line.split()) | + | (sc.textFile("/ |
- | .map(lambda word: (word, 1)) \ | + | |
- | .reduceByKey(lambda c1,c2: c1+c2) | + | |
- | .sortBy(lambda (word, | + | |
- | .take(100) # Instead of saveAsTextFile, | + | |
+ | | ||
+ | </ | ||
The output of ' | The output of ' | ||
+ | |||
+ | The Scala versions is quite similar: | ||
+ | <file scala> | ||
+ | val wiki = sc.textFile("/ | ||
+ | val words = wiki.flatMap(line => line.split(" | ||
+ | val counts = words.map(word => (word, | ||
+ | val sorted = counts.sortBy({case (word, count) => count}, ascending=false) | ||
+ | sorted.saveAsTextFile(' | ||
+ | |||
+ | // Alternatively without variables and using placeholders in lambda parameters: | ||
+ | (sc.textFile("/ | ||
+ | | ||
+ | | ||
+ | | ||
+ | | ||
+ | </ | ||
+ |