不可視点

search guy at cookpad.com

yatsが回収した2011年のお正月ダンプ

久しぶりにTwitter日本語圏のダンプを公開したいと思います。
2010年12月31日から2011年1月1日のつぶやきのMySQLダンプです(load dataで取り込むタイプ)

yatsの収集対象は

  • 公開ユーザー状態でつぶやかれたもののうち
    • 過去3週間以内につぶやいたユーザーからのもの、
    • 累積400〜つぶやきの日本語ユーザーからのもの

です。ベストエフォートです。
streaming apiで流れてくるつぶやきもだいたい記録しています。

スキーマ

CREATE TABLE `buffer_2011` (
  `id_autoinc` bigint(20) unsigned NOT NULL AUTO_INCREMENT,
  `id` bigint(20) unsigned NOT NULL,
  `user` varchar(20) NOT NULL,
  `content` text NOT NULL,
  `source` text,
  `time` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP,
  PRIMARY KEY (`id_autoinc`),
  UNIQUE KEY `id` (`id`)
) ENGINE=InnoDB AUTO_INCREMENT=0 DEFAULT CHARSET=utf8

記録されている内容:

CREATE TABLE `buffer_yyyymmdd` (
  `id_autoinc` yats内部ID,
  `id` ステータスID,
  `user` スクリーンネーム,
  `content` 本文,
  `source` 投稿に用いたクライアント情報,
  `time` つぶやかれた時刻,
  PRIMARY KEY (`id_autoinc`),
  UNIQUE KEY `id` (`id`)
) ENGINE=InnoDB AUTO_INCREMENT=0 DEFAULT CHARSET=utf8

データ:

http://api.yats-data.com/data/20101231-201101.bz2

使い方:

$ wget http://api.yats-data.com/data/20101231-201101.bz2
$ bunzip2 20101231-201101.bz2
$ mysql -u hoge
mysql > use hogebase;
mysql > CREATE TABLE `buffer_2011` (
  `id_autoinc` bigint(20) unsigned NOT NULL AUTO_INCREMENT,
  `id` bigint(20) unsigned NOT NULL,
  `user` varchar(20) NOT NULL,
  `content` text NOT NULL,
  `source` text,
  `time` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP,
  PRIMARY KEY (`id_autoinc`),
  UNIQUE KEY `id` (`id`)
) ENGINE=InnoDB AUTO_INCREMENT=0 DEFAULT CHARSET=utf8;
mysql > LOAD DATA INFILE 'buffer_20101231-201101' INTO TABLE buffer_2011;
mysql> select * from buffer_2011 where user like 'fuba' limit 1\G
...

その他の使い方:

MySQLダンプですがスキーマは必要以上にインデックスを張っていません。
用途に応じて張ってみてください。

MySQLに入れずに使うことも出来ます。
bunzip2後のファイルは以下のようになっています。

$ bzcat 20101231-201101.bz2 |head
id_autoinc	id    user    content    source    time
id_autoinc	id    user    content    source    time
id_autoinc	id    user    content    source    time

本文などに改行が入る場合など例外もありますのでちょっと処理が面倒かもですが、
違うデータベースに入れてもいいし、そのまま使っても良いと思います。