open network live - hack day report

34
Chirp Hack Day Report (株)デジタルガレージ 和田浩一 [email protected] @Koichi

Upload: open-network-lab

Post on 19-May-2015

1.424 views

Category:

Documents


1 download

TRANSCRIPT

Page 1: Open Network Live - Hack Day Report

Chirp Hack Day Report

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

@Koichi

Page 2: Open Network Live - Hack Day Report

自己紹介

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

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

Page 3: Open Network Live - Hack Day Report

Chirp

•  4/14, 15 in San Francisco •  本日ご紹介する内容

– Chirpの様子 – Hack Day のセッションから技術トピックを2つ

Page 4: Open Network Live - Hack Day Report

Chirpの様子

Page 5: Open Network Live - Hack Day Report

1日目-Conference

Page 6: Open Network Live - Hack Day Report

1日目-夕方 Hack Day Start

Page 7: Open Network Live - Hack Day Report

1日目-夜 Ignite

Page 8: Open Network Live - Hack Day Report

1日目-深夜 Coding time

Page 9: Open Network Live - Hack Day Report

2日目-開始前

Page 10: Open Network Live - Hack Day Report

2日目-Sessions

Page 11: Open Network Live - Hack Day Report

2日目-Lunch, Meet The founders

Page 12: Open Network Live - Hack Day Report

まとめ

•  夜も通して2日連続のスケジュール •  エンジニアが大勢集まって活気いっぱい •  食べ物と飲み物はしっかり

Page 13: Open Network Live - Hack Day Report

Hack Day セッション

Page 14: Open Network Live - Hack Day Report

技術トピック

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

Page 15: Open Network Live - Hack Day Report

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

Page 16: Open Network Live - Hack Day Report

守ってほしいポリシー

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

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

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

Page 17: Open Network Live - Hack Day Report

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

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

•  http://media.twitter.com/14/tweet-display-guidelines –  Terms Of Service

•  http://twitter.com/tos

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

– 重要!

Page 18: Open Network Live - Hack Day Report

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

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

Page 19: Open Network Live - Hack Day Report

ポリシーまとめ

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

•  スライド 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: Open Network Live - Hack Day Report

大量データの扱い

Page 21: Open Network Live - Hack Day Report

Twitter上で生成されるデータ

7TB/日

Chirpでのこの講演中に 225GB

Page 22: Open Network Live - Hack Day Report

技術的Challenge

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

Page 23: Open Network Live - Hack Day Report

データ収集

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

Page 24: Open Network Live - Hack Day Report

そこで

•  Scribe – Facebookで開発されたオープンソースのログ収集フレームワーク

– Thrift上で動作 – アプリケーションからはカテゴリーをつけてログを書き込むだけ

Page 25: Open Network Live - Hack Day Report

Scribe

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

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

•  プラガブルストレージ

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

集約 集約

ファイル HDFS

Page 26: Open Network Live - Hack Day Report

データの格納

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

Page 27: Open Network Live - Hack Day Report

そこで

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

Page 28: Open Network Live - Hack Day Report

解析

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

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

Page 29: Open Network Live - Hack Day Report

早く解析結果を得る

•  解析は通常Javaでコードを書くことになる •  ちょっと難しい

– MapReduce – コンパイルが必要

Page 30: Open Network Live - Hack Day Report

そこで

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

Page 31: Open Network Live - Hack Day Report

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’

Page 32: Open Network Live - Hack Day Report

Javaに比べて簡単

5%のコード量ですむ

Page 33: Open Network Live - Hack Day Report

まとめ

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

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

twitter-chirp-2010

Page 34: Open Network Live - Hack Day Report

最後に

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