chirp hackday

34
Chirp Hack Day Report ) 株株株株株株株株 株株株[email protected] @Koichi

Upload: open-network-lab

Post on 19-May-2015

941 views

Category:

Documents


4 download

DESCRIPTION

@koichi

TRANSCRIPT

Page 1: Chirp hackday

ChirpHack Day Report

(株 ) デジタルガレージ 和田浩一[email protected]

@Koichi

Page 2: Chirp hackday

自己紹介

• 和田浩一– [email protected]– @Koichi

• ツイナビのエンジニアリング– http://twinavi.jp

Page 3: Chirp hackday

Chirp

• 4/14, 15 in San Francisco

• 本日ご紹介する内容– Chirp の様子– Hack Day のセッションから技術トピック

を2つ

Page 4: Chirp hackday

Chirp の様子

Page 5: Chirp hackday

1日目 -Conference

Page 6: Chirp hackday

1 日目 - 夕方 Hack Day Start

Page 7: Chirp hackday

1 日目 - 夜 Ignite

Page 8: Chirp hackday

1 日目 - 深夜 Coding time

Page 9: Chirp hackday

2 日目 - 開始前

Page 10: Chirp hackday

2日目 -Sessions

Page 11: Chirp hackday

2 日目 -Lunch, Meet The founders

Page 12: Chirp hackday

まとめ

• 夜も通して 2 日連続のスケジュール• エンジニアが大勢集まって活気いっぱ

い• 食べ物と飲み物はしっかり

Page 13: Chirp hackday

Hack Day セッション

Page 14: Chirp hackday

技術トピック

• アプリが守るべきポリシー• 大量データの扱い

Page 15: Chirp hackday

アプリが守るべきポリシー

Page 16: Chirp hackday

守ってほしいポリシー

• ユーザーを悪い意味でびっくりさせない– 説明と違う動きをしたり– 急に機能が変わったり

• SPAM を送らない– 過去に DM を大量に送るゲームがありました

• プライバシーを守る– みんなが気にしてることです

Page 17: Chirp hackday

守ってほしいポリシー (2)

• ガイドラインやルールを守る– Tweet Display Guidlines

• http://media.twitter.com/14/tweet-display-guidelines

– Terms Of Service• http://twitter.com/tos

• わからないことは質問する• Awesome なアプリを作る

–重要 !

Page 18: Chirp hackday

守ってほしいポリシー (3)

• API 呼び出しの結果は Cache する• もらった OAuth Key を使わない

Page 19: Chirp hackday

ポリシーまとめ

• いいアプリを作ってください

• スライド at slideshare - #chirppolicy– We Have Faith in (Most of) You: How Twitter

Crafts Policies to Allow Good Apps to Thrive– http://www.slideshare.net/delbius/chirppolicy

Page 20: Chirp hackday

大量データの扱い

Page 21: Chirp hackday

Twitter 上で生成されるデータ

7TB/日Chirp でのこの講演中に

225 GB

Page 22: Chirp hackday

技術的 Challenge

• データ収集• 格納 & 解析• 早く解析結果を得る

Page 23: Chirp hackday

データ収集

• 最初は syslog-ng を使った• データ量が膨大になってくるとスケー

ルしなかった

Page 24: Chirp hackday

そこで

• Scribe– Facebook で開発されたオープンソースの

ログ収集フレームワーク– Thrift 上で動作– アプリケーションからはカテゴリーをつ

けてログを書き込むだけ

Page 25: Chirp hackday

Scribe

• ローカルで動作– 障害に強い

• 階層構成– 下向きに書き込み

• プラガブルストレージ

書き込み 書き込み 書き込み

集約 集約

ファイル HDFS

Page 26: Chirp hackday

データの格納

• 7TB/ 日を書き込むとして• 書き込み速度 80MB/s を仮定すると• 24.3 時間必要• 1台では間に合いません• 容量も必要

Page 27: Chirp hackday

そこで

• Hadoop– 分散ファイルシステム– MapReduce 並列処理– オープンソース– Y! では 4000 ノード– 1TB のランダムな整数を 62 秒でソート

Page 28: Chirp hackday

解析

• MySQL 上での操作では無理– ツイートを数える : COUNT, GROUP– ソーシャルグラフの集計 : JOIN

• やっぱり Hadoop– 全部のツイートを数えるのに 5 分– ソーシャルグラフの集計– ページランク

Page 29: Chirp hackday

早く解析結果を得る

• 解析は通常 Java でコードを書くことになる

• ちょっと難しい– MapReduce– コンパイルが必要

Page 30: Chirp hackday

そこで

• Pig– オープンソース– SQL の代わりになる高級言語– レコード集合に対して操作– 処理を 1 ステップづつ記述

Page 31: Chirp hackday

Pig sampleusers = load ‘users.csv’ as (username: charaarray, age: int);

users_1825 = filter users by age >= 18 and age <=25;

pages = load ‘pages.csv’ as (username: chararay, url: chararray)

joined = join users_1825 by username, pages by username;

grouped = group joined by url;

summed = foreach grouped generate group as url, COUNT(joined) AS views;

sorted = order summed by views desc;

top_5 = limit sorted 5;

store top_t into ‘top_5_sites.csv’

Page 32: Chirp hackday

Java に比べて簡単

5%のコード量ですむ

Page 33: Chirp hackday

まとめ

• 大量なデータを処理するためのオープンソースソフトウェアを改良して使っています– Scribe– Hadoop– Pig

• スライド at slideshare - #chirpdata– Analyzing Big Data at Twitter– http://www.slideshare.net/kevinweil/big-data-at-twit

ter-chirp-2010

Page 34: Chirp hackday

最後に

• 日本からも何人か参加されてました• 次回参加されてはいかがでしょうか• ご清聴ありがとうございました