build and run transform steps with multiple threads

There are sequence of dq steps in each DQJob,and run those steps one by one (with foldLeft function).

We can use multiple threads to run some of those steps which have no dependency.

For example:

In a DQBatchJob, a accuracyExpr will have for steps **_missRecords ,_missCount , __totalCount,   accu** .

_missCount and **_totalCount step can run at the same time .

In SeqDQStep ,it just need contains some root steps without dependency steps.

If each step knows it's dependency steps, and when they are ready, we can run the step itself .

Running step :
accu
| |---__missCount
| | |---__missRecords
| |---__totalCount

Running step :
__missCount
| |---__missRecords

Running step :
__missRecords

Running step :
__totalCount

Author: wankunde <wankunde@163.com>

Closes #504 from wankunde/master.
11 files changed
tree: 9eebd9b905249f53da057053681de4c75314ad51
  1. griffin-doc/
  2. measure/
  3. service/
  4. ui/
  5. .gitignore
  6. .travis.yml
  7. CONTRIBUTING.md
  8. KEYS
  9. LICENSE
  10. merge_pr.py
  11. NOTICE
  12. pom.xml
  13. README.md
  14. scalastyle-config.xml
README.md

Apache Griffin

Build Status License: Apache 2.0

The data quality (DQ) is a key criteria for many data consumers like IoT, machine learning etc., however, there is no standard agreement on how to determine “good” data. Apache Griffin is a model-driven data quality service platform where you can examine your data on-demand. It provides a standard process to define data quality measures, executions and reports, allowing those examinations across multiple data systems. When you don't trust your data, or concern that poorly controlled data can negatively impact critical decision, you can utilize Apache Griffin to ensure data quality.

Getting Started

Quick Start

You can try running Griffin in docker following the docker guide.

Environment for Dev

Follow Apache Griffin Development Environment Build Guide to set up development environment.
If you want to contribute codes to Griffin, please follow Apache Griffin Development Code Style Config Guide to keep consistent code style.

Deployment at Local

If you want to deploy Griffin in your local environment, please follow Apache Griffin Deployment Guide.

Community

For more information about Griffin, please visit our website at: griffin home page.

You can contact us via email:

You can also subscribe the latest information by sending a email to subscribe dev-list and subscribe user-list. You can also subscribe the latest information by sending a email to subscribe dev-list and user-list:

dev-subscribe@griffin.apache.org
users-subscribe@griffin.apache.org

You can access our issues on JIRA page

Contributing

See How to Contribute for details on how to contribute code, documentation, etc.

Here's the most direct way to contribute your work merged into Apache Griffin.

  • Fork the project from github
  • Clone down your fork
  • Implement your feature or bug fix and commit changes
  • Push the branch up to your fork
  • Send a pull request to Apache Griffin master branch

References