Pulsar Reporting~Ebay开源基于大数据的可视化框架:Pulsar Reporting

Ebay开源基于大数据的可视化框架:Pulsar Reporting - ebay的专栏 - 博客频道 - CSDN.NET http://blog.csdn.net/ebay/article/details/50417403

作者:汪明明,王巧玲

ebay又新添了一个开源项目PulsarReporting – 基于大数据的可视化框架

Pulsar作为一个实时和近实时大数据分析处理系统,包含了Pulsar Pipeline和Pulsar Reporting. 在今年三月, eBay Pulsar团队开源了实时大数据分析平台– Pulsar Pipeline,作为一个实时大数据分析平台,PulsarPipeline可以对海量数据进行实时收集,处理和分析,从而使eBay海量的数据实时分析成为可能;然而Pulsar又面临一个新的挑战,就是大数据的实时可视化。用户的需求就是Pulsar团队的动力,经过半年多的努力,eBay Pulsar团队研发了一个新的基于大数据的可视化框架– Pulsar Reporting


Pulsar Reporting
Pulsar Reporting 是一个基于大数据的可扩展和可定制的可视化平台, 用户通过Pulsar 可以提供更为清晰直观的数据洞察力,将错综复杂的数据和数据之间的关系,通过图形的形式呈现出来,从而给用户带来实时的洞察力和有效的决策力。同时Pulsar Reporting 也提供了非常友好的数据交互体验以及从宏观到微观的灵活切换,从而为用户对数据进行实时多角度分析和可视化成为可能。

主要特点

Ÿ 实时数据可视化 – 基于实时数据生成报表,并支持定期刷新
Ÿ 可视化报表编辑器 – 通过可视化界面生成自定义报表,且无需任何编程
Ÿ 丰富的图形库 – 可以创建各种图形报表:线图,饼图,柱状图,趋势图等
Ÿ Reporting API支持– 支持标准化SQL脚本和结构化JSON格式
Ÿ 动态数据源管理 – 支持‘热插拔’增加和删除数据源
Ÿ 基于Angular JS的UI框架 – 易于增加和扩展现有的图形库
Ÿ 基于BootStrap的响应式设计 – 可以支持不同的终端设备,如手机,平板等

使用场景
Pulsar Reporting框架作为Pulsar生态系统的一个部分,使得Pulsar可以提供一个端到端的实时大数据分析解决方案,包括从后端的数据收集,数据流处理分析到前端的数据实时展现。Pulsar Pipeline具有每秒百万级流量的处理能力,而数据可视化则是最好的途径去直观且有效得展现大数据的魅力。然而基于大数据进行实时分析并进一步为决策者提供有用的数据报表并非一件易事,Puslar Reporting正好解决这方面的困扰;它允许用户通过Pulsar Reporting简单便捷的界面来制定他们所需的报表而无需考虑后端复杂的数据处理和前段的界面展现的问题;另一方面,Reporting强大的API,允许开发人员自由得扩展现有的数据报表,从而定制自己特色的报表。

体系架构
在Pulsar Reporting,来自Pulsar Pipeline的原数据和session数据,通过Pulsar Kafka通道中指定的topics流入到Kafka集群,然后再通过Kafka topics分别注入到Druid的原数据和Session数据表中,而数据导入Druid之前,数据预先经过秒级粒度的聚合,从而保证在可视化阶段能达到实时秒级的响应。而且在Pulsar Reporting中,我们也支持Reporting API – 一组抽象的数据分析和查询接口,用户可以通过调用相应的接口来获取处理过的原数据和Session数据,并生成不同维度的报表。图中红色部分就是Pulsar Reporting的主要功能模块。


案例分析
Ÿ 作为实时大数据处理可视化平台,Pulsar Reporting提供了丰富的API来支持对网站性能的分析需求
a) 网站活跃用户分析:现在以网站活跃用户分析为例,通过基于SQL接口,分析指定时间内基于流量来源(Traffic Source)维度的网站活跃用户指标;包括基于指定流量来源(Traffic Source)维度的新用户比率(New Session Rate), 用户浏览的总页面数(Total Pages),总活跃用户数(Total Sessions)以及总活跃用户停留时间(Total Sesssion Duration). 以下是实现细节,仅供参考。

Endpoint: http://<API_Server>/prapi/v2/sql
Method: POST
Body: {"sql" : "SELECT (count(session) - sum(retvisitor)) * 1.0 / count(session) newSessionRate, sum(sessionDuration) * 1000 totalSessionDurations, count(session) sessions, sum(sessionDuration) totalSessions, sum(totalpagect) totalPages, country, trafficSource FROM pulsar_session WHERE site=0 and country='usa' GROUP BY country, trafficSource ORDER BY sum(totalpagect) ASC limit 20",
"intervals": "2015-11-11 03:00:32/2015-11-18 01:00:32",
"granularity": "day"}

返回结果:
[
{
"timestamp": "2015-11-11 03:00:32",
"result":
{
"sessions": 28465,
"trafficsource": "Social Media",
"newsessionrate": 0.7841,
"totalpages": 70911,
"totalsessions": 419763,
"totalsessiondurations": 419747000,
"country": "usa"
}
},
{
"timestamp": "2015-11-11 03:00:32",
"result":
{
"sessions": 40,
"trafficsource": "Paid Campaign",
"newsessionrate": 0.9840,
"totalpages": 51,
"totalsessions": 2631,
"totalsessiondurations": 226000,
"country": "usa"
}
},
……
]

a) 网站浏览量分析:作为商业网站,网站浏览量是一个关键的指标来衡量一个网站的活跃程度,接下来介绍如何通过结构化的Json接口来获取基于流量来源(Traffic Source)分类的网站浏览量的分析。以下是实现细节,仅供参考。
Endpoint: http://<API_Server>/prapi/v2/realtime
Method: POST
Body: {"metrics" : [ "pageviews" ], "dimensions" : [ "trafficsource" ], "filter" : "site=0" }

返回结果:
[
{
"timestamp": "2015-11-17 19:38:20",
"result":
{
"pageviews": 272393,
"totaldwell": 670162705,
"trafficsource": "Direct"
}
},
{
"timestamp": "2015-11-17 19:38:20",
"result":
{
"pageviews": 186139,
"totaldwell": 781712501,
"trafficsource": "Referral"
}
},
……
]

Ÿ Pulsar Reporting也提供了可视化编辑工具来帮助用户快速生成基于特定需求的分析报表集。用户可以通过Reports Creator来订制自己的报表集;在可订制报表页面,用户首先创建自己的报表集:


在创建的报表集内,根据业务需求制定报表:



最后通过调整报表的布局,就能看到下面类似的报表集了。

后续计划
继往开来,Pulsarteam将继续完善Pulsar Reporting,以下是我们未完成的功能:
1. Pathing图和漏斗图
2. 报表输出管理
3. 更多数据源支持

同时我们也期待有更多的项目能采用我们Pulsar Reporting去解决大数据的可视化问题,并热切期待您的贡献。了解更多Pulsar Reporting,请访问http://gopulsar.io/html/reporting.html

关于作者
Ÿ 汪明明,PulsarReporting Commiter和架构师
Ÿ 王巧玲,PulsarReporting 产品经理
Pulsar团队

参考资料
Ÿ Pulsar Reporting技术文档: http://gopulsar.io/html/reporting.html
Ÿ Pulsar Reporting源码: https://github.com/pulsarIO/pulsar-reporting-ui
Ÿ Pulsar技术文档: http://gopulsar.io/
Ÿ Pulsar Pipeline技术文档: http://gopulsar.io/html/pipeline.html
Ÿ eBay techblog: http://www.ebaytechblog.com/2015/11/05/announcing-pulsar-reporting-near-real-time-metrics-reporting-framework/
Ÿ Druid:http://druid.io/
Ÿ Kafka:http://kafka.apache.org/
Ÿ JSON:http://www.json.org/
Ÿ Hadoophttp://hadoop.apache.org/
Ÿ AngularJShttps://angularjs.org/
Ÿ AngularBootstrap: https://angular-ui.github.io/bootstrap/
Ÿ Boostrap:http://getbootstrap.com/
Ÿ jQuery: https://jquery.com/

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 204,590评论 6 478
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 86,808评论 2 381
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 151,151评论 0 337
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 54,779评论 1 277
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 63,773评论 5 367
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 48,656评论 1 281
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 38,022评论 3 398
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 36,678评论 0 258
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 41,038评论 1 299
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 35,659评论 2 321
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 37,756评论 1 330
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 33,411评论 4 321
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 39,005评论 3 307
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 29,973评论 0 19
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 31,203评论 1 260
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 45,053评论 2 350
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 42,495评论 2 343

推荐阅读更多精彩内容