chirp hackday
DESCRIPTION
@koichiTRANSCRIPT
![Page 3: Chirp hackday](https://reader033.vdocuments.pub/reader033/viewer/2022042601/555a76a5d8b42a972b8b5340/html5/thumbnails/3.jpg)
Chirp
• 4/14, 15 in San Francisco
• 本日ご紹介する内容– Chirp の様子– Hack Day のセッションから技術トピック
を2つ
![Page 4: Chirp hackday](https://reader033.vdocuments.pub/reader033/viewer/2022042601/555a76a5d8b42a972b8b5340/html5/thumbnails/4.jpg)
Chirp の様子
![Page 5: Chirp hackday](https://reader033.vdocuments.pub/reader033/viewer/2022042601/555a76a5d8b42a972b8b5340/html5/thumbnails/5.jpg)
1日目 -Conference
![Page 6: Chirp hackday](https://reader033.vdocuments.pub/reader033/viewer/2022042601/555a76a5d8b42a972b8b5340/html5/thumbnails/6.jpg)
1 日目 - 夕方 Hack Day Start
![Page 7: Chirp hackday](https://reader033.vdocuments.pub/reader033/viewer/2022042601/555a76a5d8b42a972b8b5340/html5/thumbnails/7.jpg)
1 日目 - 夜 Ignite
![Page 8: Chirp hackday](https://reader033.vdocuments.pub/reader033/viewer/2022042601/555a76a5d8b42a972b8b5340/html5/thumbnails/8.jpg)
1 日目 - 深夜 Coding time
![Page 9: Chirp hackday](https://reader033.vdocuments.pub/reader033/viewer/2022042601/555a76a5d8b42a972b8b5340/html5/thumbnails/9.jpg)
2 日目 - 開始前
![Page 10: Chirp hackday](https://reader033.vdocuments.pub/reader033/viewer/2022042601/555a76a5d8b42a972b8b5340/html5/thumbnails/10.jpg)
2日目 -Sessions
![Page 11: Chirp hackday](https://reader033.vdocuments.pub/reader033/viewer/2022042601/555a76a5d8b42a972b8b5340/html5/thumbnails/11.jpg)
2 日目 -Lunch, Meet The founders
![Page 12: Chirp hackday](https://reader033.vdocuments.pub/reader033/viewer/2022042601/555a76a5d8b42a972b8b5340/html5/thumbnails/12.jpg)
まとめ
• 夜も通して 2 日連続のスケジュール• エンジニアが大勢集まって活気いっぱ
い• 食べ物と飲み物はしっかり
![Page 13: Chirp hackday](https://reader033.vdocuments.pub/reader033/viewer/2022042601/555a76a5d8b42a972b8b5340/html5/thumbnails/13.jpg)
Hack Day セッション
![Page 14: Chirp hackday](https://reader033.vdocuments.pub/reader033/viewer/2022042601/555a76a5d8b42a972b8b5340/html5/thumbnails/14.jpg)
技術トピック
• アプリが守るべきポリシー• 大量データの扱い
![Page 15: Chirp hackday](https://reader033.vdocuments.pub/reader033/viewer/2022042601/555a76a5d8b42a972b8b5340/html5/thumbnails/15.jpg)
アプリが守るべきポリシー
![Page 16: Chirp hackday](https://reader033.vdocuments.pub/reader033/viewer/2022042601/555a76a5d8b42a972b8b5340/html5/thumbnails/16.jpg)
守ってほしいポリシー
• ユーザーを悪い意味でびっくりさせない– 説明と違う動きをしたり– 急に機能が変わったり
• SPAM を送らない– 過去に DM を大量に送るゲームがありました
• プライバシーを守る– みんなが気にしてることです
![Page 17: Chirp hackday](https://reader033.vdocuments.pub/reader033/viewer/2022042601/555a76a5d8b42a972b8b5340/html5/thumbnails/17.jpg)
守ってほしいポリシー (2)
• ガイドラインやルールを守る– Tweet Display Guidlines
• http://media.twitter.com/14/tweet-display-guidelines
– Terms Of Service• http://twitter.com/tos
• わからないことは質問する• Awesome なアプリを作る
–重要 !
![Page 18: Chirp hackday](https://reader033.vdocuments.pub/reader033/viewer/2022042601/555a76a5d8b42a972b8b5340/html5/thumbnails/18.jpg)
守ってほしいポリシー (3)
• API 呼び出しの結果は Cache する• もらった OAuth Key を使わない
![Page 19: Chirp hackday](https://reader033.vdocuments.pub/reader033/viewer/2022042601/555a76a5d8b42a972b8b5340/html5/thumbnails/19.jpg)
ポリシーまとめ
• いいアプリを作ってください
• スライド 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](https://reader033.vdocuments.pub/reader033/viewer/2022042601/555a76a5d8b42a972b8b5340/html5/thumbnails/20.jpg)
大量データの扱い
![Page 21: Chirp hackday](https://reader033.vdocuments.pub/reader033/viewer/2022042601/555a76a5d8b42a972b8b5340/html5/thumbnails/21.jpg)
Twitter 上で生成されるデータ
7TB/日Chirp でのこの講演中に
225 GB
![Page 22: Chirp hackday](https://reader033.vdocuments.pub/reader033/viewer/2022042601/555a76a5d8b42a972b8b5340/html5/thumbnails/22.jpg)
技術的 Challenge
• データ収集• 格納 & 解析• 早く解析結果を得る
![Page 23: Chirp hackday](https://reader033.vdocuments.pub/reader033/viewer/2022042601/555a76a5d8b42a972b8b5340/html5/thumbnails/23.jpg)
データ収集
• 最初は syslog-ng を使った• データ量が膨大になってくるとスケー
ルしなかった
![Page 24: Chirp hackday](https://reader033.vdocuments.pub/reader033/viewer/2022042601/555a76a5d8b42a972b8b5340/html5/thumbnails/24.jpg)
そこで
• Scribe– Facebook で開発されたオープンソースの
ログ収集フレームワーク– Thrift 上で動作– アプリケーションからはカテゴリーをつ
けてログを書き込むだけ
![Page 25: Chirp hackday](https://reader033.vdocuments.pub/reader033/viewer/2022042601/555a76a5d8b42a972b8b5340/html5/thumbnails/25.jpg)
Scribe
• ローカルで動作– 障害に強い
• 階層構成– 下向きに書き込み
• プラガブルストレージ
書き込み 書き込み 書き込み
集約 集約
ファイル HDFS
![Page 26: Chirp hackday](https://reader033.vdocuments.pub/reader033/viewer/2022042601/555a76a5d8b42a972b8b5340/html5/thumbnails/26.jpg)
データの格納
• 7TB/ 日を書き込むとして• 書き込み速度 80MB/s を仮定すると• 24.3 時間必要• 1台では間に合いません• 容量も必要
![Page 27: Chirp hackday](https://reader033.vdocuments.pub/reader033/viewer/2022042601/555a76a5d8b42a972b8b5340/html5/thumbnails/27.jpg)
そこで
• Hadoop– 分散ファイルシステム– MapReduce 並列処理– オープンソース– Y! では 4000 ノード– 1TB のランダムな整数を 62 秒でソート
![Page 28: Chirp hackday](https://reader033.vdocuments.pub/reader033/viewer/2022042601/555a76a5d8b42a972b8b5340/html5/thumbnails/28.jpg)
解析
• MySQL 上での操作では無理– ツイートを数える : COUNT, GROUP– ソーシャルグラフの集計 : JOIN
• やっぱり Hadoop– 全部のツイートを数えるのに 5 分– ソーシャルグラフの集計– ページランク
![Page 29: Chirp hackday](https://reader033.vdocuments.pub/reader033/viewer/2022042601/555a76a5d8b42a972b8b5340/html5/thumbnails/29.jpg)
早く解析結果を得る
• 解析は通常 Java でコードを書くことになる
• ちょっと難しい– MapReduce– コンパイルが必要
![Page 30: Chirp hackday](https://reader033.vdocuments.pub/reader033/viewer/2022042601/555a76a5d8b42a972b8b5340/html5/thumbnails/30.jpg)
そこで
• Pig– オープンソース– SQL の代わりになる高級言語– レコード集合に対して操作– 処理を 1 ステップづつ記述
![Page 31: Chirp hackday](https://reader033.vdocuments.pub/reader033/viewer/2022042601/555a76a5d8b42a972b8b5340/html5/thumbnails/31.jpg)
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](https://reader033.vdocuments.pub/reader033/viewer/2022042601/555a76a5d8b42a972b8b5340/html5/thumbnails/32.jpg)
Java に比べて簡単
5%のコード量ですむ
![Page 33: Chirp hackday](https://reader033.vdocuments.pub/reader033/viewer/2022042601/555a76a5d8b42a972b8b5340/html5/thumbnails/33.jpg)
まとめ
• 大量なデータを処理するためのオープンソースソフトウェアを改良して使っています– 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](https://reader033.vdocuments.pub/reader033/viewer/2022042601/555a76a5d8b42a972b8b5340/html5/thumbnails/34.jpg)
最後に
• 日本からも何人か参加されてました• 次回参加されてはいかがでしょうか• ご清聴ありがとうございました