Kyligence AI 服务 - 让大模型完成准确、可靠的数值计算和回答! 立即了解更多

Kyligence 联合创始人兼 CEO 韩卿:关于数据预测技术的实践与经验

世界杯预测、高考预测、电影票房预测、流行病预测,在大数据时代下,作为其核心,预测分析已在商业和社会中得到广泛应用。但对大数据人来说,预测也是目前在大数据领域中最难的一个环节:大规模数据的调用、流式数据的处理、预测与被预测的悖论、预测模型的搭建,一方面在考验着 大数据处理技术,另一方面也在考验着数据科学家们对目标事物的理解。

本次活动邀请了大数据领域和大数据应用企业的技术人员、数据科学家们分享大数据预测技术上的实践与经验。希望通过本次活动达到跨界和跨行业的数据从业者的交流,碰撞出更多探索的火花。

与会嘉宾有:Dell 中国解决方案事业部的高级顾问忽林安、Kyligence 联合创始人兼 CEO 韩卿、上海势航网络车联网平台总监万佳驹、敬众科技总经理瞿天锋、“聚信立”运营副总裁喻昊旻、苏州朗动网络 CTO 刘培彬。

以下是“Kyligence 联合创始人兼 CEO 韩卿​​”在现场的精彩发言,数据猿编辑整理:

韩卿:各位领导、各位朋友,下午好!非常感谢联盟和马博士组织了本次“魔方大数据”的活动,让我们这些企业有机会互相交流,互相学习。

今天我给大家带来的演讲内容是关于“使用超大规模数据分析技术支持大数据预测”这方面的。首先介绍一下我自己,我叫韩卿,很多人叫我 Luke。我是 Kyligence 公司的联合创始人兼 CEO, Apache Kylin 开源项目的创始人,同时也是这个项目的项目管理委员会主席,以及 Apache 软件基金会会员。

一、超大规模数据分析的挑战

Hadoop

首先,我今天想和大家分享一下我们在大数据技术领域碰到的挑战,这里在座很多朋友都是从传统的数据仓库出来的,事实上以前是没有 Hadoop 的,因此数据并不是很大,我记得在 07 年、08 年的时候,那时候说沃尔玛是全球最大的数据仓库,数据量是几个 PB。那么如今又是怎样的量级呢?我原来在 ebay 工作,今年年初的时候 ebay 的整个 Hadoop 数据量已经超过几百个 PB 了,但这还不是最大的。由此可以看出,在这短短几年之间,数据的膨胀是相当大的。

Hadoop 平台今年正好是第十年,发展到今天,它非常擅长批量处理,这里大部分的企业都用它做过批量的东西。那带来的第一个问题是什么呢?比如说,我的数据已经在 Hadoop 上面了,那么后面不管是报表分析、交叉分析还是预测分析,是不是也应该在平台上面直接去做?但现实告诉我们,由于各种各样的挑战,很多时候在 Hadoop 上面把数据处理完又被扔回到数据仓库里面了。

传统的数据仓库非常擅长大型的交互式分析和复杂分析,但它面临的问题是如此庞大的数据无法全部储存在里面,或者说如果存下如此大量的数据,它的成本是很恐怖的。我们在 ebay 的时候做过一个测算,在传统数据仓库上面每 TB 的存储成本远远超过在 Hadoop 上面每 PB 的存储成本,这是基于我们投资成本算出来的。一个 TB 和一个 PB 相差 1024 倍,如果说我们将在 Hadoop 上面的 200 多个 PB 的数据都放在传统数据库上面,那肯定是不现实的。至于我们该如何在 Hadoop 大数据平台上将分析能力提供出来,是我们当时面临的巨大挑战。

数据挖掘与数据预测

另外,在数据挖掘、数据预测的时候,这个需求非常的旺盛。以前人们更多的是说要做一个报表,而这两年人们倾向于建立一个系统,进行风控控制、数据预测、挖掘等。但这又引出了一个问题:这么大的数据量我怎么能够在最快的时间内提供给你完整的分析结果,能够满足你在具备传统数据仓库经验能力的情况下又能够利用大数据的平台进行工作,我觉得这是我们今天面临的巨大挑战。

二、Apache Kylin 项目

在 ebay 工作的时候,我们发现在 Hadoop 上面如果直接进行分析是不可能的,因为我的分析师不可能花费很长时间去等一个分析结果。如果说我们把数据都放到 DW 里面也不能现实,至少成本上面是不可接受的。所以导致我们那时候探索了很多这方面的技术,无论是商业的技术,还是开源的技术,最终发现没有一个技术能够满足我们的需求,这件事情发生在 2013 年 9 月份,是三年以前。

所以后来我们在上海的几位同事想要不自己试试看,我们的架构师真的蛮厉害的,在9月份做出的决定,国庆节回来就说跑通了,当然我们也花了很多的力气去说服管理层、说服我们的客户以及合作伙伴。

这里面解释一下,这个项目叫做 Apache Kylin,也是我们目前活下来的唯一项目。Apache Kylin 这个名字在 Apache 软件基金会里面也是唯一一个中国来,我们觉得还是蛮骄傲的。

今天我们完全可以说在开源领域里面我们是 NO.1 的 OLAP on Hadoop 的解决方案。这里澄清一下,我们做的并不是  SQL,我们做的是  OLAP on Hadoop,叫做多维分析或者更大一点叫做数据集市。今天只要搜索这样几个关键字,不管在谷歌还是百度上面,基本上我们都是 NO.1。

整个社区发展是非常快的,我们这个社区活跃度非常好,以及有一百多家公司了。最重要的是这是唯一一个来自中国的顶级项目,这意味着我们的项目跟 Apache 的 Hadoop 是一个级别的,是中国开发者社区的代表。Apache 孵化器的副总裁,也是我们的导师,当时我们刚刚加入进去的时候,整个社区对我们并不看好,说欢迎中国人过来玩,但不觉得你们能毕业。但当我们花了 11 个月毕业,并成为顶级项目的时候,整个社区对我们的认可度是非常高的。说我们代表了整个亚洲国家,特别是中国人在整个开源社区的贡献、参与度。我想告诉大家的是,整个核心团队并不多,其实就几个人,大部分核心团队现在都在我们公司,后来我们从 ebay 出来了,看到这样一个机会,我们成立了一家创业公司,希望在社区能够做更多的事情。

1、Apache Kylin 的技术

那么,我们用什么样的技术来解决问题呢?无论是并行计算、还是列式存储,如今行业里拥有许多不同的技术,而 Kylin 则结合了这些技术的优点。

首先我们应用了并行计算。传统的数据仓库、BI 的工具之类的以前都是很小的,不能够支撑单个文件超过 2 个 G 的,或者还有一些说不能超过多大的数据量。我们在 ebay 的时候曾经用了另外一个 BI 工具,单个不能超过 20 亿的数据,因为把里面的算法写死掉了,没有办法改。而今天我们能够大量地利用并行计算 Hadoop 这样的技术做并行的处理,所以相应的能力、计算的速度、效率那是指数级增长。

中间是空间换时间。这是最根本的设计理念,当你海量数据进来的时候,你的查询相对来说是比较固定的,或者相对来说原始数据百分之七八十或者九十不会再动了,我有理由帮你做一些这方面的预计算。

列式存储。另外一块,即使算完了,如果还是放在磁盘上面是不够的,因为磁盘效率很低,放内存,内存又很贵。而通过列式存储的方式,就能大大解决这一问题。

预计算

我们的技术核心其实非常简单,叫做用空间换时间。因为你实时算这个东西的时候,实在是太慢了,我们当时碰到的给我们的数据级、测试数据级都是一百亿以上的规模的,但今天我们能做到的数据是千亿、万亿规模的。我经常举一个例子,好比你中午吃饭,如果从买菜开始到菜买回来洗好,电饭煲插上,吃好洗碗,两小时肯定不够。怎么办呢?前一天晚上把饭做好拿过来,今天微波炉一热,就能大大节省了午饭时间,这就是预计算能够带给你的。

另一方面,我们非常 Care 查询阶段。非常重要的数学,一旦进行预计算之后,这个地方的查询复杂度是 O(1),给定的条件之下,不管你数据级有多大,查询都可以保证在一定的范围内达到秒级别,数据再大也没有关系。但其他的一些并行计算也好、列式存储也好,是一个分布式实时计算,不可避免带来的算法复杂度是 O(N)。我们通过预计算带给大数据分析技术最核心的价值,跟你的数据量并没有关系,并且满足你在各个场景下的访问。

2、架构

简单讲一下架构,整个 Hadoop 生态圈里面,Kylin 用了 Hadoop 组件,也可以做整个预计算。当整个计算结束之后,所有的分析应用、查询应用、挖掘应用会像数据库一样,通过标准的 SQL 访问,我们的系统会非常精准地知道你给我的查询结果在哪里,马上可以把这个结果反馈给你。当然我们也在做更深的研发支撑更多的条件,我们在上面支撑的是标准 SQL,所以就像数据仓库一样的,这也是我们的定位,希望未来做成一个数据仓库 Hadoop 的解决方案。

讲一下细节,第一个怎样利用并行计算,如果给一百亿的数据靠一台电脑去计算,不知道要算到什么时候,但如果有一百台、一千台机器就很快了,这是并行计算带来的威力。我们的预计算的好处是,通过 Hadoop MapReduce 来做并行计算,这个计算,第一很快,同时产生的成本并不高,这是利用并行计算。

算完之后存哪里?转化成列式存储,把一个传统的模型结构,充分利用 HBase 列式存储的组件达到性能,所以说我们的数据最终在 HBase 每个节点上面是均匀分布的。最后已经没有 SQL的 问题了,而且已经全部转成了 Kb value。今天基本上你给我一个 SQL,就可以给到你结果。

3、结果

给大家看我们做到的结果,我用了四个字:多、快、好、省。

—— “多”,我们支撑的数据量非常大,在 ebay 单个 QBer 已经超过千亿规模。

—— “快”,是指达到的查询性,90% 的查询性是在 1.18 秒内。包括百度的百度地图、百度导航的数据都在上面。另外,美团整个外卖数据也都在上面,95% 查询在 1 秒以内。重要的是说,我们所使用的硬件成本是很低的,就是普通的机器。如果用内存机器或者传统的数据仓库、一体机等等,这个成本是呈指数的。

——“好”,这方面就不多说了,国内、国外有非常多的公司都在使用。

——“省”,大数据平台上面是一个开源的技术,最重要的是这还是一个国产技术。我们在唯品会的一些技术已经在迁移,把传统的国外的这些数据仓库的技术迁移到今天我们这样一个国产自主的,在大数据的平台上的技术上面,而且成本将会大大降低,这对客户的价值是非常大的。另外一个“省”的很重要的原因是,我们把建模过程封装的非常好,使用的时候对于开发人员、应用人员要求很低,懂数据库、SQL 就够了,不需要写任何 JAVA 的脚本,不需要写任何的程序。我们希望我们在这方面做更多的工作来降低整个大数据的门槛,来快速的为客户提供价值。

下面是不完全的全球用户的简介。ebay 就不说了,微软,包括来自德国的,来自美国的都有。最重要的是在中国有非常多的互联网公司,包括京东、网易、美团、百度、唯品会等等,以及像 OPPO、魅族、乐视这些手机厂商,还有联想、国泰君安、三大运营商,我们都有很好的案例,而且使用的规模都是非常大的。

我们说每个成功的开源项目后面都有一个创业公司,以往这些公司的故事都发生在美国,而我们这家公司在中国,在上海。

三、Kyligence 的由来

解释一下这个公司名字的议程,我们的公司叫做 Kyligence,来自 Kylin+Intelligence,我们希望把一个神兽带到大数据生态圈里面,整个大数据里面都是动物,而我们希望我们的神兽变得更加智能一点。

四、大数据预测技术

有了这样一个基础以及数据技术之后,谈一下对于大数据预测技术我们的想法,怎么来支撑、怎么让我们用户做一些应用?

数据获取

首先我们看一下最重要的,我们在千亿规模上面做到亚秒级的查询延迟,不管做预测也好,做什么也好,最重要的是要快速的获取数据的能力,特别是预测,不断地迭代,我们能够支撑到不管你改变任何的查询条件,我可以非常快的把这个查询给你,很多时候做预测工作,其实是在不断地换参数,但相对的下面的数据模型很多时候是固定的或者相对固定,我们能够有这个能力,无论你给我几个参数,或是换参数,马上就给你结果级。上层应用,基于这个结果级进一步的通过算法做演算、调整。

标准 SQL

另外一个很重要的是我们支持的是标准 SQL,很多时候现在的技术是要你自己写程序的,这要求的入门门槛太高了,但是通过标准的 SQL,我们在传统的数据库里面有非常多的模型与算法是可以使用的。

对于整个技术的支持来说,我们为上层数据应用、挖掘应用提供的接口是 ODBC、JDBC、REST API。所以跟你用一个传统数据仓库其实没有任何区别。最重要的是,我们能够在非常大的规模的数据上面直接把这个给到你,不管你原来的数据是一百亿、一千亿、一万亿,你要拿的东西往往是那么一点点,拿到关键的几个数据就够了。

并发

今天来说,对于未来我们看到大数据预测应用越来越多的变成在线应用。在线对这个底层数据仓库带来的最大压力在于并发,传统的数据仓库在并发上面都是上不去的,都有很大的问题。今天可以做到互联网级别的高并发应用了。我们有能力为这些分析应用、预测应用提供高并发的快速分析能力。

五、去哪儿案例分享

非常简单的介绍一下去哪儿的案例,去哪儿在做机票订单、酒店等等,跟携程非常像。中间是订单,有代理商、公司、各种各样的信息。它把数据都放到 Hadoop 之上,中间一层是K ylin,把下面的数据做了加工之后,处理好,按照数据模型建立起来。上层应用通过相应的数据挖掘界面,以及其他的一些 SQL 的工具就可以访问后台了,访问中间一层可以看到不同的维度、不同的指标等等,千万级的查询速度。它的应用基于一个数据模型可以做各种各样的分析,就能够预测一下卖的好不好或者什么地方有问题。

至于我们公司,我们在开源之上,并且还在持续的投入做开源社区,非常重要的是我们百分之八九十的工作还在发展开源的技术,提供一些企业级的产品。后面介绍一下我们整个的生态系统,我们要做一家产品和技术公司,希望在中国为用户提供纯粹的产品技术。此外,我们希望跟大数据供应商、云平台的供应商,上层供应商,以及每个行业的解决方案供应商一起壮大整个大数据生态。

谢谢大家!

 

添加企微

kyligence
关注我们

kyligence