SCOPE: Easy and Efficient Parallel Processing of Massive Data Sets

被引:292
作者
Chaiken, Ronnie [1 ]
Jenkins, Bob [1 ]
Larson, Per-Ake [1 ]
Ramsey, Bill [1 ]
Shakib, Darren [1 ]
Weaver, Simon [1 ]
Zhou, Jingren [1 ]
机构
[1] Microsoft Corp, Redmond, WA 98052 USA
来源
PROCEEDINGS OF THE VLDB ENDOWMENT | 2008年 / 1卷 / 02期
关键词
13;
D O I
10.14778/1454159.1454166
中图分类号
TP [自动化技术、计算机技术];
学科分类号
0812 ;
摘要
Companies providing cloud-scale services have an increasing need to store and analyze massive data sets such as search logs and click streams. For cost and performance reasons, processing is typically done on large clusters of shared-nothing commodity machines. It is imperative to develop a programming model that hides the complexity of the underlying system but provides flexibility by allowing users to extend functionality to meet a variety of requirements. In this paper, we present a new declarative and extensible scripting language, SCOPE (Structured Computations Optimized for Parallel Execution), targeted for this type of massive data analysis. The language is designed for ease of use with no explicit parallelism, while being amenable to efficient parallel execution on large clusters. SCOPE borrows several features from SQL. Data is modeled as sets of rows composed of typed columns. The select statement is retained with inner joins, outer joins, and aggregation allowed. Users can easily define their own functions and implement their own versions of operators: extractors (parsing and constructing rows from a file), processors (row-wise processing), reducers (group-wise processing), and combiners (combining rows from two inputs). SCOPE supports nesting of expressions but also allows a computation to be specified as a series of steps, in a manner often preferred by programmers. We also describe how scripts are compiled into efficient, parallel execution plans and executed on large clusters.
引用
收藏
页码:1265 / 1276
页数:12
相关论文
共 10 条
[1]  
Chang F, 2006, USENIX ASSOCIATION 7TH USENIX SYMPOSIUM ON OPERATING SYSTEMS DESIGN AND IMPLEMENTATION, P205
[2]  
Chih Yang H., 2007, P 2007 ACM SIGMOD IN, P1029, DOI DOI 10.1145/1247480.1247602
[3]  
Chu L., 2003, P 9 ACM SIGPLAN S PR
[4]  
Dean J, 2004, USENIX ASSOCIATION PROCEEDINGS OF THE SIXTH SYMPOSIUM ON OPERATING SYSTEMS DESIGN AND IMPLEMENTATION (OSDE '04), P137
[5]  
Ghemawat S., 2003, P 19 ACM S OPERATING, P29, DOI [DOI 10.1145/1165389.945450, 10.1145/1165389.945450]
[6]  
Graefe G., 1995, IEEE DATA ENG B, V18
[7]  
Isard M., 2007, Operating Systems Review, V41, P59, DOI 10.1145/1272998.1273005
[8]  
Lu, 1994, IEEE COMPUTER SOC PR
[9]  
Olston C., 2008, SIGMOD
[10]  
Pike R., 2005, SCI PROGRAM, V13, P277, DOI DOI 10.1145/1873951.1873987