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

3.0 2025-05-10 65 0 3193 KB 34 页 PDF
侵权投诉
张力Blaze快手自研Spark向量化引擎从生产实践到社区开源
张力Blaze快手自研Spark向量化引擎从生产实践到社区开源
张力Blaze快手自研Spark向量化引擎从生产实践到社区开源
张力Blaze快手自研Spark向量化引擎从生产实践到社区开源
张力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执行层可以提升性能、加快计算速度、降低资源开销:行式计

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

共 34 页,预览3页

还剩31页未读, 继续阅读

声明:企商查报告文库所有资源均是客户上传分享,仅供网友学习交流,未经上传用户书面授权,请勿作商用。
作者: 分类: 属性:34 页 大小:3193 KB 格式:PDF 时间:2025-05-10

开通VIP享超值会员特权

  • 多端同步记录
  • 高速下载文档
  • 免费文档工具
  • 分享文档赚钱
  • 每日登录抽奖
  • 优质衍生服务
/ 3
客服
关注