基于ApacheKyuubi 网易数帆数字化基础软件自主创新分享周 和Hudi的湖仓一体实践 主讲人:李心恺|T3出行 传统数仓面临的挑战 1 传统数仓面临的挑战 湖仓一体架构实践 湖仓一体架构提升和挑战 未来规划 数字化基础软件自主创新分享周 网易数帆数字化基础软件自主创新分享周 网易数帆数字化基础软件自主创新分享周 原有架构痛点 T3出行是一家基于车联网驱动的智慧出行平台,拥有海量且丰富的数据源。随着业务发展,数据的 增多,最初的传统数仓架构遇到了诸多挑战。亟需新的架构迭代升级,更好的支撑公司业务发展。 数字化基础软件自主创新分享周 支付长尾 订单支付率 支付长尾:下次出行前支付! •可能长达数月的超长的业务闭环窗口 网易数帆数字化基础软件自主创新分享周 •冷热数据随机更新,无法识别 •级联更新,链路长,成本高 时间 数字化基础软件自主创新分享周 非结构化数据和小文件 数据摄入 非结构化数据 视频数据 网易数帆数字化基础软件自主创新分享周 车联网数据 业务系统 小文件问题 小批量数据 低延迟数据 数字化基础软件自主创新分享周 低效数仓合并机制 大量的重复变更都会保留无法去重 业务系统 网易数帆数字化基础软件自主创新分享周 Binlog 数字化基础软件自主创新分享周 T+1增量merge 基于Join的merge机制,时延高,性能不理想 湖仓一体架构实践 传统数仓面临的挑战 2 湖标仓题一标题体标架题构标实题践 湖仓一体架构提升和挑战 未来规划 数字化基础软件自主创新分享周 网易数帆数字化基础软件自主创新分享周 网易数帆数字化基础软件自主创新分享周 ApacheHudi体系 Hudi是一个流式湖仓一体平台,支持对海量数据快速更新。内置表格式,支持事务的存储层、一系列表服务、数据服务(开箱即用的摄取工具)。 数字化基础软件自主创新分享周 技术底座升级 大数据基础设施(技术底座) 服务层存储 HBaseKafka RedisElasticsearchMongoDB 网易数帆数字化基础软件自主创新分享周 Hadoop大数据平台体系(文件存储+存算一体)OLAPMPP架构体系 湖仓一体(对象存储+数据湖格式+存算分离) 计算引擎 Impala Presto 资源管理 YARN YARN 数据存储 HDFS(Hivetable) Kudu OBS Hudi 数字化基础软件自主创新分享周 网易数帆数字化基础软件自主创新分享周 升级湖仓一体后的痛点 T3出行构建了以ApacheHudi为基础的企业级的湖仓一体平台,提供强有力的业务支撑。 而对于负责数据价值挖掘的终端用户而言,平台的技术门槛是另一种挑战。 HiveSQLDDL/DML(欠缺,需要支持以提效) Hive没有较好的资源隔离方案,没法根据租户权限做并发控制 跨存储 缺少统一网关管理 如果能将平台的能力统合,并不断地优化和迭代,让用户能够通过JDBC和SQL这种最普遍 最通用的技术来使用,数据生产力将可以得到进一步的提升。所以引入了ApacheKyuubi 框架用以支撑。 数字化基础软件自主创新分享周 ApacheKyuubi体系 ThriftJDBC/ODBC服务 可扩展 网易数帆数字化基础软件自主创新分享周 多租户和分布式 ServlessSQLonLakehouse 数字化基础软件自主创新分享周 OLAP&AD-Hoc 网易数帆数字化基础软件自主创新分享周 Client 数据探索 数据开发 BI工具 KyuubiGateway sessiona sessionb sessionc Engine Storage PrestoEngine SparkEngine 数字化基础软件自主创新分享周 ETLonLakehouse workflow1ofuserA workflow2ofuserA clientaclientb workflow1ofuserB clientc KyuubiGateway ComputeEngine DataStorage sessionasessionbsessionc A’sEngine B’sEngine 网易数帆数字化基础软件自主创新分享周 IncrementalETL RawTableDerivedTable 数字化基础软件自主创新分享周 湖仓一体架构提升和挑战 传统数仓面临的挑战 湖仓一体架构实践 3 湖标仓题一标体题架标构题提标升题和挑战 未来规划 数字化基础软件自主创新分享周 网易数帆数字化基础软件自主创新分享周 Kyuubi提升点 使用场景提升 网易数帆数字化基础软件自主创新分享周 01. BI体验更好 统一了接口和语法,使得BI用户olap场景只需关注于不同语法业务本身,不需为不同引擎去耗费精力。 02. ETL提升开发效率 跨存储联邦查询和统一多元数据管理,提升了数据一致性和开发效率上。ETL基本实现了AllonSQL,减少了代码开发量。 03. 提升资源利用率 经压测,Kyuubi效率要高于HiveonSpark3-6倍,同时得益于Kyuubi并发控制,并发场景更加稳定。 数字化基础软件自主创新分享周 网易数帆数字化基础软件自主创新分享周 Kyuubi提升点 数据审计 数字化基础软件自主创新分享周 联邦查询场景 MongoDB ClickHouse 基于SparkDatasource实现了跨存储的联邦查询,提升了使用效率 SparkDatasource 网易数帆数字化基础软件自主创新分享周 Kyuubi提升点 遇到的挑战 湖仓一体遇到的问题 网易数帆数字化基础软件自主创新分享周 01. MLOps场景支持较少 Kyuubi对pyspark、python、shell一些脚本类任务管控缺失,这些是MLOps常用的一些场景。特征数据使用场景支持不够。 02. 非结构数据元数据管理 非结构化数据,ML开发生命周期,缺少元数据管理手段。 03. 单表并发写 Hudi单表并发有一定限制,社区已经提供用户可以基于Zookeeper和HiveMetastore来提供锁服务,这个功能标记为experimental有待进一步完善。 数字化基础软件自主创新分享周 未来规划 传统数仓面临的挑战 湖仓一体架构实践 湖仓一体架构提升和挑战 4 未标来题规标划题标题标题 数字化基础软件自主创新分享周 网易数帆数字化基础软件自主创新分享周 数据地图 数据开发 机器学习 计算中间件 计算引擎 Hive Flink 任务调度 资源编排 YARN DolphinScheduler 数据存储 OBS 数据接入 Kafka 网易数帆数字化基础软件自主创新分享周 计算中间件 一站式平台入口 引入ApacheLinkis补充Kyuubijar、脚本类任务缺失 数字化基础软件自主创新分享周 元数据 视频数据 网易数帆数字化基础软件自主创新分享周 车联网数据结构化数据 数据目录 表结构 元数据 数据标签数据资产 数字化基础软件自主创新分享周 网易数帆数字化基础软件自主创新分享周 开发生命周期 •基于对数据目录的元数据管理,可以对不同版本模型,不同数据集合,评估模型相对于其业务目标的性能。 •基于数据目录进行模型版本管理 数字化基础软件自主创新分享周 网易数帆数字化基础软件自主创新分享周 特征存储 基于Hudi做为统一存储,利用Kyuubi对接特定引擎提供Serving,提供特征数据服务 数字化基础软件自主创新分享周 FeatureStore data(versioned) 网易数帆数字化基础软件自主创新分享周 特征版本 commit-001 commit-… commit-010 commit-n 训练数据生成时,要求我们保存特征在不同时刻的版本,并确保特征离线消费实现正确。Hudi的版本控制很好的支持这一特性,根据 Hudicommit保证时间点正确联接,避免特征穿越问题 数字化基础软件自主创新分享周 网易数帆数字化基础软件自主创新分享周 THANKS 感谢观看