不可視点

search guy at cookpad.com

yatsが回収したTwitter日本語圏 9月(1/2)

久しぶりにTwitter日本語圏のダンプを公開したいと思います。
9/1-9/16の1.77億つぶやきのMySQLダンプです(load dataで取り込むタイプ)

yatsの収集対象は

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

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

スキーマ

CREATE TABLE `buffer_20100916` (
  `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=2179575472 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=x DEFAULT CHARSET=utf8

データ:

http://yats-api.no-ip.org/data/buffer_20100916.bz2 8.7G (36GB)

使い方:

$ wget http://yats-api.no-ip.org/data/buffer_20100916.bz2
$ bunzip2 buffer_20100916.bz2
$ mysql -u hoge
mysql > use hogebase;
mysql > CREATE TABLE `buffer_20100916` (
  `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=2179575472 DEFAULT CHARSET=utf8;
mysql > LOAD DATA INFILE 'buffer_20100916' INTO TABLE buffer_20100916;
mysql> select * from buffer_20100916 where user like 'fuba' limit 1\G
id_autoinc: 1979328940
        id: 22534370639
      user: fuba
   content: 当分夏だろ
    source: <a href="http://sites.google.com/site/peraperaprv/Home" rel="nofollow">P3:PeraPeraPrv</a>
      time: 2010-08-31 00:39:46
1 row in set (19.56 sec)

その他の使い方:

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

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

$ bzcat buffer_20100916.bz2 |head
id_autoinc	id    user    content    source    time
id_autoinc	id    user    content    source    time
id_autoinc	id    user    content    source    time

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