package sandcrawler import cascading.property.AppProps import cascading.tuple.Fields import com.twitter.scalding._ import java.util.Properties import parallelai.spyglass.base.JobBase import parallelai.spyglass.hbase.{HBaseSource, HBasePipeConversions} import parallelai.spyglass.hbase.HBaseConstants.SourceMode class HBaseMimeCountJob(args: Args) extends JobBase(args) with HBasePipeConversions { val output = args("output") HBaseMimeCountJob.getHBaseSource(args("hbase-table"), args("zookeeper-hosts")) .read .fromBytesWritable(List('mime)) .debug .groupBy('mime){group => group.size('count)} .write(Tsv(output)) } object HBaseMimeCountJob { def getHBaseSource(hbase_table: String, zookeeper_hosts: String) : HBaseSource = { return HBaseBuilder.build( hbase_table, zookeeper_hosts, List("file:mime"), SourceMode.SCAN_ALL) } }