Groovy で Apache Spark を使用
Java で Apache Spark を使用 や Scala 2.10 で Apache Spark を使用 に続き、今回は Groovy で同様の処理を実装してみました。
money_count.groovy
@Grab('org.apache.spark:spark-core_2.10:1.0.0') import org.apache.spark.api.java.JavaSparkContext def spark = new JavaSparkContext('local', 'MoneyCount') spark.textFile(args[0]).countByValue().each { k, v -> println "$k = $v" }
今回のように値毎のカウントを取得するだけなら countByValue()
を使うと簡単です。
ちなみに、countByValue() の結果は Map です。
実行結果
> groovy money_count.groovy input_sample.txt 100 = 2 50 = 1 5 = 3 500 = 1 10 = 2 1 = 2 2000 = 1 1000 = 3 10000 = 2
input_sample.txt の内容
100 1 5 50 500 1000 10000 1000 1 10 5 5 10 100 1000 10000 2000
今回のソースは http://github.com/fits/try_samples/tree/master/blog/20140629/