通过代码转换快速访问列式分层嵌套数据
编程语言
2017-11-06 v2 数据库
信息检索
摘要
大数据查询系统以列式格式表示数据以实现快速选择性访问,并在某些情况下(例如 Apache Drill)直接在列式数据上执行计算而无需行物化,从而避免运行时开销。然而,许多分析过程难以或无法高效地表达为 SQL。在高能物理中,大多数数据处理需要具有复杂依赖关系的嵌套循环。面对此类任务时,传统方法是将列式数据转换回对象形式,但这通常会导致性能损失。本文描述了一种新技术,用于转换过程代码,使其能够原生地在分层嵌套的列式数据上操作,而无需行物化。该技术可视为对类型化抽象语法树的编译器传递,将对对象的引用重写为列式数组查找。我们还将展示在高能物理背景下,转换后的代码与传统面向对象代码之间的性能比较。
引用
@article{arxiv.1708.08319,
title = {Fast Access to Columnar, Hierarchically Nested Data via Code Transformation},
author = {Jim Pivarski and Peter Elmer and Brian Bockelman and Zhe Zhang},
journal= {arXiv preprint arXiv:1708.08319},
year = {2017}
}
备注
10 pages, 2 figures, submitted to IEEE Big Data