One example method includes identifying synchronous code including instructions specifying a computing operation to be performed on a set of data; transforming the synchronous code into a pipeline application including one or more pipeline objects; identifying a first input data set on which to exec
One example method includes identifying synchronous code including instructions specifying a computing operation to be performed on a set of data; transforming the synchronous code into a pipeline application including one or more pipeline objects; identifying a first input data set on which to execute the pipeline application; executing the pipeline application on a first input data set to produce a first output data set; after executing the pipeline application on the first input data set, identifying a second input data set on which to execute the pipeline application; determining a set of differences between the first input data set and second input data set; and executing the pipeline application on the set of differences to produce a second output data set.
대표청구항▼
1. A computer-implemented method executed by one or more processors, the method comprising: identifying a first input data set on which to execute a pipeline application that includes pipeline objects, the pipeline application configured to be executed in parallel across a plurality of computing dev
1. A computer-implemented method executed by one or more processors, the method comprising: identifying a first input data set on which to execute a pipeline application that includes pipeline objects, the pipeline application configured to be executed in parallel across a plurality of computing devices, each of the pipeline objects configured to receive an input data set and produce an output data set;executing the pipeline application on a first input data set to produce a first output data set, the executing the pipeline application including executing each of the pipeline objects in order such that a first pipeline object of the pipeline objects provides output data as input data to a second pipeline object of the pipeline objects and including: determining a pipeline object state for each of the pipeline objects in response to executing the pipeline application on the first input data set, each of the pipeline object states including a representation of a respective input data set and a respective output data set for the respective pipeline object;identifying a second input data set on which to execute the pipeline application;determining a set of differences between the first input data set and the second input data set, where the set of difference indicates that the second input data set adds a first item to items in the first data set and removes a second item from the items in the first data set; andexecuting the pipeline application on the set of differences that indicates that the second input data set adds the first item to items in the first data set and removes the second item from the items in the first data set to produce a second output data set that is the same as an output data set that the pipeline application would produce from execution on the second data set, the executing the pipeline application on the set of differences that indicates that the second input data set adds the first item to items in the first data set and removes the second item from the items in the first data set including executing each of the pipeline objects in order such that the first pipeline object of the pipeline objects provides second output data as second input data to the second pipeline object of the pipeline objects and including: updating the pipeline object states in response to executing the pipeline application on the set of differences between the first input data set and the second input data set to generate an updated pipeline object state for each of the pipeline objects, each of the updated pipeline object states including differences from the respective input data set and the respective output data set for the respective pipeline object. 2. The method of claim 1, further comprising determining a pipeline state in response to executing the pipeline application on the first input data set, the pipeline state including a representation of the first input data set and the first output data set. 3. The method of claim 2, further comprising updating the pipeline state in response to executing the pipeline application on the set of differences from the first input data set to generate an updated pipeline state, the updated pipeline state including a representation of the second input data set and the second output data set. 4. The method of claim 1, wherein identifying the first input data set on which to execute the pipeline application comprises: transforming the first input data set into a first set of key value pairs; andstoring the first set of key value pairs in a key value store. 5. The method of claim 4, wherein determining the set of differences between the first input data set and the second input data set comprises: transforming the second input data set into a second set of key value pairs;comparing the second set of key value pairs to the first set of key value pairs; andidentifying key value pairs that have been added or deleted from the second set of key value pairs relative to the first set of key value pairs. 6. The method of claim 1, wherein determining the set of differences between the first input data set and the second input data set comprises: determining a last execution timestamp for the pipeline application representing a time at which the pipeline application was executed on the first input data set; andidentifying a set of items in the second input data set including timestamps after the last execution timestamp. 7. The method of claim 1, wherein executing the pipeline application on the set of differences that indicates the second input data set adds the first item to items in the first data set and removes the second item from the items in the first data set to produce a second output data set that is the same as an output data set that the pipeline application would produce from execution on the second data set comprises: producing a third output set from executing the pipeline application on the set of differences that indicates the second input data set adds the first item to items in the first data set and removes the second item from the items in the first data set; andapplying the third output set to the first output data set to produce the second output set. 8. A system comprising: memory for storing data; andone or more processors operable to access the memory and perform operations comprising:identifying a first input data set on which to execute a pipeline application that includes pipeline objects, the pipeline application configured to be executed in parallel across a plurality of computing devices, each of the pipeline objects configured to receive an input data set and produce an output data set;executing the pipeline application on a first input data set to produce a first output data set, the executing the pipeline application including executing each of the pipeline objects in order such that a first pipeline object of the pipeline objects provides output data as input data to a second pipeline object of the pipeline objects and including: determining a pipeline object state for each of the pipeline objects in response to executing the pipeline application on the first input data set, each of the pipeline object states including a representation of a respective input data set and a respective output data set for the respective pipeline object;identifying a second input data set on which to execute the pipeline application;determining a set of differences between the first input data set and the second input data set, where the set of difference indicates that the second input data set adds a first item to items in the first data set and removes a second item from the items in the first data set; andexecuting the pipeline application on the set of differences that indicates that the second input data set adds the first item to items in the first data set and removes the second item from the items in the first data set to produce a second output data set that is the same as an output data set that the pipeline application would produce from execution on the second data set, the executing the pipeline application on the set of differences that indicates that the second input data set adds the first item to items in the first data set and removes the second item from the items in the first data set including executing each of the pipeline objects in order such that the first pipeline object of the pipeline objects provides second output data as second input data to the second pipeline object of the pipeline objects and including: updating the pipeline object states in response to executing the pipeline application on the set of differences between the first input data set and the second input data set to generate an updated pipeline object state for each of the pipeline objects, each of the updated pipeline object states including differences from the respective input data set and the respective output data set for the respective pipeline object. 9. The system of claim 8, the operations further comprising determining a pipeline state in response to executing the pipeline application on the first input data set, the pipeline state including a representation of the first input data set and the first output data set. 10. The system of claim 9, the operations further comprising updating the pipeline state in response to executing the pipeline application on the set of differences from the first input data set to generate an updated pipeline state, the updated pipeline state including a representation of the second input data set and the second output data set. 11. The system of claim 8, wherein identifying the first input data set on which to execute the pipeline application comprises: transforming the first input data set into a first set of key value pairs; andstoring the first set of key value pairs in a key value store. 12. The system of claim 11, wherein determining the set of differences between the first input data set and the second input data set comprises: transforming the second input data set into a second set of key value pairs;comparing the second set of key value pairs to the first set of key value pairs; andidentifying key value pairs that have been added or deleted from the second set of key value pairs relative to the first set of key value pairs. 13. The system of claim 8, wherein determining the set of differences between the first input data set and the second input data set comprises: determining a last execution timestamp for the pipeline application representing a time at which the pipeline application was executed on the first input data set; andidentifying a set of items in the second input data set including timestamps after the last execution timestamp. 14. A non-transitory, computer-readable medium storing instructions operable when executed to cause at least one processor to perform operations comprising: identifying a first input data set on which to execute a pipeline application that includes pipeline objects, the pipeline application configured to be executed in parallel across a plurality of computing devices, each of the pipeline objects configured to receive an input data set and produce an output data set;executing the pipeline application on a first input data set to produce a first output data set, the executing the pipeline application including executing each of the pipeline objects in order such that a first pipeline object of the pipeline objects provides output data as input data to a second pipeline object of the pipeline objects and including: determining a pipeline object state for each of the pipeline objects in response to executing the pipeline application on the first input data set, each of the pipeline object states including a representation of a respective input data set and a respective output data set for the respective pipeline object;identifying a second input data set on which to execute the pipeline application;determining a set of differences between the first input data set and the second input data set, where the set of difference indicates that the second input data set adds a first item to items in the first data set and removes a second item from the items in the first data set; andexecuting the pipeline application on the set of differences that indicates that the second input data set adds the first item to items in the first data set and removes the second item from the items in the first data set to produce a second output data set that is the same as an output data set that the pipeline application would produce from execution on the second data set, the executing the pipeline application on the set of differences that indicates that the second input data set adds the first item to items in the first data set and removes the second item from the items in the first data set including executing each of the pipeline objects in order such that the first pipeline object of the pipeline objects provides second output data as second input data to the second pipeline object of the pipeline objects and including: updating the pipeline object states in response to executing the pipeline application on the set of differences between the first input data set and the second input data set to generate an updated pipeline object state for each of the pipeline objects, each of the updated pipeline object states including differences from the respective input data set and the respective output data set for the respective pipeline object. 15. The computer-readable medium of claim 14, the operations further comprising determining a pipeline state in response to executing the pipeline application on the first input data set, the pipeline state including a representation of the first input data set and the first output data set.
연구과제 타임라인
LOADING...
LOADING...
LOADING...
LOADING...
LOADING...
이 특허에 인용된 특허 (8)
Tata, Sandeep, Atomic incremental load for map-reduce systems on append-only file systems.
Wang,Albert Ren Rui; Ruddell,Richard; Goodwin,David William; Killian,Earl A.; Bhattacharyya,Nupur; Medina,Marines Puig; Lichtenstein,Walter David; Konas,Pavlos; Srinivasan,Rangarajan; Songer,Christop, Automated processor generation system for designing a configurable processor and method for the same.
Shih, Kathryn Marie; Moore, Eider Brantly; McKnight, Richard Rex; Aggarwal, Vaibhav; Sirota, Peter; Cole, Richard Jeffrey; Bartlett, James P.; Christofferson, Carl Louis, Connector interface for data pipeline.
※ AI-Helper는 부적절한 답변을 할 수 있습니다.