실시간 이벤트 처리           문병원byeongweon.moon@redduck.com           레드덕
실시간 이벤트 처리
솔루션EsperApache S4              비슷함Twitter StormHStreaming
Event StreamProcessingComplex EventProcessing
Event StreamProcessing 은 이벤트 스트림의 빠른 처리와 단순한 산술계산에 초첨을 두고 있다.
Complex Event Processing은 패턴 분석에 주안점을 둔데이터 분석을 포함하고 있다
Esper• ESP/CEP with expressive Event  Processing Language: continuous queries,  aggregation, joins, causality and missing ...
Computing Rates Per Feedinsert into TicksPerSecondselect feed, rate(10) as cnt    from MarketDataEvent  group by feed
Detecting a Fall-offselect feed, avg(cnt) as avgCnt, cnt asfeedCnt  from TicksPerSecond.win:time(10 seconds) group by feed...
StormStream processingContinuous computationDistributed RPC
Storm do• Guaranteed message processing• Robust process management• Fault detection and automatic  reassignment• Efficient...
TopologyBuilder builder = new TopologyBuilder();builder.setSpout(1, new KestrelSpout("kestrel.backtype.com",              ...
public class SplitSentence implements IBasicBolt {    public void execute(Tuple tuple, BasicOutputCollector collector) {  ...
public class WordCount implements IBasicBolt {    private Map<String, Integer> _counts = new HashMap<String,Integer>();   ...
실시간 인벤트 처리
실시간 인벤트 처리
실시간 인벤트 처리
실시간 인벤트 처리
Upcoming SlideShare
Loading in...5
×

실시간 인벤트 처리

669

Published on

0 Comments
1 Like
Statistics
Notes
  • Be the first to comment

No Downloads
Views
Total Views
669
On Slideshare
0
From Embeds
0
Number of Embeds
0
Actions
Shares
0
Downloads
7
Comments
0
Likes
1
Embeds 0
No embeds

No notes for slide

실시간 인벤트 처리

  1. 1. 실시간 이벤트 처리 문병원byeongweon.moon@redduck.com 레드덕
  2. 2. 실시간 이벤트 처리
  3. 3. 솔루션EsperApache S4 비슷함Twitter StormHStreaming
  4. 4. Event StreamProcessingComplex EventProcessing
  5. 5. Event StreamProcessing 은 이벤트 스트림의 빠른 처리와 단순한 산술계산에 초첨을 두고 있다.
  6. 6. Complex Event Processing은 패턴 분석에 주안점을 둔데이터 분석을 포함하고 있다
  7. 7. Esper• ESP/CEP with expressive Event Processing Language: continuous queries, aggregation, joins, causality and missing events, joins to historical data, output flow control...• High throughput, low latency• Standalone or embedded, open API• Multi platform support
  8. 8. Computing Rates Per Feedinsert into TicksPerSecondselect feed, rate(10) as cnt from MarketDataEvent group by feed
  9. 9. Detecting a Fall-offselect feed, avg(cnt) as avgCnt, cnt asfeedCnt from TicksPerSecond.win:time(10 seconds) group by feedhaving cnt < avg(cnt) * 0.75
  10. 10. StormStream processingContinuous computationDistributed RPC
  11. 11. Storm do• Guaranteed message processing• Robust process management• Fault detection and automatic reassignment• Efficient message passing• Local mode and distributed mode
  12. 12. TopologyBuilder builder = new TopologyBuilder();builder.setSpout(1, new KestrelSpout("kestrel.backtype.com", 22133, "sentence_queue", new StringScheme()));builder.setBolt(2, new SplitSentence(), 10) .shuffleGrouping(1);builder.setBolt(3, new WordCount(), 20) .fieldsGrouping(2, new Fields("word"));
  13. 13. public class SplitSentence implements IBasicBolt { public void execute(Tuple tuple, BasicOutputCollector collector) { String sentence = tuple.getString(0); for(String word: sentence.split(" ")) { collector.emit(new Values(word)); } } public void declareOutputFields(OutputFieldsDeclarer declarer) { declarer.declare(new Fields("word")); }}
  14. 14. public class WordCount implements IBasicBolt { private Map<String, Integer> _counts = new HashMap<String,Integer>(); public void execute(Tuple tuple, BasicOutputCollector collector) { String word = tuple.getString(0); int count; if(_counts.containsKey(word)) { count = _counts.get(word); } else { count = 0; } count++; _counts.put(word, count); collector.emit(new Values(word, count)); } public void declareOutputFields(OutputFieldsDeclarer declarer) { declarer.declare(new Fields("word", "count")); }}
  1. A particular slide catching your eye?

    Clipping is a handy way to collect important slides you want to go back to later.

×