Ebay开源 Pulsar:实时大数据分析平台

作者:汪兴朗 汪明明 王巧玲

 Ebay开源 Pulsar:实时大数据分析平台_第1张图片

eBay作为全球性的商务平台和支付行业领先者,拥有海量的用户行为数据。基于现有的hadoop大数据处理,已经不能够满足业务上对实时性的需求。基于eBay过去的大数据处理的经验和对最新技术的运用,eBay探索出一个对海量的数据流进行实时的收集,处理,分发和分析的平台。并于20152月底开源此平台: Pulsar.

 

Pulsar作为一个复杂事件处理平台,具有快速,准确,灵活的特性,保证点到点的低延时和高可靠,从而很好得满足了的eBay秒级实时数据分析的需求。同时每秒百万级流量处理能力,给客户带来更好的个性化体验,帮助客户监控实时业务信息并定制实时营销策路,及时监测网络欺诈行为并减少机器人干预。并且Pulsar是基于标准的分布式云架构部署并跨越多个数据中心,从而保证了在系统升级和拓扑更新时没有集群停机时间。
 

Pulsar平台提供了一个完整的实时大数据分析的解决方案:

 

 
该平台能够实时收集Event Stream,并且对Event进行实时的EnrichmentSessionization, 推送到不同的实时应用,同时能够实时的进行统计和分析,对业务提供 Key insights.
 
Pulsar平台内部,它把Event Stream看成一种类数据库的表,在上面通过应用申明式的4GL来定义Business logic. 并且同时开源了作为支撑Pulsar 的一个全新的大数据流处理框架: Pulsar Jetstream. 
 
Pulsar.Stream是一个通用的全新的大数据流的处理框架。他实现了一个开放的,自动发现的Topology, 不同的应用可以分布在不同的Data center, 通过网络进行自动的发现并且建立连接,数据主动从Producer推送到Subscriber. 在每个应用内部,通过Pipeline的方式连接各个业务模块,并且支持用4GLEPL来定义业务逻辑。整个的topology是开放的并且能够动态扩展,相应的EPL也能够进行动态的更新且没有服务中断。
 
典型的部署结构

 
EPL Sample:

Event filtering and routing

insert into SUBSTREAM select D1, D2, D3, D4
from RAWSTREAM where D1 = 2045573 or D2 = 2047936 or D3 = 2051457 or D4 = 2053742; // filtering
@PublishOn(topics=“TOPIC1”)   // publish sub stream at TOPIC1
@OutputTo(“OutboundMessageChannel”)
@ClusterAffinityTag(column = D1);    // partition key based on column D1
select * FROM SUBSTREAM;

Aggregate computation

// create 10-second time window context
create context MCContext start @now end pattern [timer:interval(10)];
// aggregate event count along dimension D1 and D2 within specified time window
context MCContext insert into AGGREGATE select count(*) as METRIC1, D1, D2 FROM RAWSTREAM group by D1,D2 output snapshot when terminated;
select * from AGGREGATE;

TopN computation

// create 60-second time window context
create context MCContext start @now end pattern [timer:interval(60)];
// sort to find top 10 event counts along dimensions D1, D2, and D3
// within specified time window
context MCContext insert into TOPITEMS select count(*) as totalCount, D1, D2, D3 from RawEventStream group by D1, D2, D3 order by count(*) limit 10;
select * from TOPITEMS;
 
 

关于详细的信息,请看

www.ebaytechblog.com/2015/02/23/announcing-pulsar-real-time-analytics-at-scale

 

相关事件:

1.      Pulsar on QCon Shanghai 2014 –

http://www.infoq.com/cn/presentations/ebay-user-behavior-data-stream-processing-system

2.  Pulsar on milibo - http://www.milibo.com/talent/events.aspx?id=34


请访问 http://gopulsar.io 获取源代码,文档和更详细信息。


你可能感兴趣的:(平台)