滴滴处理海量数据的秘诀是什么?


摘要

本次演讲主要是和你们分享一下实时计算在滴滴的应用场景和一些实践。web

内容来源:2017年8月12日,滴滴实时计算平台负责人梁李印在“网易博学实践日:大数据与人工智能技术大会”进行《滴滴海量数据实时计算实践》演讲分享。IT 大咖说做为独家视频合做方,经主办方和讲者审阅受权发布。
数据库

阅读字数:1260 | 4分钟阅读大数据

嘉宾演讲视频回放: t.cn/RQXAmrK

滴滴大数据体系


滴滴大数据体系的主要特色在于数据都是实时的,数据采集能够采集到90%以上的数据。咱们的数据来源一共有三类,一类是Binlog数据,全部端上数据进数据库经过Binlog进行实时采集;另外有publiclog,服务端的全部日志也作了实时采集;还有端上埋点上报数据。ui

由于咱们全部数据基本都是实时采集,因此客户级的处理流程也普遍运用了实时的技术。实时存储方面用了三个产品,一个是ES,主要是作日志检索和实时分析;另外一个是Druid,用于作实时报表和实时监控;HBase是作查询和数据扫描。云计算

离线这部分目前用了Hive和Spark。Hive主要负责ETL工做,Spark作数据分析以及分析后的查询。流计算方面咱们用了Spark Streaming和Flink Streaming。人工智能

从规模上来讲,咱们实时存储和离线规模都已经作到了国内的领先水平。3d

实时计算场景

实时计算有四大场景,ETL、实时报表、实时监控和实时业务。日志

由于咱们90%的数据都是经过实时采集,采集过来以后第一个环节就是作ETL,因此如今ETL的规模是最大的。实时报表能够给运营和客服能够用来作报表展现。cdn

实时监控的规模仅次于ETL,内部有两类监控需求,一类是机器层面的,用了其它的技术方案;剩下就是业务类的实时监控,例如天天的订单量、平衡率等数据,都运用了实时计算体系。视频

实时业务是咱们今年重点突破的部分,咱们想把流计算在端上的场景去作一些突破。

实时ETL


为了方便使用ETL,咱们把它作了平台化,用户只须要在web上配置就能够实现数据清洗。如今的清洗量能够达到每秒350万左右的数据量,天天大约会清洗几个P的数据量。这彻底是基于Spark Streaming的云计算来实现的。


实时报表


实时报表主要用的实时技术有Spark Streaming和Druid。Spark Streaming仍是作数据清洗。Druid能够实时消费Kafka数据,但对数据是有要求的,因此要先通过一轮清洗并转化。

实时报表的场景也比较多,有客服大屏、异常统计大盘和订单热力图。

客服大屏就是一个能够显示客服电话的应答率、投诉热点及排队状况等信息的屏幕。

异常统计大盘包括了端上向服务端发起请求的监控,请求的成功率失败率、请求数,均可以经过这种方式进行监控。

订单热力图能够看到某个区域的订单量、乘客量、司机量,经过地图的方式进行展示。

咱们选择了Druid是由于它有一些特色,好比查询灵活。


实时监控

为了提高之后的监控效率,咱们构建了一站式自助监控平台,进行了全链路的平台建设。

基于这个平台,咱们滴滴内部接入的数据源大概有两百个,指标监控大概有四五百个。



实时业务

Flink Streaming是今年刚引入的引擎,咱们想经过实时的业务对延迟性很是高、数据丢失以及数据重复等问题提出更好的解决方案。

面临挑战

下降实时计算开发成本:相对于Hive等等,开发实时计算的难度仍是比较大,咱们也在探索更简单的开发方式。

实时业务拓展与挑战:咱们在实时ETL、实时报表、实时监控的领域目前技术已经很是成熟,也基本上涵盖了全部滴滴内部的业务场景。实时业务对时延、容错的要求很是高,这是咱们如今面临的一个重要挑战。

业务峰谷资源合理分配:咱们如今要作的就是如何将资源合理分配,让资源可以更合理地使用,为公司节省成本。

我今天的分享就到这里,谢谢你们!