The Fifth Elephant 2019

Gathering of 1000+ practitioners from the data ecosystem

Diksuchi: Data quality Monitoring platform for @scale batch data pipelines at Walmart

Submitted by Pruthvi Raj (@pruthvirajeranti) on Jun 14, 2019

Session type: Short talk of 20 mins Status: Rejected

Abstract

We the customer Backbone team at Walmart, are building customer identity and activity graph with around 20+ Billion nodes and 30 Billion edges, that works to be the lifeline of customer data for multiple pillars such as marketing, targeting, personalization, data sciences, etc. While building the graph using spark and hive pipelines, we generate many intermediate tables/states and output tables.
To provide high quality data to our teams, we have built a data quality monitoring platform, Diksuchi (meaning compass), that provides metrics, audit, monitoring, and alerting on our data pipelines for quick and easy debugging. The monitoring platform runs alongside the processing-heavy pipelines, heavy lifting the work of calculating metrics, checking the correctness of data, anomaly detection in the inputs & outputs of data and raise alarms. Diksuchi also provides dashboards for easy navigation and debugging.

The platform is uniquely developed to enable any developer, data scientist, analyst to write a simple configuration and onboard a new data processing pipeline anywhere in Walmart and monitor its data quality and correctness.

Outline

This talk will be covering below topics -
1. Introduction to problem statement
2. Why every company need this kind of platform
3. Journey of metrics platform
3. Demo of the platform
4. Setting alert rules & Anomaly detection
5. Takeaways from platform

Requirements

Basic understanding of Spark, Airflow, Elasticsearch Hive, Grafana

Speaker bio

Pruthvi is a senior data engineer at WalmartLabs, and he is working on customer backbone team for more than an year. He along with his team members, developed a customer identity and activity graph platform and a data quality monitoring platform during this time

Comments

{{ gettext('Login to leave a comment') }}

{{ gettext('You need to be a participant to comment.') }}

{{ formTitle }}
{{ gettext('Post a comment...') }}
{{ gettext('New comment') }}

{{ errorMsg }}