ドメイン単位でのはてなブックマークランキング

はてなブックマークは,どこのドメインからのエントリが多いのか.様々なサイトからブックマークされていますが,
ある程度の傾向はあるのでは?そんな疑問から,ドメインごとに集計してみました.

はてなダイアリー強し

さっそく,上位30ドメインをどうぞ.
見方ですが,2010年のホットエントリーのうち1268個が"d.hatena.ne.jp"ドメインのエントリだったことを示しています.

$ sort -nr output/part-r-00000| head -30
1268	d.hatena.ne.jp
1127	blog.livedoor.jp
453	togetter.com
332	anond.hatelabo.jp
322	gigazine.net
299	alfalfalfa.com
298	www.lifehacker.jp
293	hamusoku.com
262	sankei.jp.msn.com
246	www.asahi.com
217	b.hatena.ne.jp
200	jp.techcrunch.com
197	coliss.com
192	www.itmedia.co.jp
160	news4vip.livedoor.biz
151	www.gizmodo.jp
145	www.ideaxidea.com
126	www.yomiuri.co.jp
122	japanese.engadget.com
117	business.nikkeibp.co.jp
109	twitter.com
95	phpspot.org
86	twitpic.com
76	kachibito.net
69	www.publickey1.jp
68	mainichi.jp
67	kanasoku.blog82.fc2.com
63	workingnews.blog117.fc2.com
63	wiredvision.jp
63	readingmonkey.blog45.fc2.com


こうして見ると,はてなダイアリーライブドアブログが飛び抜けて多い.
あと,Togetterが3位に入ってる辺りが時代を感じさせます.増田もなかなかです.

グラフにしてみた

このデータを円グラフにしてみました.

はてなダイアリーライブドアブログだけで全体の約2割.トップ10で4割を占めています.
逆にトップ10以外が6割もあることの方がすごい,とも言えるかな.

MapperとReducer

最後に,集計するのに使ったMapperとReducerを載せときます.

public static class Map extends Mapper<LongWritable, Text, Text, IntWritable> {
    public void map(LongWritable key, Text value, Context context)
      throws IOException, InterruptedException {
        String line = value.toString();
        String[] str = line.split("\t");

	// import java.net.URLを忘れずに
        URL url = new URL(str[0]);
        String domain = url.getHost();
        context.write(new Text(domain), new IntWritable(1));
    }
}

public static class Reduce extends Reducer<Text, IntWritable, IntWritable, Text> {
    public void reduce(Text key, Iterable<IntWritable> values, Context context)
      throws IOException, InterruptedException {
        int sum = 0;
        for (IntWritable value : values) {
          sum += value.get();
        }
        context.write(new IntWritable(sum), key);
    }
}