#blog2navi() ニコニコデータビューアー向けテーブルスキーマ †ニコニコデータセットが公開された。コメントデータが約24億件。動画情報が約800万件ある。動画情報はMySQLに入るが、コメントデータはさすがに入りきらない。いきおいコメントデータは、hadoop等を用いた分散環境での解析が主になる。 しかし、いまだにhadoopを使うような分散環境を構築するのは素人には手が余る。何かを分析しようとしても、分析するための事前準備に多くの手間を取られる。 私は思いついた。それなら、環境構築の部分はこちらでやってWebUIを通してデータ解析に注力してもらうシステムを作れば良いのでは・・・・。 hadoopの上にHiveと言うSQL-Likeな問い合わせができるシステムがある。それを使うと比較的簡単(SQLを書くだけで)にデータの取得ができる。 つまり、Hive->Hadoop->ニコニコ動画のコメント情報を解析->結果出力の部分を詰め込んだ環境を作れば良いのでは。 と思って作ったのがこれ.ニコニコデータセットを手軽に解析できるwebアプリだ。 手始めに、上に書いている SELECT count(*) FROM nicodata.comment_data_sampling100 WHERE comment_string LIKE "%wwwwww%" を下のテキストエリアに貼り付けて、その下のexecuteボタンを押して見てほしい。 しばらくする(5分くらい待つ)と、Query Status:executedと言う表示が出てくるはずだ。 これが出ると言うことはすなわち、解析が終わったと言うことだ。ちなみに上のSQL文は、wwwwwを含むコメントは何個あるか数えるSQLだ。 これを使うことで、色々複雑な前準備無しに手軽にニコニコ動画の解析ができる。 バックエンドは、AmazonEC2を使っているためお金がかかる。当面は、土日だけ立ちあげて、平日は落としておこうと思っている。 SELECTしか使えないようにしているので、初心者がデータを壊すことはありません。安心して使ってください。 何故作ったかの説明 †このスライドに何故作ったの説明がある。 http://www.slideshare.net/shibacow/n-24673260 スライド中あった、日本語が通らない問題は現在解決されている。 仕様 †
バックエンド †
テーブル情報 †スキーマ - nicodata †テーブルサンプリング †全数のデータが入ったテーブルの他に、サンプリングデータを用意した。 10分の位置のレコードを入れたテーブル(sm数値の部分で、10で割り切れるもののみ格納)と100分の1レコードを入れたテーブル(sm数値の部分の100で割り切れるもののみ格納)を用意した。なるだけサンプリングデータで解析してほしい。 全数で検査をする前に、100分の一、10分の一で正しく動くか試してほしい。全数検査はよほどのことが無い限りやら無い方向で。 テーブル(動画情報) †
テーブルスキーマ †
テーブル(タグ情報) †
テーブルスキーマ †
テーブル(コメント情報) †
テーブルスキーマ †
Category: [ニコニコ動画 hadoop] - 03:01:45
&blog2trackback();
#blog2navi() |