`
gushuizerotoone
  • 浏览: 173892 次
  • 性别: Icon_minigender_1
  • 来自: 杭州
社区版块
存档分类
最新评论

我的那个聚类方法备忘

阅读更多
1. 注意reduce(IntWritable key, Iterable<Text> values, Context context)函数,不是Iterator(旧版的hadoop)

2.每次mapper, context(new IntWritable(center),new Text(""));的时候,传送给reducer 的new IntWritable(center), 虽然center值相同,但是new 出来的IntWritable(center)的对象是不同的, 参照我的AssignPointsToCenterMapper做法写一个intWritableFactoryMap

3.要madreduce, value 的类必须implements Writable借口,实现 readFields(), write(). readFields()的写法参照write(),write是自己想怎么存就怎么存(主要是一个存的顺序问题和读的顺序问题),参照我的SimilarityCell 和SimilarityCellMapWritable

4.好像maper的value输出和reducer的value输出必须是同一class类型,如Text,不能mapper是IntWritable, reducer 是Text,别人虽然说setMapOutPutValueClass()可以,但我试了不行,会抛出error.

5.Mapper 和 Reducer可以通过override setup()函数进行一些初始化工作,如读入centers

6.可以写一个类专门存其他类要用到的变量名,参照ClusterParameters

===========================================================
1.sequenceFile的读和写,参照ClusterUtil里面的函数
2.Text对象里面的字符串可以通过Text.toString()获得
分享到:
评论

相关推荐

Global site tag (gtag.js) - Google Analytics