当前位置: 首页 > news >正文

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

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

 

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 获取源代码,文档和更详细信息。


                

相关文章:

  • JS组件化验证检测
  • 基于云技术的集成测试代码覆盖率收集的一站式解决方案
  • 使用github pages + issues + api建立个人博客
  • MapReduce的详细过程
  • 基于Jmeter和Jenkins的自动化性能测试的一站式解决方案
  • jQuery动态载入JS文件研究
  • SolrCloud之分布式索引及与Zookeeper的集成
  • Kafka的分布式架构设计与High Availability机制
  • JS方法代理
  • Hadoop作业性能指标及参数调优实例 (一)Hadoop作业性能异常指标
  • Hadoop作业性能指标及参数调优实例 (二)Hadoop作业性能调优7个建议
  • Hadoop作业性能指标及参数调优实例 (三)Hadoop作业性能参数调优方法
  • 漫谈程序控制流
  • Hadoop集群硬盘故障分析与自动化修复
  • jQuery数据赋值解析
  • android 一些 utils
  • C语言笔记(第一章:C语言编程)
  • JavaScript设计模式系列一:工厂模式
  • leetcode讲解--894. All Possible Full Binary Trees
  • MySQL的数据类型
  • seaborn 安装成功 + ImportError: DLL load failed: 找不到指定的模块 问题解决
  • Spark学习笔记之相关记录
  • Web标准制定过程
  • 从零开始在ubuntu上搭建node开发环境
  • 干货 | 以太坊Mist负责人教你建立无服务器应用
  • 浅谈Golang中select的用法
  • 让你的分享飞起来——极光推出社会化分享组件
  • 深度学习入门:10门免费线上课程推荐
  • 实战|智能家居行业移动应用性能分析
  • 手写双向链表LinkedList的几个常用功能
  • 微信开源mars源码分析1—上层samples分析
  • 我看到的前端
  • 硬币翻转问题,区间操作
  • 追踪解析 FutureTask 源码
  • 走向全栈之MongoDB的使用
  • ​ArcGIS Pro 如何批量删除字段
  • ​LeetCode解法汇总2583. 二叉树中的第 K 大层和
  • ​低代码平台的核心价值与优势
  • !!Dom4j 学习笔记
  • (2.2w字)前端单元测试之Jest详解篇
  • (6)添加vue-cookie
  • (python)数据结构---字典
  • (二)换源+apt-get基础配置+搜狗拼音
  • (二十五)admin-boot项目之集成消息队列Rabbitmq
  • (附源码)ssm失物招领系统 毕业设计 182317
  • (附源码)计算机毕业设计SSM在线影视购票系统
  • (十三)Maven插件解析运行机制
  • (转)MVC3 类型“System.Web.Mvc.ModelClientValidationRule”同时存在
  • ***检测工具之RKHunter AIDE
  • *Django中的Ajax 纯js的书写样式1
  • .NET MVC之AOP
  • .Net环境下的缓存技术介绍
  • @AliasFor注解
  • @javax.ws.rs Webservice注解
  • @property括号内属性讲解