Skip to main content

A measurement and inspection tool to manage Hadoop data quality, manageability and health

Project description

Hadoop_Inspector

To review our complete set of documentation please see our wiki page

Background

Data quality problems have plagued analytical systems for twenty years: continually appearing in the top four reasons for project failure.

In this space data quality problems loom large - a small defect that could be safely ignored or forgotten in the transactional world hamper queries and cause users to question our credibility for months.

The advent and innovation in Big Data and Data Science has not diminished this challenge. On Hadoop specifically: * Data generally lacks any enforced constraints to ensure data validity * Data is being added faster than ever, with less time to research upstream and ETL pipeline issues * We are building vast systems, sometimes with hundreds of thousands of tasks being defined * We often have democratized access to our clusters - with dozens of different people adding data.

Additionally, in these large clusters most teams struggle to comply with policies and other requirements, whether regulatory, corporate or defined by their own teams. These might define general data retention requirements, or specific requirements for individual tables. They might define table naming conventions, security requirements, or stats aging & collection requirements.

Objective

Hadoop-Inspector was built to address the needs to manage data quality within large, complex, and constantly loaded clusters that were unfulfilled by simple QA testing during development. It offers a solution more like an automobile assembly line: continuous quality control (QC) that can account for changes to upstream systems, accidental changes to production, data migration errors, and ETL/Ingest defects.

Current Status

The software consists primarily of three parts:

  • hadoopinspector-runner.py - a test-runner that writes results to a SQLite database and can produce a report of test results. This is the primary and most updated component at this time.

  • hapinsp_httpserver.py - serves the UI.

  • hadoopinspector-demogen.py - which can generate 50,000+ check results against a hypothetical user hadoop environment. This is used to exercise the UI.

More info is on the wiki

Installation

  • pip install hadoopinspector

  • requires python 2.7

Licensing

This source code is protected by the BSD license. See the file “LICENSE” in the source code root directory for the full language or refer to it here: http://opensource.org/licenses/BSD-3-Clause Copyright 2015, 2016 Will Farmer and Ken Farmer

0.1.6 - fix setup.py reference to github account

0.1.5 - improve data start & stop timestamps

  • make these reserved variables

  • include them within basic runner reporting

0.1.4 - remove inst & db from registry json files

  • add minor fixes being used in prod

  • add –ssl option to runner

  • add –version option to runner

  • heavy refactoring & housekeeping

0.1.3 - add logging

  • improve registry json validation & user error reporting

  • fix test teardowns leaving behind some files

  • fix tox errors

  • fix misc minor defects

0.1.2 - fix check display issues

0.1.1 - remov runtests - unnecessary test bundle for pytests

0.1.0 - update changelog & _version to reflect version.

0.0.3 - refactor server to run on python2.7 - upgrade runner to run setup checks to support incremental checks

0.0.2 - heavy refactoring of runner, added a lot of testing

0.0.1 - initial release - demo generator - simple reporting

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

hadoop-inspector-0.1.6.tar.gz (1.9 MB view details)

Uploaded Source

File details

Details for the file hadoop-inspector-0.1.6.tar.gz.

File metadata

File hashes

Hashes for hadoop-inspector-0.1.6.tar.gz
Algorithm Hash digest
SHA256 68f566711381e5805d0cca838af82f5815b79024766e3457021a434965f11446
MD5 26b879e1673d6ae17c4bcfd1414e0267
BLAKE2b-256 46d72bd78f29f149e1af684d45a22cb571cc7790d247eeabe0a849cdfd7bddbe

See more details on using hashes here.

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page