张力Blaze快手自研Spark向量化引擎从生产实践到社区开源






演讲嘉宾:快手数据平台部 张力1大数据引擎向量化的原理、业界发展趋势2向量化在快手Spark引擎上的应用3Blaze引擎社区开源计划和未来目标内容关于向量化的介绍大数据计算引擎中的向量化是一种通过利用计算机硬件的并行处理能力,一次性处理多个数据的计算方法,从而提高计算的速度和效率。这种方法相比传统的逐个循环,可以大幅减少计算时间和资源消耗,并广泛应用于科学计算、机器学习等领域。向量化 (Vectorization) 是什么?列式存储 (Columnar Storage)业界应用:Parquet、ORC等存储格式•更高的压缩率•更高效读取部分数据•更适合向量化计算向量化计算传统数据引擎的计算是基于行的,逐行计算,适合数据量小、计算复杂度低的场景。向量化计算是基于列的,整列加载到内存中进行向量运算,适合数据量大、计算复杂度高的场景。•更适配列式存储•内存局部性更优 (数据局部性、代码局部性)•硬件支持 (SIMD指令、GPU、DPU)SIMD指令 (Single Instruction, Multiple Data)现代CPU普遍支持的一次操作同时计算多条数据的指令,在合适的场景下,计算性能远高于传统的单条数据计算指令。典型的指令集有x86上的sse、avx,ARM上的neon等。向量化在SQL引擎的使用SQL引擎+向量化:数据在SQL算子之间流转的粒度从单条记录 (Tuple) 改为列存格式的记录批次 (Record Batch),一个批次可包含数千~数万条记录,计算过程充分使用向量化技术。这种方式可以减少算子间调用开销,并使用SIMD加速计算。默认使用向量化计算的SQL引擎:•Clickhouse•Doris•TiDB•DuckDB•……Apache Spark 与向量化大数据业内最常用的分布式数据引擎之一,广泛运用于数据清洗、数仓建设、报表分析、机器学习等领域。当前快手数据平台上绝大多数例行作业为Spark SQL作业,每天例行计算数十万个SQL,处理数据量达到EB级别,使用计算资源数百万CU、年化资源开销超亿元。Spark SQL 工作方式:RDD[InternalRow]为什么要研究Spark+向量化?Spark SQL 于2014年推出,使用行式计算来实现SQL的执行,性能受限,用向量化技术重写Spark执行层可以提升性能、加快计算速度、降低资源开销:行式计
相关推荐
相关内容
-
腾讯云中国信通院中国通信标准化协会2024年AI大模型应用发展研究报告58页
分类:
时间:2025-05-09
标签:
格式:PDF
-
利用智能视觉组件简化嵌入式视觉开发
分类:
时间:2025-05-09
标签:
格式:PDF
-
俄勒冈州交通规划在快速变化和不确定的时代利用情景规划的案例研究
分类:
时间:2025-05-09
标签:
格式:PDF
-
SiCMOSFET技术进展与发展方向
分类:
时间:2025-05-09
标签:
格式:PDF
-
康嘉种业-每一头猪都代表着康嘉人的尊严
分类:
时间:2025-05-09
标签:
格式:PDF
-
汽车行业周报小米SU7Ultra正式发布Helix带动Figure效率跃升-25030118页
分类:
时间:2025-05-09
标签:
格式:PDF
-
杨昕-AI驱动抖音用户体验中台探索与实践
分类:
时间:2025-05-10
标签:
格式:PDF
-
跨国的AI采用者的肖像公司特征资产的互补性和生产力
分类:
时间:2025-05-10
标签:
格式:PDF
-
OrChechikandDanielFrank-从侦察到毁灭揭露伊朗AgriusAPT最新TTPs
分类:
时间:2025-05-10
标签:
格式:PDF
-
爱立信混合工作模式调查结果
分类:
时间:2025-05-10
标签:
格式:PDF