T3 出行基于 Hudi+Kyuubi 的现代技术栈研究
发布时间:2023-02-27 12:53:57 所属栏目:大数据 来源:
导读:过去数年里,随着大数据技术不断进步,现代数据栈的生态愈加丰富完善,而数据湖在这期间几乎已成为现代数据栈的必备品,它的出现大大简化了用户管理数据的难度,让用户更加关心数据本身,而非组件本身。T3 出行在数据
|
过去数年里,随着大数据技术不断进步,现代数据栈的生态愈加丰富完善,而数据湖在这期间几乎已成为现代数据栈的必备品,它的出现大大简化了用户管理数据的难度,让用户更加关心数据本身,而非组件本身。T3 出行在数据湖基础上,对现代数据栈进行了一些探索,并初步打造了特征平台。在本文中,我将给大家分享一下 T3 出行结合公司业务场景,在现代技术栈这方面,所以要做的就是这样一些探索于与区块链项目的实践,以及在此基础上应该要打造的特征明显的平台。 一、什么是 Modern Data Stack 现代数据栈是最近几年出现的一个新名词,其本质是一系列构建在数据仓库周围的工具。其主要出发点是给公司内部,如算法、数据处理、数据分析等团队提供一个更简单易用的产品,提升公司整体的运营决策效率。 1、Modern Data Stack 的特点 从字面上分析,Modern 译为现代化,寓意简单通用,Data Stack 就是围绕数据而展开的各种技术组件的组合。现在数据处理的领域有着丰富且复杂的业务场景,我们需要从这些场景里面,通过大数据技术把有价值的数据给提取出来。而界内并没有一个技术或者产品能够把数据处理的各个环节都做好,因此这就涉及到大数据技术组件组合的问题,如何把现代的这些大数据技术组件更好地组合起来,就是现代数据需要解决的命题。 2、为什么要有 Modern Data Stack 为什么会有现代数据栈概念,这其实是技术发展的一个演变过程。十几年前,那时都是以传统数据库为主,都是从 Oracle、IBM 这类数据库厂商中做选择,选择不多,定好数据库后,公司的技术架构也只能根据厂商的意见来打造。 当然现代数据栈的目的,依旧是从数据中提炼出有价值信息,为业务提供决策支撑,推动公司的业务发展。 3、Modern Data Stack 组成 现代数据栈主要分为数据统一存储、数据处理、数据分析、数据智能这四个部分,每个组成部分解决的问题如下所示: 统一存储:解决数据孤岛、降低数据环境的复杂度。 数据处理:原始数据加工、转换、ETL、任务调度。 二、T3 出行的业务场景 T3 出行是一家基于车联网驱动的智慧出行平台,拥有海量且丰富的数据源。因为车联网数据多样性,随着业务发展,数据的增多,最初的传统数仓架构,遇到了诸多挑战,亟需新的架构迭代升级,更好的支撑公司业务发展。 通过归纳总结,T3 原来数仓架构面临挑战的业务场景分为三个点:支持长尾、非结构化的数据和小文件、算法业务场景。 1、支付长尾 T3 是一个出行企业,所以有很多的订单场景,而出行订单场景,在传统数仓里面临一个支付长尾的问题,业务层面订单支付周期可能长达数月,会存在长达数月的超长业务闭环窗口,同时也带来了冷热数据的更新问题。在长尾订单支付后,很久之前的数据需要做一些更新,在传统数仓里面去做很麻烦,要做级联更新,链路长,成本高。 2、非结构化数据和大量小文件 T3 出行的数据除了结构化数据之外,还有很多非结构化数据,比如说出行产生音视频数据,还有车联网相关的信号数据。同时,之前的数仓架构,因为数据更新太多,产生了很多小文件。另外 T3 的业务还有一些低延迟的场景,会实时产生结构化的小文件,比如车联网的雷达点云数据和日志打点数据。 3、算法业务场景 T3 的算法业务场景,主要分为三块: 营销业务:需要用户画像、广告推广。 风控业务:主要是保证出行安全,以及一些判责处理。 运力调度:车辆运力管理,智能调度。 三、T3 出行的 MDS 初步打造 围绕 T3 出行业务场景的特性,我们进行了现代技术栈的一个初步的打造,主要是围绕 Apache Hudi 和 Apache Kyuubi 展开。 1、Apache Hudi 体系 为了解决前面说的支付长尾和大量小文件的问题,我们引入了 Apache Hudi 这个组件。Hudi 是一个流式湖仓一体的平台,支持海量数据块的更新,它保证在时间轴上执行操作都是原子性的,这样保证了事物,适合 T3 订单类数据存储。 2、Apache Kyuubi 体系 为了更好地支撑 T3 内部数据分析的场景,我们引入了 Apache Kyuubi 作为统一的网关。 Kyuubi 是一个 Thrift JDBC/ODBC 服务,由网易数帆发起,具备多租户和分布式等特性,为大数据查询引擎如 Spark、Flink 等提供 SQL 等查询服务。它最早是对 Spark Thrift Server 做加强,弥补了 Spark Thrift Server 多租户授权、高可用性特性的缺失,并在此基础上做了相关的拓展。后续 Kyuubi 开始演化精进,向统一网关的场景发展,以满足企业内诸如 ETL、BI 报表等多种大数据场景的应用。 T3 出行对于 Kyuubi 的使用除了在 ETL 和 OLAP 场景以外,还做了以下应用与拓展: 在开源的版本基础上做了些拓展功能,添加了监控管理页面。 最新的开源版本 Kyuubi 除去支持 Spark,还支持了 Doris 、Trino、Presto 以及 Flink,公司会更新使用版本,引入新特性。会更新使用版本,引入新特性。这个项目的目标是让人工智能系统更好地理解人类行为,并且可以帮助解决一些复杂的问题。 (编辑:驾考网) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |
推荐文章
站长推荐
