数据之道 | 属性图在增强分析平台中的实践
供稿 | eBay DSS Team
作者 | 唐明君
编辑 | 顾欣怡本文5447字,预计阅读时间17分钟更多干货请关注“eBay技术荟”公众号导读
本文为“数据之道”系列第三篇,主要介绍属性图在eBay数据增强分析平台Nous上的部分应用,包括数据导航、数据血缘分析等。通过构建属性图,并基于图进行搜索和查询,我们可以有效解决增强分析中的各种问题,这种基于图的数据分析方式也值得学习和推广。
序
数据分析在如今的商业和技术领域是不可缺少的,它被广泛地应用在工业、市场、投资、人才等方向。通过数据分析,我们能够更好地了解现有业务,指导商业决策,做到心中有数。
eBay作为互联网电商巨头,其数据分析的地位尤其重要。eBay有大量的数据分析师和数据科学家,每天使用各种各样的方法进行数据分析,这些方法包括传统的BI分析和增强分析(augmented analytics),建立的分析模型包括各种规则模型(rule based model)和基于机器学习的模型(machine learning based model)。不仅如此,eBay还将自己的数据分析能力赋予用户,帮助买家和卖家更好地进行商业交易。
Nous作为eBay的数据增强分析平台,给客户提供了各种强大的数据分析功能,帮助他们轻松地探索业务发展的关键指标,并做出正确且及时的商业决策。在传统BI工具的功能基础上,我们提供了基于自然语言处理和属性图的搜索入口,以及让客户可以轻松整合指标并高度可定制化的故事白板,还有基于时间序列数据及机器学习模型的数据洞察分析。其中,基于属性图的搜索和查询在增强分析中扮演了非常重要的角色,也正是本篇文章的重点。
本文将依次介绍属性图的涵义,Nous与属性图,基于属性图的搜索和查询,以及一些具体的应用,例如数据导航、数据血缘分析等。同时,文中涉及的eBay信息都已经过脱敏处理。
一、属性图简介
According to the definition, we have
图4(点击可查看大图)
二、Nous与属性图
在eBay的增强分析平台Nous中,我们使用的是一个多标签的属性图,不同的标签代表了不同类型的节点和边。在实现中,我们采用了Neo4j作为Nous的图数据库系统。Metric 指标,通常是时间序列的数据,比如电商网站的销售量等 Dimension 维度,指标的维度,比如地区,国家等 Dimension value 维度值,维度的具体某个值,比如中国,美国等 Table 数据平台中的一张表 Column 表上的column Metric_formula 指标的计算法则,加减乘除聚合等 Domain 不同的业务领域
Has_metricDomain到相关Metric的有向边 Has_columnTable到包含的Column的有向边 …
图5(点击可查看大图)
三、属性图的搜索
图上的搜索定义为:基于文本的输入,搜索的结果是一个子图,包含输入的约束条件。属性图分析的场景为什么需要搜索呢?一是给分析师提供友好的接口进行数据的模糊探索,便于缩小范围,定位到相关的节点或者子图。二是不同于严格的规则引擎,搜索的结果具有一定的启发性,同时根据相关度和重要程度有排序。因此,搜索可以用在规则引擎之前供分析师做业务探索。那么图上的搜索和查询有什么区别呢?主要从输入和输出看:
输入的区别 搜索的输入是自然语言文本,例如gmv on us site, 结果是us site上名字里有GMV的metric。图查询的输入是规范定义的DSL,例如: SELECT n.name FROM MATCH (n)-[:has_friend]->(m) GROUP BY n HAVING COUNT(m)>10,结果是朋友数大于10的人。
输出的区别 搜索的结果是有序的,这个排序可以是基于规则的,也可以是通过机器学习训练的,且一般来说输入的约束条件之间是“或”的关系。查询的结果则需要严格满足输入的约束,结果默认不排序,当然也可以按某些字段排序。
图7(点击可查看大图)
图8(点击可查看大图)
图9(点击可查看大图)
https://github.corp.ebay.com/mingjtang/cfg-parser.git
图10 来自参考文献[6]
(点击可查看大图)
图11 来自参考文献[6]
(点击可查看大图)
基于图结构的搜索能力十分强大,可以实现很多业务场景的问题。举个最近的例子,比如防疫的案例中,某中年男子在德国中心工作,最近14天到过重点地区,家庭成员或同事中也有人在最近14天里到过重点地区。结果是符合一条或多条约束的节点,家庭成员和同事都是图上的边的约束。四、属性图的查询
图12 来自参考文献[7]
(点击可查看大图)
另一类是声明式的语言,其中有neo4j的cypher[8], oracle的PGQL[9]等。这类语言设计思路参考SQL,关注查询目标而非过程,降低了使用的难度,更加适合分析场景使用。图13 来自参考文献[8]
(点击可查看大图)
值得一提的是,目前属性图上的各种查询语言各自发展,群雄割据,对SQL的支持也百花齐放。基于此,ISO SC32/ WG3 members于2017年开始提出构建基于SQL的统一的图查询语言。2018年5月,GQL宣言正式发布,开放投票。2019年9月,GQL正式成为官方的ISO database language,是SQL之后30多年来的第一个。目前,GQL还处在早期阶段,相信随着数据中心计算能力的增进,以及越来越多的图计算需求,降低图查询的门槛会越发重要,GQL也会在不久的将来大放异彩,在图计算系统中扮演一个重要的角色[10]。
图14(点击可查看大图)
图15 来自参考文献[11]
(点击可查看大图)
在Nous中,我们采用了Neo4j开源社区的可视化工具:4.3.1
数据导航
大量的表,用于分析的数据库表可能有成千上万张; 不同的数据平台,分析所需的数据可能来源于各种不同的平台,例如:Kylin/Hive/Mysql/Elasticsearch等等,甚至是各种data services;
数据可能存在冗余,比如同样的数据在Kylin和Elasticsearch上可能都有(面向的业务场景不同),怎样选取最佳的数据源读取数据进行分析是一个复杂的问题。
图17(点击可查看大图)
查询结果如下:图18(点击可查看大图)
从图18中可以看出,可行的计算路径有多个。第二步,在所有可能的路径中,根据规则和成本,选取最优的计算路径。这个规则可以根据平台、响应速度、表数据质量和更新频率等来决定。
4.3.2
跨平台Join查询优化
图19(点击可查看大图)
如图19所示,如果C1和C2在同一张表中,我们需要的query是SELECT SUM(C1) AS C GROUP BY C2。然而C1和C2散落在不同的平台上,且存在多个可能的查询路径。类似于数据导航,第一步我们找出可能的查询路径,查询如下:图20(点击可查看大图)
第二步根据Join的路径长短,以及相同平台优先等原则选取出最优的查询路径。最后生成SQL提交给Nous内的跨平台SQL查询引擎执行。生成的SQL类似于 SELECT SUM(a.C1) AS name, b.C2 FROM MYSQL.DB.A a JOIN KYLIN.DB.B b ON a.FK1=b.FK1 GROUP BY b.C2
4.3.3
数据血缘分析
找出两个metric之间有无血缘以及血缘的相关类型; 找出一个metric血缘相关的所有metric,可以用于判断一个metric改变时哪些metric可能会受到影响。
图23(点击可查看大图)
五、总结
本文主要介绍了属性图在增强分析中的部分应用。通过构建属性图,基于图进行搜索和查询可以解决增强分析中的很多问题,尤其边的引入能更自然地表示数据之间的联系,文中列举的应用场景也已经在eBay得到了验证。相信随着数据量的成倍增加和大数据处理技术的发展,基于图的分析方式也会越来越受大家的青睐,成为一个重要的可落地的分析手段。在基于属性图做增强分析的领域里,也还有很多内容值得大家一起去探索。
[1] Joshua S., Ryan W., Algebraic Property Graphs, https://arxiv.org/pdf/1909.04881.pdf
[2] Renzo Angles, The Property Graph Database Model, http://ceur-ws.org/Vol-2100/paper26.pdf
[3] Neo4j, https://neo4j.com/
[4] JanusGraph, https://janusgraph.org
[5] Spark graphx, https://spark.apache.org/graphx/
[6] Nous, https://nous.corp.ebay.com/nous20/#/search[7] Gremlin, https://tinkerpop.apache.org/gremlin.html[8] Cypher, https://neo4j.com/docs/cypher-manual/current/introduction/[9] PGQL, https://pgql-lang.org[10] GQL, https://www.gqlstandards.org/home[11] GraphExp, https://github.com/armandleopold/graphexp
重磅 | eBay提出强大的轻量级推荐算法——洛伦兹因子分解机
实战 | 利用Delta Lake使Spark SQL支持跨表CRUD操作
一探究竟 | eBay流量管理之DSR在基础架构中的运用及优化
eBay大量优质职位,等的就是你