Cross-platform compiler for data transforms
First Claim
1. A method for automatically partitioning a multi-platform data transform flow graph to multiple target output platforms, wherein the method comprises:
- performing type inference on a transform graph, wherein the transform graph comprises one or more data transforms;
automatically partitioning the transform graph into multiple sub-graphs, wherein the multiple sub-graphs correspond to at least two target output platforms, and wherein the at least two target output platforms comprise (i) a stream programming language, and (ii) a structured query language;
performing an optimization of the partitioned transform graph; and
generating multiple distinct portions of platform-specific code from the partitioned transform graph, wherein the multiple distinct portions of platform-specific code comprises platform-specific code for each set of the one or more data transforms across the multiple sub-graphs based on the at least two target output platforms associated with each of the multiple sub-graphs.
1 Assignment
0 Petitions
Accused Products
Abstract
Techniques for automatically partitioning a multi-platform data transform flow graph to one or more target output platforms are provided. The techniques include performing type inference on a transform graph, wherein the transform graph comprises one or more data transforms, automatically partitioning the transform graph to one or more target output platforms based on one or more policies, performing an optimization of the partitioned transform graph, and generating code, from the partitioned transform graph, for each set of the one or more data transforms based on the one or more target output platforms.
42 Citations
25 Claims
-
1. A method for automatically partitioning a multi-platform data transform flow graph to multiple target output platforms, wherein the method comprises:
-
performing type inference on a transform graph, wherein the transform graph comprises one or more data transforms; automatically partitioning the transform graph into multiple sub-graphs, wherein the multiple sub-graphs correspond to at least two target output platforms, and wherein the at least two target output platforms comprise (i) a stream programming language, and (ii) a structured query language; performing an optimization of the partitioned transform graph; and
generating multiple distinct portions of platform-specific code from the partitioned transform graph, wherein the multiple distinct portions of platform-specific code comprises platform-specific code for each set of the one or more data transforms across the multiple sub-graphs based on the at least two target output platforms associated with each of the multiple sub-graphs. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16)
-
-
17. A computer program product comprising a tangible computer readable recordable storage medium including computer useable program code for automatically partitioning a multi-platform data transform flow graph to multiple target output platforms, the computer program product including:
-
computer useable program code for performing type inference on a transform graph, wherein the transform graph comprises one or more data transforms; computer useable program code for automatically partitioning the transform graph into multiple sub-graphs, wherein each of the multiple sub-graphs correspond to at least two target output platforms, and wherein the at least two target output platforms comprise (i) a stream programming language, and (ii) a structured query language; computer useable program code for performing an optimization of the partitioned transform graph; and
computer useable program code for generating multiple distinct portions of platform-specific code from the partitioned transform graph, wherein the multiple distinct portions of platform-specific code comprises platform-specific code for each set of the one or more data transforms across the multiple sub-graphs based on the at least two target output platforms associated with each of the multiple sub-graphs. - View Dependent Claims (18, 19, 20, 21)
-
-
22. A system for automatically partitioning a multi-platform data transform flow graph to multiple target output platforms, comprising:
-
a memory; and at least one processor coupled to the memory and operative to; perform type inference on a transform graph, wherein the transform graph comprises one or more data transforms; automatically partition the transform graph into multiple sub-graphs, wherein the multiple sub-graphs correspond to at least two target output platforms, and wherein the at least two target output platforms comprise (i) a stream programming language, and (ii) a structured query language; perform an optimization of the partitioned transform graph; and generate multiple distinct portions of platform-specific code from the partitioned transform graph, wherein the multiple distinct portions of platform-specific code comprises platform-specific code for each set of the one or more data transforms across the multiple sub- graphs based on the at least two target output platforms associated with each of the multiple sub-graphs. - View Dependent Claims (23, 24, 25)
-
Specification