35
美团数据仓库的演进 美团数据组 刁涵 13年9月6星期五

美团技术学院 - 美团网数据仓库的演进

  • View
    817

  • Download
    13

Embed Size (px)

Citation preview

Page 1: 美团技术学院 - 美团网数据仓库的演进

美团数据仓库的演进美团⺴⽹网数据组 刁⼠士涵

13年9月6⽇日星期五

Page 2: 美团技术学院 - 美团网数据仓库的演进

数据驱动

2

13年9月6⽇日星期五

Page 3: 美团技术学院 - 美团网数据仓库的演进

13年9月6⽇日星期五

Page 4: 美团技术学院 - 美团网数据仓库的演进

•数据收集与存储• ETL  •开放和协作•经验教训

演进过程

13年9月6⽇日星期五

Page 5: 美团技术学院 - 美团网数据仓库的演进

Scribe

13年9月6⽇日星期五

Page 6: 美团技术学院 - 美团网数据仓库的演进

Flume

13年9月6⽇日星期五

Page 7: 美团技术学院 - 美团网数据仓库的演进

日志收集Flume Scribe

容错性 agent和collector,collector和store之间提供三种级别的可靠性保证

collector和store之间有容错,但agent和collector之间的容错需要⾃自⼰己实现

负载均衡 从agent到collector之间可以设置Loadbalance模式 ⽆无

扩展性 好 好

框架包含source, channel, sink三部分,可以⽅方便设置。代码框架良好,可以⽅方便进⾏行组件开

发。代码简单

源⽀支持 提供丰富的agent,包括socket, syslog, scribe, thrift, avro, exec等; thri-,其它美团⾃自⼰己实现

存储⽀支持⽀支持存储到hdfs, file, hbase和发送到avro,

thrift等端;写hdfs时⽀支持对text和 sequence的压缩;

buffer, network, file(hdfs, text)

13年9月6⽇日星期五

Page 8: 美团技术学院 - 美团网数据仓库的演进

• Infobright

• Hadoop/Hive

⽇日志的结构化存储

13年9月6⽇日星期五

Page 9: 美团技术学院 - 美团网数据仓库的演进

•数据收集与存储

•ETL  •开放和协作•经验教训

演进过程

13年9月6⽇日星期五

Page 10: 美团技术学院 - 美团网数据仓库的演进

•很多重复劳动和代码,⼀一处变更多处修改•中间数据缺失,中间结果不能共享•程序语⾔言五花⼋八⻔门,⽅方法各异很难管理•清洗和转换没有统⼀一⽅方法,容易出错•不同数据源的数据很难综合使⽤用

13年9月6⽇日星期五

Page 11: 美团技术学院 - 美团网数据仓库的演进

ETL

13年9月6⽇日星期五

Page 12: 美团技术学院 - 美团网数据仓库的演进

• B流程要在N流程后⾯面执⾏行

•并⾏行开发

•上游数据源调整,没通知下游?

上百个流程如何管理?

13年9月6⽇日星期五

Page 13: 美团技术学院 - 美团网数据仓库的演进

依赖关系+调度

13年9月6⽇日星期五

Page 14: 美团技术学院 - 美团网数据仓库的演进

•解析SQL,获得每个流程的上游表

•检测环等不合理依赖

•流程上线时⾃自动更新,不⽤用⼈人⼯工干预

⾃自动解析依赖关系

13年9月6⽇日星期五

Page 15: 美团技术学院 - 美团网数据仓库的演进

•⼀一个核⼼心流程,有上百个下游,依赖关系达到17层

•执⾏行出错了...

依赖关系

13年9月6⽇日星期五

Page 16: 美团技术学院 - 美团网数据仓库的演进

容错,监控控制影响范围,快速恢复

13年9月6⽇日星期五

Page 17: 美团技术学院 - 美团网数据仓库的演进

调度系统

13年9月6⽇日星期五

Page 18: 美团技术学院 - 美团网数据仓库的演进

•权限控制–⽑毛利  =  (售价  -­‐  进价)*  销量

•重导剪枝–⼀一个字段计算出错,  只影响部分下游

字段级依赖关系

13年9月6⽇日星期五

Page 19: 美团技术学院 - 美团网数据仓库的演进

•数据收集与存储• ETL  

•开放和协作•经验教训

演进过程

13年9月6⽇日星期五

Page 20: 美团技术学院 - 美团网数据仓库的演进

数据⼯工程师每天的时间分配?

先提升⼯工程师的效率!

13年9月6⽇日星期五

Page 21: 美团技术学院 - 美团网数据仓库的演进

•将数据按照常⽤用的维度展开成上百列的宽表,⽅方便报表查询和分析⼈人员提取数据

•城市+时间维度的主题表:418列

建⽴立主题表

13年9月6⽇日星期五

Page 22: 美团技术学院 - 美团网数据仓库的演进

⾃自助查询、报表⼯工具

13年9月6⽇日星期五

Page 23: 美团技术学院 - 美团网数据仓库的演进

⾃自助查询、报表⼯工具

13年9月6⽇日星期五

Page 24: 美团技术学院 - 美团网数据仓库的演进

•⾯面向业务部⻔门、PM、分析师,持续组织培训

•建⽴立答疑群,  随意有问题随时解答

•参与招聘

推⼲⼴广使⽤用

13年9月6⽇日星期五

Page 25: 美团技术学院 - 美团网数据仓库的演进

效果

⾃自助查询⼯工具上线前

上线后

写SQL的⼈人数据RD<10⼈人 业务,PM,分析师  >100⼈人,其中超过⼀一半是妹⼦子

⼯工作状态RD疲于提数写报表数据需求⽅方等待

RD改善⼯工具建设数据仓库需求⽅方⾃自助提取数据

各数据需求⽅方已经在平台上保存了18500+个SQL

13年9月6⽇日星期五

Page 26: 美团技术学院 - 美团网数据仓库的演进

数据的消费可以⾃自助了数据的⽣生产呢?

13年9月6⽇日星期五

Page 27: 美团技术学院 - 美团网数据仓库的演进

•开放存储和计算环境,ETL开发和部署web化•让有能⼒力的RD⾃自⼰己开发ETL流程

开放ETL环境

13年9月6⽇日星期五

Page 28: 美团技术学院 - 美团网数据仓库的演进

•数据仓库是⼀一套完整的软件环境,包括数据抽取、存储、计算、查询、展⽰示,以及管理这些过程的⼯工具。开放的环境带来更⼤大的价值。

13年9月6⽇日星期五

Page 29: 美团技术学院 - 美团网数据仓库的演进

•数据收集与存储• ETL  •开放和协作

•经验教训

演进过程

13年9月6⽇日星期五

Page 30: 美团技术学院 - 美团网数据仓库的演进

•坚持⽤用技术提⾼高效率

•⼯工具化

•培训⼈人,提⾼高⼈人的能⼒力

坚持做有积累的事,做乘法

13年9月6⽇日星期五

Page 31: 美团技术学院 - 美团网数据仓库的演进

• OLAP尝试失败

•可视化查询

别⼈人的不⼀一定适合你

13年9月6⽇日星期五

Page 32: 美团技术学院 - 美团网数据仓库的演进

•根据业务需要考虑架构,随着业务发展不断改进

• “好的架构是演进出来的”

演进

13年9月6⽇日星期五

Page 33: 美团技术学院 - 美团网数据仓库的演进

•MySQL,  Infobright• Hadoop,  Hive,  HBase,  Zookeeper• ThriE,  Scribe,  Flume,  Sqoop• Redis• Quartz• ...                            

拥抱开源,回馈社区

13年9月6⽇日星期五

Page 34: 美团技术学院 - 美团网数据仓库的演进

•数据仓库架构师,Hadoop⾼高级⼯工程师,后台研发⼯工程师

[email protected]•新浪微博      @刁⼠士涵

和美团⼀一起⾼高速成⻓长

13年9月6⽇日星期五

Page 35: 美团技术学院 - 美团网数据仓库的演进

Thanks!

13年9月6⽇日星期五