美团外卖配送员优选一个镇区的仓库建立费用谁负责

  看到一首英文版的《你笑起來真好看》温暖了这个冬天。

  把所有的烦恼 所有的忧愁

  整个世界全部的时光美得像画卷

  把所有的烦恼 所有的忧愁

  整个卋界全部的时光美得像画卷

  把所有的烦恼 所有的忧愁

  整个世界全部的时光美得像画卷

  把所有的烦恼 所有的忧愁

  整个世界铨部的时光美得像画卷

  整个世界全部的时光美得像画卷

  生活确实不易我们需要耐心等待。给好运气一点时间对生活保持乐观,毕竟没有人喜欢满脸阴云的人你笑,便是晴天

  以飨自己,也致那些为了生活而努力拼搏的人

打算给公司的小程序实现类似美團外卖配送员外卖配送员的实时位置

麻烦各位 V 友提供下思路,或者有 demo 的都可以谢谢~

这是一个专为移动设备优化的页面(即为了让你能夠在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论你可以继续到 上打开本讨论主题的完整版本。

是创意工作者们的社区是┅个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方

点击蓝色“有关SQL”关注我哟

加个“星标”天天与10000人一起快乐成长

前两天,转载了美团外卖配送员外卖的两篇数据仓库文章第一篇讲他们的实时数据仓库建设,第二篇講离线数据仓库两篇文章都发人深思。于是我花了点时间,拆解了各自的项目实现

这是第二篇拆解,针对离线数据仓库美团外卖配送员外卖讲述了他们的玩法。这篇感觉更接地气和传统数据仓库项目,贴合得更紧换句话说,这次的离线仓库不仅对互联网行业具有借鉴意义,对非互联网行业同样也具有参考价值。

传统数据仓库数据基建包括了 ETL, 建模和可视化。从数仓范畴的概念上入手美团外卖配送员外卖的离线数仓,也同样是这些但形式、落地与逻辑,稍有些扩展

比如,做传统行业的数仓工程师都知道数据的组织与存储,以关系型结构化数据为基准以维度模型为扩展。强烈的二维属性已经刻在我们脑子里即使在二维中硬生生增加多维的扩展模型,本质上还是二维存储

但在互联网业务中,比如美团外卖配送员外卖很多业务数据开始有了离散的结构。就好比日志一个用户的订單,来来回回有多种增删菜品的组合这样的行为数据,需要入库对于关系型数据库,极为不便处理

再举一个例子,用户与商家用戶与用户之间的评论,又是离散的这样一个主题帖,就像一棵树结构最好的办法就是将整棵树都存起来。

综合美团外卖配送员外卖的業务可以将数据分为两部分,一部分是事务性关系型业务数据;另一部分是离散结构半结构化的业务数据,比如评论用户行为日志等。

与上篇实时数仓一样这次的离线数仓,也是先从业务架构入手分析

美团外卖配送员的业务图,做得十分清爽每个业务链路,规劃的都很明晰一目了然。从用户下单商户上单,骑手接单配送销售运营,方方面面都考虑在了数据这条生态链上

业务架构清晰了,数据架构自然也就跟上来了

在四个数据层,层与层之间的数据交互都有不同的工具实现。正因工具多变监控这些工具的数据流是否正常,也是大事所以,数据流及其流监控手段还需要加在这幅全景图中。比如 Sqoop, Flume, 以及传统的 ETL 工具

这里值得关注的是,美团外卖配送員将大量的 Hive ETL 工作都转移到了 Spark 上面由此可见,将来的趋势必将给与 Spark 更多机会。那么 Spark 与 Hive 相比会有哪些明显的优势呢?文中指出至少有 3 個:

算子丰富,如果是用 Spark 计算库来说那是真的丰富。比如机器学习算法HQL 毫无优势。

缓存中间集不用像 Hive一样,每次都利用硬盘来缓存是 Spark 最大的优势。

资源复用申请的计算资源可以重复利用。这先按下不表因为我也没理解,这优势的本质在哪里。

美团外卖配送员從传统的数据仓库过度到现代互联网主流数据仓库设计经历了很长的路程。那么在这些历程中哪些是关键点,为什么会做出如此的技術选型看看美团外卖配送员怎么说。

刚开始2016年以前,美团外卖配送员业务量不大但竞争激烈。为了配合业务堆人完成开发。造成嘚局面一度尴尬:整体开发效率低;统计口径不一;垂直切分技术资源造成人力浪费。

来看下当时的美团外卖配送员技术架构:

分层也佷明晰:ODS\明细\聚合\主题\应用 

ODS层, 这里特别说明下。从各个数据源汇总过来的数据都会先落在ODS层,有一定的清洗意味着数据有筛选,更幹净更符合标准格式。

可以看到美团外卖配送员数仓1.0的分层是以总部+城市来展开的。这种分层造成的重复计算是毋庸置疑的。很多計算指标都是重合的总部和城市本身就是地区维度的上下层级关系,完全没必要分开所以这种分层必须按照业务重新划分。

于是美团外卖配送员 2.0 时代就改变了:

这回就彻底把分层做足了。按照应用来划分层次并且在每个层次上又再分层。

其实这里有个很重要的转型時间点并不是一上来就要精细化开发,把每个主题都安排的妥妥当当还要看业务发展的势态。

业务早期稳定性和持久性,还没有突破过早进入精细化数仓建设,是不合理的此时要做的事情,完全是辅助业务的开展在没有准确供给业务所需数据时,就要上一些高夶上的数仓指标体系建设那是浪费资源。

所以数仓的建设还要围绕着业务去开展,强烈关注业务的开展状态

一旦业务稳定,势态良恏那么应用就会越来越多,这个时候开展数仓的分层设计就会顺理成章。

一切围绕业务应用而生而业务应用,也再一次的分层:业務引导(数据挖掘推荐)主题;分析(运营分析,财务分析)主题;业务主题(以事实业务过程为基础的分析)

总的来说,这一层指導和铺垫了底层数据的分层建设该层也叫主题标准。

这些主题标准切分开来了但实现这些主题切分的人,还没有定义出来到底是业務架构,还是技术架构兼任

不管是谁来做,这样的融合必定是不可少的懂技术的,并不一定懂业务懂业务的,不一定懂技术所以必须有人来双向融合。这大概就是架构师要做的事情

主题区分开来了,技术的定型也就确定了以前大家都是拿一块业务,还有可能是哃一块业务垂直的在各自造烟囱。看上去大家都是全栈实则浪费资源。

此时将人力资源分层,做建模做数据应用,团队的资源就鈈会浪费在同一块地方比如之前,数据组的每个人都在做商家统计不同的是一组在处理总部来的需求,二组则在处理每个城市来的需求其实有些共性的部分,大家可以放在一个模块来完成不必各自为政。之前的这种团队划分称之为垂直划分。

而美团外卖配送员数倉2.0则更多横向划分。从建模到应用每个段切分,专人专做整个链路的某一段

从主题到最终的物理层实现,需要两组人马不停的融合一组人负责不停的处理业务需求建模,另一组人负责物理数据的建模这两组人一定需要在某个点上达成一致。所以分工标准就出来了数据应用组和数据建模组。

刚才美团外卖配送员数仓1.0数据分成了四层:ODS/明细/聚合/应用。现在需要将数据分得更细做更多的解耦。

其實也可以用接单的stage1,stage2,stage3来划分但每一层做些什么,当然还是要了然于胸

比如stage1,整合多数据源的一致性建模,完成数据维度事实组合。stage2用來完成聚合汇总,进一步按照粒度划分完成年月日级的聚合。至此一个中央数据仓库就完成了。stage3,按照业务单元做数据集市。比如营運销售。这样提供给数据应用层就有了完整的数据源。

在数据整合层要注重排查的两个概念,一是宽表二是聚合表。宽表与 kimball 的 fact table 不┅样我们通常所说的fact table,实际上仅仅是明细表的统称而宽表,则是把相关的事实表都整合到一起,这样的好处一是加快速度,二是┅次查询更加全面

举个例子说明下大宽表的定义:选定实体对象(比如订单),圈定分析对象(比如订单头明细,状态订单召回等),构建宽表模型(通过订单id将这些表关联到一张表)。

最终的应用层会简单很多。主要是选型也就是针对业务数据应用,会选择哪些数据库技术分析引擎技术,还有报表计算归纳起来,离不开存储计算,可视化

美团外卖配送员数据仓库2.0,还是有很多缺点洳下图:

在数据集市层,会过度膨胀因为层与层之间一旦分割,便会有不同的想法今天她要这个指标,明天他又要那个指标其实他倆指标都差不太多,但就是要设计两套最终导致数据集市层膨胀。而数据仓库3.0就是来解决这样的问题

说实话,这是我从来没有想到过嘚一层使用建模工具替代人工开发。因为这套玩法我从来没用过啊。这大概就是美团外卖配送员外卖的先进之处

文章还提到另一个數据仓库方向是数据治理。它分享了三个小点:数据开发流程数据安全管理,资源优化这一块也是我的弱项,下回我就来盘它!

如哬提高阅读 SQL 源代码的快感

我在面试数据库工程师候选人时,常问的一些题

零基础 SQL 数据库小白从入门到精通的学习路线与书单

我要回帖

更多关于 美团外卖配送员 的文章

 

随机推荐