Scaldig是一个Scala库简化了HadoopMapReduce作业开发。基于Cascadig构建。Scaldig跟Pig类似,但提供更紧密的Scala集成。
Hadoop是一个统计词(coutigwords)的分布式系统。这里看Scaldig如何实现统计词:
package com.twitter.scaldig.examplesimport com.twitter.scaldig._class WordCoutJob(args: Args) exteds Job(args) { TypedPipe.from(TextLie(args("iput"))) .flatMap { lie => tokeize(lie) } .groupBy { word => word } // use each word for a key .size // i each group, get the size .write(TypedTsv[(Strig, Log)](args("output"))) // Split a piece of text ito idividual words. def tokeize(text : Strig) : Array[Strig] = { // Lowercase each word ad remove puctuatio. text.toLowerCase.replaceAll("[^a-zA-Z0-9\\s]", "").split("\\s+") }}
评论