Scalding初探之一:基于Scala的Hadoop利器
把你从写繁琐的Map-reduce Job中解放出来,写分布式跟写本地程序没两样,Scala真真代表着先进生产力的方向啊。
好的,今天开始直播基于Scala的Scalding啦,循序渐进地看以下页面:
https://github.com/twitter/scalding#scalding
https://github.com/twitter/scalding/wiki/Getting-Started
https://github.com/willf/scalding_cookbook
看到scalding-cookbook的时候,可以开始尝试写比Word Count更酷的Scalding程序了
import com.twitter.scalding._
// input (tsv) // 0 1 2 3 4 5 6 // 22 kinds of love nn2 io nn1 // 12 large green eyes jj jj nn2 //
// output (tsv) // 22 of kinds/nn2_love/nn1 // 12 green large/jj_eyes/nn2 class contextCountJob(args : Args) extends Job(args) { val inSchema = ('count, 'w1 ,'w2, 'w3, 'pos1, 'pos2, 'pos3)
val outSchema = ('count, 'word, 'context)
Tsv(args("input"),inSchema) .mapTo(inSchema -> outSchema) { parts : (String, String, String, String, String, String, String) => { val (count, w1, w2, w3, pos1, pos2, pos3) = parts val context = "%s/%s_%s/%s".format(w1,pos1,w3,pos3) (count, w2, context) } } .write(Tsv(args("output"))) }
比较糟糕的是Scala语言新潮到博客园插件都不支持。。。
http://docs.kiji.org/userguides/express/1.0.1/basic-scala-scalding/
http://sujitpal.blogspot.com/2012/08/scalding-for-impatient.html
https://github.com/twitter/scalding/wiki/Fields-based-API-Reference
https://github.com/twitter/scalding/wiki/Scalding-Sources
https://github.com/twitter/scalding/wiki/Field-rules
https://github.com/twitter/scalding/wiki/API-Reference
https://github.com/twitter/scalding/wiki
http://twitter.github.io/scalding/com/twitter/scalding/package.html
https://github.com/deanwampler/scalding-workshop
推荐Twitter公开课的PPT(此处应有翻墙)
可以对比下其他Hadoop框架
http://www.slideshare.net/Hadoop_Summit/severs-june26-255pmroom210av2
http://blog.samibadawi.com/2012/03/hive-pig-scalding-scoobi-scrunch-and.html
http://www.quora.com/Apache-Hadoop/What-are-the-differences-between-Crunch-and-Cascading
https://github.com/echen/rosetta-scone
http://mcfunley.com/scalding-at-etsy (Slide 52)
最新文章
- hibernate-cache
- UI第十三节——UIActionSheet
- Python中的参数
- Redis安装和使用
- 小甲鱼PE详解之基址重定位详解(PE详解10)
- 使用node.js的bodyParser中间件读取post数据解析
- Innodb锁机制:Next-Key Lock 浅谈(转)
- C# 访问控制:public、private、protected和internal
- 【转】C++ 类中的static,const,及引用类型的初始化
- freeCMS学习网站
- 一个资深java面试官的“面试心得”
- Swift - 复杂数据类型说明(数组,字典,结构体,枚举)
- lucene全文搜索之二:创建索引器(创建IKAnalyzer分词器和索引目录管理)基于lucene5.5.3
- 第八节,Opencv的基本使用------存取图像、视频功能、简单信息标注工具
- [HTML]html读取本地文件并显示
- 关于测试中哪些信息需要放到jira上面
- par函数col参数-控制颜色
- 1.Math函数对象
- h5前端项目常见问题汇总
- 自定义centos7 yum仓库