OpenMLDB Meetup No.6 回顾

会议内容

OpenMLDB 社区于 2022年9月24日举行了第六期 meetup,会议相关视频及资料如下:

OpenMLDB PMC core member 卢冕,以《开源机器学习数据库 OpenMLDB:线上线下一致的生产级特征平台》为题,为大家展示快速升级、高频迭代的 OpenMLDB,介绍了 OpenMLDB 现版本的亮眼功能以及未来的发展方向。

37手游 技术主管 彭佳铭 和 高级算法工程师 左伟健,介绍 37手游 技术团队引入 OpenMLDB 的历程以及 OpenMLDB 在 37手游 特征计算场景的应用, 具体分享了 OpenMLDB 的试验场景、部署流程、问题解决、最终试验结论与未来展望。

OpenMLDB PMC core member 张浩,带来了 OpenMLDB 进阶使用攻略,从技术原理以及使用方式上进行介绍常见问题的排查手段、双机房支持、长窗口优化、以及高可用等技术干货,为 OpenMLDB 的用户提供高级特性讲解和进阶使用方法的指导。

讨论交流——37手游

Q1:37手游使用的编程语言是 MySQL 吗,还是其他语言呢?

A1:我们的编程语言选择和存储介质有比较密切的关系,Mysql 主要应用于业务数据源存储方面,而取数分析更常用的是阿里云的 MC。

Q2:37手游的技术方案如何选型?

A2:技术方案选型会有多个技术栈一起试用。大数据计算这一块,上云之前,我们会使用 自建的Hive 和 Impala 处理离线数据。上云后,我们在离线计算会使用 MaxCompute,相对实时的板块使用 Hologres 做存储引擎计算。接触 OpenMLDB 后,我们有尝试通过两个技术栈的结合使用,例如特征计算方面,出于缩短开发周期的考虑,我们会优先使用 OpenMLDB 。

讨论交流——OpenMLDB

Q1:OpenMLDB 能存多大数据,如果是大数据怎么读取进行训练?

A1:OpenMLDB 分为离线和在线两部分。如果是离线部分,也就是这里针对训练场景,走的是 Spark 这一条路,只要 Spark 机器资源足够就可以满足需求。在线部分如果使用的是内存引擎,那么主要消耗的是内存,而 OpenMLDB 是分布式存储,可以水平扩展,使用多个机器;如果在线部分使用磁盘引擎,就是基于 RocksDB 存储,也可以水平扩展。

Q2:能否介绍一下 SQL 处理实时特征?

A2:我们准备了两篇常见特征处理逻辑 SQL 表达的整理文章,可以给大家提供参考。

基于 SQL 的特征开发(上):https://openmldb.ai/docs/zh/main/tutorial/tutorial_sql_1.html

基于 SQL 的特征开发(下):https://openmldb.ai/docs/zh/main/tutorial/tutorial_sql_2.html

Q3:基于 OpenMLDB 构建实施建模有无实践,以及典型的特征穿越用户要处理哪些逻辑?

A3:实践在 OpenMLDB 官网和开发文档中找到 usecase 来参考。特征穿越在 OpenMLDB 内部引擎已经完成处理,可以得到天然保证了,只要用户数据的时间戳是正确的,关于时间的处理逻辑写好就能够做正确计算,保证不会出现特征穿越。

Q4:这种 OpenMLDB 能提供过滤器或者拦截器这种轻度 ETL 吗?

A4:过滤器或者拦截器的逻辑实现如果能转化成 SQL 的表达方式,就能够实现。如果业务的场景逻辑比较复杂,需要通过 UDF 写一个程序才能实现。如果这位同学感兴趣,可以联系我们做更深度的交流。

Q5:OpenMLDB 支持 Hudi 和 Iceberg 吗,还是强绑定 Spark/Hadoop 引擎?

A5:目前离线引擎是和 Spark 绑定,因为有源代码级别的修改,所以不能够做到配适即可使用。离线的数据源目前来自 HDFS,尚未支持 Hudi/Iceberg 的方案,未来如果社区小伙伴有需求,我们会优先考虑。

Q6:模型训练大批量读取或者大批量回刷 OpenMLDB 能否承受?性能如何?

A6:模型训练基于我们优化过的 Spark 引擎,如果 Spark 机器资源足够,就没有问题。

Q7:计划什么时候开发 Windows 版本的 SDK 呢?

A7:由于一些 C++ 库的移植问题,目前还不提供,目前有 Linux 和 MacOS 版本的。如果大家只是试用的话,可以通过 docker 镜像,试用我们的 SDK。

Q8:数据怎么分区,是按 key 分区的吗?

A8:是的,数据是按照 key 进行分区的。不同的索引,对应的 key 可能会不同,所以每个索引可能会有不同的分区。

Q9:后续 OpenMLDB 降低使用门槛和成本有什么规划吗?

A9:关于降低使用门槛方面,在下一个版本已经有规划,包括集群的部署,启动,数据恢复等。

使用成本上,目前已经有磁盘表的功能,可以在牺牲部分性能的前提下,降低使用成本。

Q10:是否支持图谱数据?

A10:目前不支持,OpenMLDB 主要支持结构化的表格数据。

OpenMLDB 社区

在此感谢大家对于本次 meetup 的大力支持,如果想进一步了解 OpenMLDB 或者参与社区技术交流,可以通过以下渠道获得相关信息和互动。

Github: https://github.com/4paradigm/OpenMLDB

Email: contact@openmldb.ai

OpenMLDB 微信交流群:

file