Distributed Data Profiler Using Spark In-Memory Processing
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Existing data profiling tools face performance issues when dealing with large datasets, often taking hours or days to generate comprehensive statistics, and may fail to profile multi-terabyte tables efficiently, especially with MapReduce approaches.
Innovation Solution
A method and system utilizing Apache Spark and Scala to profile datasets by querying metadata storage, allocating resources, shuffling and repartitioning data blocks, and computing aggregates across a distributed computing system, enabling simultaneous generation of extensive statistical metrics.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Quantity of substance
If traditional MapReduce approach is used to profile large datasets, then the system can handle big data, but the profiling time becomes very long (hours or days)
Solution Approach 1:
The patent changes the computational parameters by switching from MapReduce to Apache Spark, utilizing in-memory processing capabilities to dramatically reduce profiling time while maintaining the ability to handle large datasets
Solution Approach 2:
The patent replaces the mechanical MapReduce processing system with a Spark-based system that uses in-memory computation, thereby reducing the time required for profiling operations on large datasets
2Quantity of substance
If MapReduce approach is used for computation intensive metrics, then the system can process data, but it fails to generate extensive statistic metrics on multi-terabyte tables
Solution Approach 1:
The patent changes the processing paradigm from disk-based MapReduce to in-memory Spark processing, enabling the system to generate extensive statistical metrics on multi-terabyte tables that were previously unachievable with traditional MapReduce
3Measurement precision
If existing profiling tools are used, then some statistics can be obtained, but they take very long time or fail to generate extensive statistic metrics
Solution Approach 1:
The patent replaces traditional profiling tools with a Spark-based system that uses in-memory processing, enabling extensive statistic metrics to be generated much faster while maintaining measurement precision
Data Source
AI summary
A method for profiling a dataset includes: querying, by a data profiler executed on a distributed computing system, a metadata storage to obtain table information; allocating, by the data profiler, system resources based on the obtained table information; profiling, by the data profiler, the dataset to obtain profiling results, wherein profiling the dataset includes shuffling and repartitioning data blocks of the dataset with respect to a plurality of nodes of the distributed computing system, and computing aggregates based on the shuffled and repartitioned data blocks; and outputting, by the data profiler, the profiling results.


