Skip to main navigation Skip to search Skip to main content

Dynamic speculative optimizations for SQL compilation in apache spark

Research output: Contribution to Journal › Article › Academic › peer-review

Abstract

Big-data systems have gained significant momentum, and Apache Spark is becoming a de-facto standard for modern data analytics. Spark relies on SQL query compilation to optimize the execution performance of analytical workloads on a variety of data sources. Despite its scalable architecture, Spark's SQL code generation suers from significant runtime overheads related to data access and de-serialization. Such performance penalty can be significant, especially when applications operate on human-readable data formats such as CSV or JSON. In this paper we present a new approach to query compilation that overcomes these limitations by relying on runtime profiling and dynamic code generation. Our new SQL compiler for Spark produces highly-efficient machine code, leading to speedups of up to 4.4x on the TPC-H benchmark with textual-form data formats such as CSV or JSON.
Original languageEnglish
Pages (from-to)754-767
JournalProceedings of the VLDB Endowment
Volume13
Issue number5
DOIs
Publication statusPublished - 2020
Externally publishedYes

Funding

The work presented in this paper has been supported by Oracle (ERO project 1332) and the Swiss National Science Foundation (project 200020 188688). We thank the VLDB reviewers for their detailed feedback and the VM Research Group at Oracle Labs for their support. Oracle, Java, and HotSpot are trademarks of Oracle and/or its affiliates. Other names may be trademarks of their respective owners.

FundersFunder number
VM Research Group at Oracle Labs
Schweizerischer Nationalfonds zur Förderung der Wissenschaftlichen Forschung200020 188688

    Fingerprint

    Dive into the research topics of 'Dynamic speculative optimizations for SQL compilation in apache spark'. Together they form a unique fingerprint.

    Cite this