Chirp hackday

1,001 views

Published on

@koichi

0 Comments
0 Likes
Statistics
Notes
  • Be the first to comment

  • Be the first to like this

No Downloads
Views
Total views
1,001
On SlideShare
0
From Embeds
0
Number of Embeds
6
Actions
Shares
0
Downloads
1
Comments
0
Likes
0
Embeds 0
No embeds

No notes for slide
  • まず自己紹介をさせていただきます。 和田と申します。 Twitter アカウントは u のない Koichi です。 普段はツイナビというサイトのエンジニアリングを担当しています。 個人情報を公開しますと、玉ねぎと納豆に弱いという弱点があります。
  • Ignite: 5 分という短いプレゼンを行う Biz : Power Point Karaoke - 主催者側でランダムに選んだスライドにあわせて即興でプレゼンする
  • http://www.sfweekly.com/slideshow/twitter-truck-lunch-chirp-fort-mason-29696959/3/ ランチ : ツイッターでお知らせして車でケータリングする業者 http://www.findsffoodtrucks.com/
  • 曲名を延々と Tweet するようなアプリはつまらない
  • Thrift:RPC フレームワーク
  • MapReduce - 2 stages
  • RoR, Scala も使われています
  • Chirp hackday

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

    ×