Skip to main content
QUICK REVIEW

[论文解读] AFrame: Extending DataFrames for Large-Scale Modern Data Analysis (Extended Version)

Phanwadee Sinthong, Michael J. Carey|arXiv (Cornell University)|Aug 19, 2019
Cloud Computing and Resource Management参考文献 18被引用 4
一句话总结

AFrame 通过基于 Apache AsterixDB(一个分布式、托管的大数据系统)扩展了 DataFrames,实现了在大规模、半结构化数据集上的高效可扩展性。它支持类似 Pandas 的操作,具备透明的并行执行、查询优化功能,并支持实时数据和机器学习模型,其性能优于基于 JSON 的系统,与基于 Parquet 的系统相当,同时消除了手动数据管理的开销。

ABSTRACT

Analyzing the increasingly large volumes of data that are available today, possibly including the application of custom machine learning models, requires the utilization of distributed frameworks. This can result in serious productivity issues for "normal" data scientists. This paper introduces AFrame, a new scalable data analysis package powered by a Big Data management system that extends the data scientists' familiar DataFrame operations to efficiently operate on managed data at scale. AFrame is implemented as a layer on top of Apache AsterixDB, transparently scaling out the execution of DataFrame operations and machine learning model invocation through a parallel, shared-nothing big data management system. AFrame incrementally constructs SQL++ queries and leverages AsterixDB's semistructured data management facilities, user-defined function support, and live data ingestion support. In order to evaluate the proposed approach, this paper also introduces an extensible micro-benchmark for use in evaluating DataFrame performance in both single-node and distributed settings via a collection of representative analytic operations. This paper presents the architecture of AFrame, describes the underlying capabilities of AsterixDB that efficiently support modern data analytic operations, and utilizes the proposed benchmark to evaluate and compare the performance and support for large-scale data analyses provided by alternative DataFrame libraries.

研究动机与目标

  • 解决数据科学家在从本地分析扩展到分布式数据分析时面临的工作效率差距问题。
  • 提供一种与规模无关的 DataFrame 体验,在大规模、半结构化数据上保持熟悉的 Pandas 类似语义。
  • 消除数据科学家需要管理多个系统(如 HDFS、Spark、TensorFlow)的需要,通过将它们集成到单一托管后端中。
  • 设计一种标准化、可扩展的微型基准测试,用于评估单节点与分布式环境下的 DataFrame 性能。
  • 证明基于数据库的 DataFrame 系统可通过查询优化和索引技术,超越传统的内存或文件系统框架。

提出的方法

  • AFrame 实现为 Apache AsterixDB 之上的一个抽象层,将 DataFrame 操作转换为 SQL++ 查询。
  • 它利用 AsterixDB 对半结构化数据、用户自定义函数以及实时数据摄入的支持,实现可扩展的托管分析。
  • 系统采用惰性求值和数据库查询优化技术,以最小化执行时间和数据移动。
  • 支持直接调用预训练的机器学习模型(如 Scikit-Learn),而无需具备分布式机器学习的专业知识。
  • AFrame 透明地在共享无依赖的并行架构上扩展操作,支持超出主内存大小的数据集的外存处理。
  • 所提出的微型基准测试通过隔离数据准备和表达式执行时间,实现对不同框架性能的细粒度比较。

实验结果

研究问题

  • RQ1基于功能完备的大数据管理系统构建的 DataFrame 系统,能否在大规模分析工作负载上实现具有竞争力的性能?
  • RQ2与 Pandas 或 Spark 等基于内存或文件的 DataFrame 系统相比,托管的、经过查询优化的 DataFrame 后端性能如何?
  • RQ3查询优化和索引在多大程度上能提升数据分析工作流中的端到端洞察时间?
  • RQ4统一系统在多大程度上能降低数据科学流水线中数据摄入、存储、查询和机器学习集成的复杂性?
  • RQ5所提出的微型基准测试在揭示不同 DataFrame 库和工作负载之间性能权衡方面的有效性如何?

主要发现

  • 由于高效的查询优化和托管存储,AFrame 在大规模数据集上比基于 JSON 的 DataFrame 系统快一个数量级。
  • 由于列式压缩和高效的列式操作,基于 Parquet 的 Spark DataFrame 性能与 AFrame 相当。
  • AFrame 通过利用 AsterixDB 中预摄入并建立索引的数据,消除了重复的文件扫描,从而降低了 DataFrame 创建的开销。
  • AsterixDB 的查询优化器显著提升了性能,尤其是在总执行时间方面,这反映了现实世界中的洞察时间。
  • 该基准测试成功隔离并量化了性能差异,揭示了不同系统在数据准备和表达式执行开销方面存在显著差异。
  • AFrame 原生支持实时数据流和预训练机器学习模型,且无需额外工程投入,显著提升了生产力和可用性。

更好的研究,从现在开始

从阅读论文到最终审阅,大幅缩短您的研究时间。

无需绑定信用卡

本解读由 AI 生成,并经人工编辑审核。