Title of article :
Query Execution Optimization in Spark SQL
Author/Authors :
Ji,Xuechun School of Computer Science and Engineering - Southeast University, Nanjing, China , Zhao, Maoxian College of Mathematics and Systems Science - Shandong University of Science and Technology, Qingdao, China , Zhai, Mingyu College of Mathematics and Systems Science - Shandong University of Science and Technology, Qingdao, China , Wu, Qingxi College of Mathematics and Systems Science - Shandong University of Science and Technology, Qingdao, China
Pages :
12
From page :
1
To page :
12
Abstract :
Spark SQL is a big data processing tool for structured data query and analysis. However, due to the execution of Spark SQL, there are multiple times to write intermediate data to the disk, which reduces the execution efficiency of Spark SQL. Targeting on the existing issues, we design and implement an intermediate data cache layer between the underlying file system and the upper Spark core to reduce the cost of random disk I/O. By using the query pre-analysis module, we can dynamically adjust the capacity of cache layer for different queries. an‎d the allocation module can allocate proper memory for each node in cluster. According to the sharing of the intermediate data in the Spark SQL workflow, this paper proposes a cost-based correlation merging algorithm, which can effectively reduce the cost of reading and writing redundant data. This paper develops the SSO (Spark SQL Optimizer) module and integrates it into the original Spark system to achieve the above functions. This paper compares the query performance with the existing Spark SQL by experiment data generated by TPC-H tool. The experimental results show that the SSO module can effectively improve the query efficiency, reduce the disk I/O cost and make full use of the cluster memory resources.
Keywords :
Spark SQL , Query , Execution Optimization
Journal title :
Scientific Programming
Serial Year :
2020
Full Text URL :
Record number :
2611140
Link To Document :
بازگشت