System and methods for integrating datasets and automating transformation workflows using a distributed computational graph
A system and methods for integrating datasets and automating transformation workflows using a distributed computational graph comprising modules that represent various stages within a data processing workflow. The system detects new datasets and automatically selects or assembles a workflow to process the new data, and integrates new data through a series of identification, transformation, and metadata enrichment pipelines.
1. A system for integrating new datasets and automating transformation workflows using a distributed computational graph, comprising:
a computing device comprising a memory, a processor, and a non-volatile data storage device;
a front end comprising a first plurality of programming instructions stored in the memory of, and operating on the processor of, the computing device, wherein the first plurality of programming instructions, when operating on the processor, cause the computing device to:
provide a graphical user interface for creation of a distributed computational graph representing a data processing workflow, wherein:
the graphical user interface comprises icons representing data processing modules and connections between the modules;
the distributed computational graph comprises one or more of the data processing modules represented as nodes of the distributed computational graph and connections between the data processing modules represented as edges of the distributed computational graph; and
one or more of the nodes of the distributed computational graph is a data processing module that contains code for accessing an application programing interface (API) of a cloud-based data processing service;
and send the distributed computational graph to a system back end for implementation of the data processing workflow; and
a system back end comprising a second plurality of programming instructions stored in the memory of, and operating on the processor of, the computing device, wherein the second plurality of programming instructions, when operating on the processor, cause the computing device to:
receive the distributed computational graph;
detect changes to a data store;
construct the data processing workflow from the distributed computational graph using the application programing interface that generates workflow code via representational state transfer calls;
instantiate and validate the data processing workflow using the workflow code;
prepare the data processing workflow for processing by initializing one or more of: software components, devices, cloud-based services;
serialize the data processing workflow as a series of processing events; and
execute the processing events using a data processing engine.