SlideShare a Scribd company logo
1 of 33
Download to read offline
Muhammad Ali Gulzar Miryung Kim
University of California, Los Angeles
Automated Debugging of Big Data
Analytics in Apache Spark Using BigSift
#Res3SAIS
Big Data Debugging in the Dark
2#Res3SAIS
Map Reduce
Develop locally Hope it works Run in cloud Bug!
Guesswork
BigDebug: Debugging Primitives for
Interactive Big Data Processing
ICSE 2016
Muhammad Ali Gulzar, Matteo Interlandi, Seunghyun Yoo, Sai
Deep Tetali Tyson Condie, Todd Millstein, Miryung Kim
Presented at Spark Summit 2017
3#Res3SAIS
Interactive Debugging with BigDebug
4#Res3SAIS
4. Backward and Forward Tracing
1. Simulated Breakpoint 2. On Demand Guarded Watchpoint
3. Crash Culprit Identification
Titian: Data Provenance support in Spark
VLDB 2015
Matteo Interlandi, Kshitij Shah, Sai Deep Tetali, Muhammad Ali
Gulzar, Seunghyun Yoo, Miryung Kim, Todd Millstein, Tyson Condie
5#Res3SAIS
Data Provenance – in SQL
6#Res3SAIS
Tuple-ID Time Sendor-ID Temperature
T1 11AM 1 34
T2 11AM 2 35
T3 11AM 3 35
T4 12PM 1 35
T5 12PM 2 35
T6 12PM 3 100
T7 1PM 1 35
T8 1PM 2 35
T9 1PM 3 80
SELECT time, AVG(temp)
FROM sensors
GROUP BY time
Sensors
Result-
ID
Time AVG(temp)
ID-1 11AM 34.6
ID-2 12PM 56.6
ID-3 1PM 50
Outlier
Outlier
Why ID-2 and
ID-3 have those
high values?
Step 1: Instrument Workflow in Spark
7#Res3SAIS
Combiner
LineageRDD
Reducer
LineageRDD
Hadoop
LineageRDD
counts
pairscodeserrorslines
Stage 1
Stage 2
reports
Stage
LineageRDD
Input ID Output ID
{ id1, id 3} 400
{ id2 } 4
Input
ID
Output
ID
offset1 id1
offset2 id2
offset3 id3
Input ID Output ID
[p1, p2] 400
[ p1 ] 4
Input ID Output ID
400 id1
4 id2
Step 2: Example Backward Tracing
8#Res3SAIS
Worker1
Worker3
Input ID Output ID
[p1, p2] 400
[ p1 ] 4
Input ID Output ID
400 id1
4 id2
Reducer Stage
Input ID Output ID
offset1 id1
offset2 id2
offset3 id3
Input ID Output ID
{ id1, id 3} 400
{ id2 } 4
Hadoop Combiner
Input ID Output ID
offset1 id1
… …
Input ID Output ID
{ id1, …} 400
Hadoop Combiner
Worker1
Worker3
Input ID Output ID
[p1, p2] 400
[ p1 ] 4
Input ID Output ID
400 id1
4 id2
Reducer Stage
Input ID Output ID
offset1 id1
offset2 id2
offset3 id3
Input ID Output ID
{ id1, id 3} 400
{ id2 } 4
Hadoop Combiner
Input ID Output ID
offset1 id1
… …
Input ID Output ID
{ id1, …} 400
Hadoop Combiner
Input ID Output ID
p1 400
Input ID Output ID
p1 400
Stage.Input IDReducer.Output ID
Worker2
Step 2: Example Backward Tracing
9#Res3SAIS
Worker1
Input ID Output ID
offset1 id1
offset2 id2
offset3 id3
Input ID Output ID
{ id1, id 3} 400
{ id2 } 4
Hadoop Combiner
Input ID Output ID
offset1 id1
… …
Input ID Output ID
{ id1, …} 400
Hadoop Combiner
Worker1
Input ID Output ID
offset1 id1
offset2 id2
offset3 id3
Input ID Output ID
{ id1, id 3} 400
{ id2 } 4
Hadoop Combiner
Input ID Output ID
offset1 id1
… …
Input ID Output ID
{ id1, …} 400
Hadoop Combiner
Input ID Output ID
p1 400
Input ID Output ID
p1 400
Worker2
Combiner.Output ID Reducer.Output ID
Combiner.Output ID Reducer.Output ID
Step 2: Example Backward Tracing
10#Res3SAIS
Worker1
Input ID Output ID
offset1 id1
offset2 id2
offset3 id3
Input ID Output ID
{ id1, id 3} 400
{ id2 } 4
Hadoop Combiner
Input ID Output ID
offset1 id1
… …
Input ID Output ID
{ id1, …} 400
Hadoop Combiner
Worker1
Input ID Output ID
offset1 id1
offset2 id2
offset3 id3
Input ID Output ID
{ id1, id 3} 400
{ id2 } 4
Hadoop Combiner
Input ID Output ID
offset1 id1
… …
Input ID Output ID
{ id1, …} 400
Hadoop Combiner Worker2
Combiner.Input IDHadoop.Output ID
Combiner.Input IDHadoop.Output ID
BigSift: Automated Debugging of Big
Data Analytics in DISC Applications
SoCC 2017
Muhammad Ali Gulzar, Matteo Interlandi, Xueyuan Han, Tyson
Condie, Miryung Kim
11#Res3SAIS
Motivating Example for Automated
Debugging with BigSift
• Alice writes a Spark program that identifies, for each state in the US,
the delta between the minimum and the maximum snowfall reading
for each day of any year and for any particular year.
• An input data record that measures 1 foot of snowfall on January 1st of
Year 1992, in the 99504 zip code (Anchorage, AK) area, appears as
99504 , 01/01/1992 , 1ft
12#Res3SAIS
Debugging Incorrect Output
13
99504 , 01/01/1992 , 1ft
99504 , 03/01/1992 , 0.1ft
99504 , 01/01/1993 , 70in
99504 , 03/01/1993 , 145mm
99504 , 01/01/1994 , 245mm
99504 , 01/01/1993 , 85mm
90031 , 02/01/1991 , 0mm
AK , 01/01 , [304.8, 21336, 245, 85]
AK , 03/01 , [30.5 , 145]
AK , 1992 , [304.8 , 30.5]
AK , 1993 , [21336, 145, 85]
AK , 1994 , [245]
CA , 02/01 , [0]
CA , 1991 , [0]
TextFile FlatMap GroupByKey Map Output
AK , 01/01 , 304.8
AK , 1992 , 304.8
AK , 03/01 , 30.5
AK , 1992 , 30.5
AK , 01/01 , 21336
AK , 1993 , 21336
AK , 03/01 , 145
AK , 1993 , 145
AK , 01/01 , 245
AK , 1994 , 245
…. ….
AK , 01/01 , 21251
AK , 03/01 , 114.5
AK , 1992 , 274.3
AK , 1993 , 21251
AK , 1994 , 0
CA , 02/01 , 0
CA , 1991 , 0
It is challenging because the input records is very large and the program
involves computing min and max and a unit conversion
#Res3SAIS
Data Provenance with Titian [VLDB ‘15]
99504 , 01/01/1992 , 1ft
99504 , 03/01/1992 , 0.1ft
99504 , 01/01/1993 , 70in
99504 , 03/01/1993 , 145mm
99504 , 01/01/1994 , 245mm
99504 , 01/01/1993 , 85mm
90031 , 02/01/1991 , 0mm
AK , 01/01 , [304.8, 21336, 245, 85]
AK , 03/01 , [30.5 , 145]
AK , 1992 , [304.8 , 30.5]
AK , 1993 , [21336, 145, 85]
AK , 1994 , [245]
CA , 02/01 , [0]
CA , 1991 , [0]
TextFile FlatMap GroupByKey Map Output
AK , 01/01 , 304.8
AK , 1992 , 304.8
AK , 03/01 , 30.5
AK , 1992 , 30.5
AK , 01/01 , 21336
AK , 1993 , 21336
AK , 03/01 , 145
AK , 1993 , 145
AK , 01/01 , 245
AK , 1994 , 245
…. ….
AK , 01/01 , 21251
AK , 03/01 , 114.5
AK , 1992 , 274.3
AK , 1993 , 21251
AK , 1994 , 0
CA , 02/01 , 0
CA , 1991 , 0
#Res3SAIS 14
It over-approximates the scope of failure-inducing inputs i.e. records in
the faulty key-group are all marked as faulty
Delta Debugging
• Alice tests the output from different input configurations using a test function
15
Run 1 fails the test
99504 , 01/01/1992 , 1ft
99504 , 03/01/1992 , 0.1ft
99504 , 01/01/1993 , 70in
99504 , 03/01/1993 , 145mm
99504 , 01/01/1994 , 245mm
99504 , 01/01/1993 , 85mm
90031 , 02/01/1991 , 0mm
AK , 01/01 , 304.8
AK , 1992 , 304.8
AK , 03/01 , 30.5
AK , 1992 , 30.5
AK , 01/01 , 21336
AK , 1993 , 21336
AK , 03/01 , 145
AK , 1993 , 145
AK , 01/01 , 245
AK , 1994 , 245
…. ….
AK , 01/01 , [304.8, 21336, 245, 85]
AK , 03/01 , [30.5 , 145]
AK , 1992 , [304.8 , 30.5]
AK , 1993 , [21336, 145, 85]
AK , 1994 , [245]
CA , 02/01 , [0]
CA , 1991 , [0]
AK , 01/01 , 21251
AK , 03/01 , 114.5
AK , 1992 , 274.3
AK , 1993 , 21251
AK , 1994 , 0
CA , 02/01 , 0
CA , 1991 , 0
TextFile FlatMap GroupByKey Map Output
1
2
def test(key:String, delta: Float) : Boolean = {
delta < 6000
}
#Res3SAIS
Delta Debugging
• DD is an systematic debugging procedure guided by a test function.
DD is inefficient because it does not eliminate irrelevant input records
upfront.
16
TextFile FlatMap GroupByKey Map Output
#Res3SAIS
99504 , 01/01/1992 , 1ft
99504 , 03/01/1992 , 0.1ft
99504 , 01/01/1993 , 70in
AK , 01/01 , 304.8
AK , 1992 , 304.8
AK , 03/01 , 30.5
AK , 1992 , 30.5
AK , 01/01 , 21336
AK , 1993 , 21336
AK , 01/01 , [304.8, 21336]
AK , 03/01 , [30.5]
AK , 1992 , [304.8 , 30.5]
AK , 1993 , [21336]
AK , 01/01 , 21031.2
AK , 03/01 , 0
AK , 1992 , 274.3
AK , 1993 , 0
Run 2 fails the test
1
2
Delta Debugging
• DD is an systematic debugging procedure guided by a test function.
DD is inefficient because it does not eliminate irrelevant input records
upfront.
17
TextFile FlatMap GroupByKey Map Output
#Res3SAIS
99504 , 01/01/1992 , 1ft
99504 , 03/01/1992 , 0.1ft
99504 , 01/01/1993 , 70in
AK , 01/01 , 304.8
AK , 1992 , 304.8
AK , 03/01 , 30.5
AK , 1992 , 30.5
AK , 01/01 , [304.8]
AK , 03/01 , [30.5]
AK , 1992 , [304.8 , 30.5]
AK , 01/01 , 0
AK , 03/01 , 0
AK , 1992 , 274.3
Run 3 passes the test
Delta Debugging
• DD is an systematic debugging procedure guided by a test function.
DD is inefficient because it does not eliminate irrelevant input records
upfront.
18
TextFile FlatMap GroupByKey Map Output
#Res3SAIS
99504 , 01/01/1992 , 1ft
99504 , 03/01/1992 , 0.1ft
99504 , 01/01/1993 , 70in
AK , 01/01 , 21336
AK , 1993 , 21336
AK , 01/01 , [21336]
AK , 1993 , [21336]
AK , 01/01 , 0
AK , 1993 , 0
Run 4 passes the test
Delta Debugging
• DD is an systematic debugging procedure guided by a test function.
DD is inefficient because it does not eliminate irrelevant input records
upfront.
19
TextFile FlatMap GroupByKey Map Output
#Res3SAIS
99504 , 01/01/1992 , 1ft
99504 , 03/01/1992 , 0.1ft
99504 , 01/01/1993 , 70in
AK , 01/01 , 304.8
AK , 1992 , 304.8
AK , 01/01 , [304.8]
AK , 1992 , [304.8]
AK , 01/01 , 0
AK , 1992 , 0
Run 5 passes the test
Delta Debugging
• DD is an systematic debugging procedure guided by a test function.
DD is inefficient because it does not eliminate irrelevant input records
upfront.
20
TextFile FlatMap GroupByKey Map Output
#Res3SAIS
99504 , 01/01/1992 , 1ft
99504 , 03/01/1992 , 0.1ft
99504 , 01/01/1993 , 70in
AK , 03/01 , 30.5
AK , 1992 , 30.5
AK , 03/01 , [30.5]
AK , 1992 , [30.5]
AK , 03/01 , 0
AK , 1992 , 0
Run 6 passes the test
Delta Debugging
• DD is an systematic debugging procedure guided by a test function.
DD is inefficient because it does not eliminate irrelevant input records
upfront.
21
TextFile FlatMap GroupByKey Map Output
#Res3SAIS
99504 , 01/01/1992 , 1ft
99504 , 03/01/1992 , 0.1ft
99504 , 01/01/1993 , 70in
AK , 01/01 , 21336
AK , 1993 , 21336
AK , 01/01 , [21336]
AK , 1993 , [21336]
AK , 01/01 , 0
AK , 1993 , 0
Run 7 passes the test
Delta Debugging
• DD is an systematic debugging procedure guided by a test function.
DD is inefficient because it does not eliminate irrelevant input records
upfront.
22
TextFile FlatMap GroupByKey Map Output
#Res3SAIS
99504 , 01/01/1992 , 1ft
99504 , 03/01/1992 , 0.1ft
99504 , 01/01/1993 , 70in
AK , 03/01 , 30.5
AK , 1992 , 30.5
AK , 01/01 , 21336
AK , 1993 , 21336
AK , 03/01 , [30.5]
AK , 1992 , [30.5]
AK , 01/01 , [21336]
AK , 1993 , [21336]
AK , 03/01 , 0
AK , 1992 , 0
AK , 01/01 , 0
AK , 1993 , 0
Run 8 passes the test
Delta Debugging
• DD is an systematic debugging procedure guided by a test function.
DD is inefficient because it does not eliminate irrelevant input records
upfront.
23
TextFile FlatMap GroupByKey Map Output
#Res3SAIS
99504 , 01/01/1992 , 1ft
99504 , 03/01/1992 , 0.1ft
99504 , 01/01/1993 , 70in
AK , 01/01 , 304.8
AK , 1992 , 304.8
AK , 01/01 , 21336
AK , 1993 , 21336
AK , 01/01 , [304.8 , 21336]
AK , 1992 , [304.8]
AK , 1993 , [21336]
AK , 01/01 , 21031.2
AK , 1992 , 0
AK , 1993 , 0
Run 9 fails the test
Automated Debugging in DISC with BigSift
24#Res3SAIS
Test
Predicate
Pushdown
Prioritizing
Backward
Traces
Bitmap based
Test
Memoization
Input: A Spark
Program, A Test
Function
Output: Minimum Fault-
Inducing
Input Records
Data Provenance + Delta Debugging
Optimization 1: Test Predicate Pushdown
• Observation: During backward tracing, data provenance traces
through all the partitions even though only a few partitions are faulty
25#Res3SAIS
If applicable, BigSift pushes down the test function to test the
output of combiners in order to isolate the faulty partitions.
Test
Test
Test
Test
Test
Test
Test
Optimization 2 :Prioritizing Backward Traces
• Observation: The same faulty input record may contribute to multiple
output records failing the test.
26#Res3SAIS
99504 , 01/01/1992 , 1ft
99504 , 03/01/1992 , 0.1ft
99504 , 01/01/1993 , 70in
99504 , 03/01/1993 , 145mm
99504 , 01/01/1994 , 245mm
99504 , 01/01/1993 , 85mm
90031 , 02/01/1991 , 0mm
AK , 01/01 , [304.8, 21336, 245, 85]
AK , 03/01 , [30.5 , 145]
AK , 1992 , [304.8 , 30.5]
AK , 1993 , [21336, 145, 85]
AK , 1994 , [245]
CA , 02/01 , [0]
CA , 1991 , [0]
TextFile FlatMap GroupByKey Map Output
AK , 01/01 , 304.8
AK , 1992 , 304.8
AK , 03/01 , 30.5
AK , 1992 , 30.5
AK , 01/01 , 21336
AK , 1993 , 21336
AK , 03/01 , 145
AK , 1993 , 145
AK , 01/01 , 245
AK , 1994 , 245
…. ….
AK , 01/01 , 21251
AK , 03/01 , 114.5
AK , 1992 , 274.3
AK , 1993 , 21251
AK , 1994 , 0
CA , 02/01 , 0
CA , 1991 , 0
In case of multiple faulty outputs, BigSift overlaps two backward
traces to minimize the scope of fault-inducing input records
Optimization 3: Bitmap based Test Memoization
• Observation: Delta debugging may
try running a program on the same
subset of input redundantly.
• BigSift leverages bitmap to compactly
encode the offsets of original input to
refer to an input subset
#Res3SAIS
0
1
0
1
0
0
0
0
1
1
Input Data Bitmap
!
Test Outcome
We use a bitmap based test memoization technique to avoid
redundant testing of the same input dataset.
Demo
Debugging Time
29#Res3SAIS
Subject Program Running Time (sec) Debugging Time (sec)
Subject Program Fault Original Job DD BigSift Improvement
Movie Histogram Code 56.2 232.8 17.3 13.5X
Inverted Index Code 107.7 584.2 13.4 43.6X
Rating Histogram Code 40.3 263.4 16.6 15.9X
Sequence Count Code 356.0 13772.1 208.8 66.0X
Rating Frequency Code 77.5 437.9 14.9 29.5X
College Student Data 53.1 235.3 31.8 7.4X
Weather Analysis Data 238.5 999.1 89.9 11.1X
Transit Analysis Code 45.5 375.8 20.2 18.6X
BigSift provides up to a 66X speed up in isolating the precise
fault-inducing input records, in comparison to the baseline DD
Debugging Time
30#Res3SAIS
Subject Program Running Time (sec) Debugging Time (sec)
Subject Program Fault Original Job DD BigSift Improvement
Movie Histogram Code 56.2 232.8 17.3 13.5X
Inverted Index Code 107.7 584.2 13.4 43.6X
Rating Histogram Code 40.3 263.4 16.6 15.9X
Sequence Count Code 356.0 13772.1 208.8 66.0X
Rating Frequency Code 77.5 437.9 14.9 29.5X
College Student Data 53.1 235.3 31.8 7.4X
Weather Analysis Data 238.5 999.1 89.9 11.1X
Transit Analysis Code 45.5 375.8 20.2 18.6X
On average, BigSift takes 62% less time to debug a single faulty
output than the time taken for a single run on the entire data.
Debugging Time
31#Res3SAIS
1
10
100
1000
10000
100000
1000000
10000000
100000000
1E+09
0 2000 4000 6000 8000 10000 12000 14000
#offault-inducinginput
records
Fault Localization Time (s)
Sequence Count
Delta Debugging
BigSift
Test Driven Data
Provenance
Data Provenance
On average, BigSift takes 62% less time to debug a single faulty
output than the time taken for a single run on the entire data.
Fault Localizability over Data Provenance
32#Res3SAIS
143796
6487290
520904
23411
5800
15003060
2554788
350
2
1350
15 13
1 1 1 1 1 1 2
1
10
100
1000
10000
100000
1000000
10000000
100000000
Movie
Historgram
Inverted Index Rating
Histogram
Sequence
Count
Rating
Frequency
College
Students
Weather
Analysis
#offault-inducinginputrecords
Data Provenance Test Driven Data Provenance BigSift & DD
BigSift leverages DD after DP to continue fault isolation, achieving
several orders of magnitude 103 to 107 better precision.
Summary
• BigSift is the first piece of work in automated debugging of big data
analytics in DISC.
• BigSift provides 103X – 107X more precision than data provenance
in terms of fault localizability.
• It provides up to 66X speed up in debugging time over baseline
Delta Debugging.
• In our evaluation we have observed that, on average, BigSift finds
the faulty input in 62% less than the original job execution time.
33#Res3SAIS

More Related Content

What's hot

Performance tuning through iterations
Performance tuning through iterationsPerformance tuning through iterations
Performance tuning through iterationsGert Franz
 
Oracle trace data collection errors: the story about oceans, islands, and rivers
Oracle trace data collection errors: the story about oceans, islands, and riversOracle trace data collection errors: the story about oceans, islands, and rivers
Oracle trace data collection errors: the story about oceans, islands, and riversCary Millsap
 
Most important "trick" of performance instrumentation
Most important "trick" of performance instrumentationMost important "trick" of performance instrumentation
Most important "trick" of performance instrumentationCary Millsap
 
Presentation indexing new features oracle 11g release 1 and release 2
Presentation    indexing new features oracle 11g release 1 and release 2Presentation    indexing new features oracle 11g release 1 and release 2
Presentation indexing new features oracle 11g release 1 and release 2xKinAnx
 
Cassandra Data Modeling - Practical Considerations @ Netflix
Cassandra Data Modeling - Practical Considerations @ NetflixCassandra Data Modeling - Practical Considerations @ Netflix
Cassandra Data Modeling - Practical Considerations @ Netflixnkorla1share
 
Video Compression, Part 2-Section 2, Video Coding Concepts
Video Compression, Part 2-Section 2, Video Coding Concepts Video Compression, Part 2-Section 2, Video Coding Concepts
Video Compression, Part 2-Section 2, Video Coding Concepts Dr. Mohieddin Moradi
 

What's hot (6)

Performance tuning through iterations
Performance tuning through iterationsPerformance tuning through iterations
Performance tuning through iterations
 
Oracle trace data collection errors: the story about oceans, islands, and rivers
Oracle trace data collection errors: the story about oceans, islands, and riversOracle trace data collection errors: the story about oceans, islands, and rivers
Oracle trace data collection errors: the story about oceans, islands, and rivers
 
Most important "trick" of performance instrumentation
Most important "trick" of performance instrumentationMost important "trick" of performance instrumentation
Most important "trick" of performance instrumentation
 
Presentation indexing new features oracle 11g release 1 and release 2
Presentation    indexing new features oracle 11g release 1 and release 2Presentation    indexing new features oracle 11g release 1 and release 2
Presentation indexing new features oracle 11g release 1 and release 2
 
Cassandra Data Modeling - Practical Considerations @ Netflix
Cassandra Data Modeling - Practical Considerations @ NetflixCassandra Data Modeling - Practical Considerations @ Netflix
Cassandra Data Modeling - Practical Considerations @ Netflix
 
Video Compression, Part 2-Section 2, Video Coding Concepts
Video Compression, Part 2-Section 2, Video Coding Concepts Video Compression, Part 2-Section 2, Video Coding Concepts
Video Compression, Part 2-Section 2, Video Coding Concepts
 

Similar to Automated Debugging of Big Data Analytics in Apache Spark Using BigSift with Muhammad Ali Gulzar and Miryung Kim

Hailey_Database_Performance_Made_Easy_through_Graphics.pdf
Hailey_Database_Performance_Made_Easy_through_Graphics.pdfHailey_Database_Performance_Made_Easy_through_Graphics.pdf
Hailey_Database_Performance_Made_Easy_through_Graphics.pdfcookie1969
 
New SQL features in latest MySQL releases
New SQL features in latest MySQL releasesNew SQL features in latest MySQL releases
New SQL features in latest MySQL releasesGeorgi Sotirov
 
Reducing Failure Analysis Time: An Industrial Evaluation
Reducing Failure Analysis Time: An Industrial EvaluationReducing Failure Analysis Time: An Industrial Evaluation
Reducing Failure Analysis Time: An Industrial EvaluationMojdeh Golagha
 
Roll grinding Six Sigma project
Roll grinding Six Sigma projectRoll grinding Six Sigma project
Roll grinding Six Sigma projectTariq Aziz
 
11 Things About11g
11 Things About11g11 Things About11g
11 Things About11gfcamachob
 
11thingsabout11g 12659705398222 Phpapp01
11thingsabout11g 12659705398222 Phpapp0111thingsabout11g 12659705398222 Phpapp01
11thingsabout11g 12659705398222 Phpapp01Karam Abuataya
 
Public Training SQL Implementation & Embedded Programming in IBM i (05-09 Jun...
Public Training SQL Implementation & Embedded Programming in IBM i (05-09 Jun...Public Training SQL Implementation & Embedded Programming in IBM i (05-09 Jun...
Public Training SQL Implementation & Embedded Programming in IBM i (05-09 Jun...Hany Paulina
 
Public Training SQL Implementation & Embedded Programming in IBM i
Public Training SQL Implementation & Embedded Programming in IBM iPublic Training SQL Implementation & Embedded Programming in IBM i
Public Training SQL Implementation & Embedded Programming in IBM iHany Paulina
 
Design of security room
Design of security roomDesign of security room
Design of security roomNabendu Lodh
 
Tracing Parallel Execution (UKOUG 2006)
Tracing Parallel Execution (UKOUG 2006)Tracing Parallel Execution (UKOUG 2006)
Tracing Parallel Execution (UKOUG 2006)Doug Burns
 
10x Performance Improvements
10x Performance Improvements10x Performance Improvements
10x Performance ImprovementsRonald Bradford
 
10x improvement-mysql-100419105218-phpapp02
10x improvement-mysql-100419105218-phpapp0210x improvement-mysql-100419105218-phpapp02
10x improvement-mysql-100419105218-phpapp02promethius
 
Optimization based Chassis Design
Optimization based Chassis DesignOptimization based Chassis Design
Optimization based Chassis DesignAltair
 
Scaling MySQL Strategies for Developers
Scaling MySQL Strategies for DevelopersScaling MySQL Strategies for Developers
Scaling MySQL Strategies for DevelopersJonathan Levin
 
Oracle to Cassandra Core Concepts Guide Pt. 2
Oracle to Cassandra Core Concepts Guide Pt. 2Oracle to Cassandra Core Concepts Guide Pt. 2
Oracle to Cassandra Core Concepts Guide Pt. 2DataStax Academy
 
Studio 3 Geology Training Manual.pdf
Studio 3 Geology Training Manual.pdfStudio 3 Geology Training Manual.pdf
Studio 3 Geology Training Manual.pdfRonaldQuispePerez2
 
Project Portfolio Francois Bourcier
Project Portfolio Francois BourcierProject Portfolio Francois Bourcier
Project Portfolio Francois BourcierFrancois Bourcier
 
Oracle Database 12c Application Development
Oracle Database 12c Application DevelopmentOracle Database 12c Application Development
Oracle Database 12c Application DevelopmentSaurabh K. Gupta
 

Similar to Automated Debugging of Big Data Analytics in Apache Spark Using BigSift with Muhammad Ali Gulzar and Miryung Kim (20)

Hailey_Database_Performance_Made_Easy_through_Graphics.pdf
Hailey_Database_Performance_Made_Easy_through_Graphics.pdfHailey_Database_Performance_Made_Easy_through_Graphics.pdf
Hailey_Database_Performance_Made_Easy_through_Graphics.pdf
 
New SQL features in latest MySQL releases
New SQL features in latest MySQL releasesNew SQL features in latest MySQL releases
New SQL features in latest MySQL releases
 
Reducing Failure Analysis Time: An Industrial Evaluation
Reducing Failure Analysis Time: An Industrial EvaluationReducing Failure Analysis Time: An Industrial Evaluation
Reducing Failure Analysis Time: An Industrial Evaluation
 
Roll grinding Six Sigma project
Roll grinding Six Sigma projectRoll grinding Six Sigma project
Roll grinding Six Sigma project
 
11 Things About11g
11 Things About11g11 Things About11g
11 Things About11g
 
11thingsabout11g 12659705398222 Phpapp01
11thingsabout11g 12659705398222 Phpapp0111thingsabout11g 12659705398222 Phpapp01
11thingsabout11g 12659705398222 Phpapp01
 
Public Training SQL Implementation & Embedded Programming in IBM i (05-09 Jun...
Public Training SQL Implementation & Embedded Programming in IBM i (05-09 Jun...Public Training SQL Implementation & Embedded Programming in IBM i (05-09 Jun...
Public Training SQL Implementation & Embedded Programming in IBM i (05-09 Jun...
 
Public Training SQL Implementation & Embedded Programming in IBM i
Public Training SQL Implementation & Embedded Programming in IBM iPublic Training SQL Implementation & Embedded Programming in IBM i
Public Training SQL Implementation & Embedded Programming in IBM i
 
Design of security room
Design of security roomDesign of security room
Design of security room
 
10053 otw
10053 otw10053 otw
10053 otw
 
Tracing Parallel Execution (UKOUG 2006)
Tracing Parallel Execution (UKOUG 2006)Tracing Parallel Execution (UKOUG 2006)
Tracing Parallel Execution (UKOUG 2006)
 
10x Performance Improvements
10x Performance Improvements10x Performance Improvements
10x Performance Improvements
 
10x improvement-mysql-100419105218-phpapp02
10x improvement-mysql-100419105218-phpapp0210x improvement-mysql-100419105218-phpapp02
10x improvement-mysql-100419105218-phpapp02
 
MySQL performance tuning
MySQL performance tuningMySQL performance tuning
MySQL performance tuning
 
Optimization based Chassis Design
Optimization based Chassis DesignOptimization based Chassis Design
Optimization based Chassis Design
 
Scaling MySQL Strategies for Developers
Scaling MySQL Strategies for DevelopersScaling MySQL Strategies for Developers
Scaling MySQL Strategies for Developers
 
Oracle to Cassandra Core Concepts Guide Pt. 2
Oracle to Cassandra Core Concepts Guide Pt. 2Oracle to Cassandra Core Concepts Guide Pt. 2
Oracle to Cassandra Core Concepts Guide Pt. 2
 
Studio 3 Geology Training Manual.pdf
Studio 3 Geology Training Manual.pdfStudio 3 Geology Training Manual.pdf
Studio 3 Geology Training Manual.pdf
 
Project Portfolio Francois Bourcier
Project Portfolio Francois BourcierProject Portfolio Francois Bourcier
Project Portfolio Francois Bourcier
 
Oracle Database 12c Application Development
Oracle Database 12c Application DevelopmentOracle Database 12c Application Development
Oracle Database 12c Application Development
 

More from Databricks

DW Migration Webinar-March 2022.pptx
DW Migration Webinar-March 2022.pptxDW Migration Webinar-March 2022.pptx
DW Migration Webinar-March 2022.pptxDatabricks
 
Data Lakehouse Symposium | Day 1 | Part 1
Data Lakehouse Symposium | Day 1 | Part 1Data Lakehouse Symposium | Day 1 | Part 1
Data Lakehouse Symposium | Day 1 | Part 1Databricks
 
Data Lakehouse Symposium | Day 1 | Part 2
Data Lakehouse Symposium | Day 1 | Part 2Data Lakehouse Symposium | Day 1 | Part 2
Data Lakehouse Symposium | Day 1 | Part 2Databricks
 
Data Lakehouse Symposium | Day 2
Data Lakehouse Symposium | Day 2Data Lakehouse Symposium | Day 2
Data Lakehouse Symposium | Day 2Databricks
 
Data Lakehouse Symposium | Day 4
Data Lakehouse Symposium | Day 4Data Lakehouse Symposium | Day 4
Data Lakehouse Symposium | Day 4Databricks
 
5 Critical Steps to Clean Your Data Swamp When Migrating Off of Hadoop
5 Critical Steps to Clean Your Data Swamp When Migrating Off of Hadoop5 Critical Steps to Clean Your Data Swamp When Migrating Off of Hadoop
5 Critical Steps to Clean Your Data Swamp When Migrating Off of HadoopDatabricks
 
Democratizing Data Quality Through a Centralized Platform
Democratizing Data Quality Through a Centralized PlatformDemocratizing Data Quality Through a Centralized Platform
Democratizing Data Quality Through a Centralized PlatformDatabricks
 
Learn to Use Databricks for Data Science
Learn to Use Databricks for Data ScienceLearn to Use Databricks for Data Science
Learn to Use Databricks for Data ScienceDatabricks
 
Why APM Is Not the Same As ML Monitoring
Why APM Is Not the Same As ML MonitoringWhy APM Is Not the Same As ML Monitoring
Why APM Is Not the Same As ML MonitoringDatabricks
 
The Function, the Context, and the Data—Enabling ML Ops at Stitch Fix
The Function, the Context, and the Data—Enabling ML Ops at Stitch FixThe Function, the Context, and the Data—Enabling ML Ops at Stitch Fix
The Function, the Context, and the Data—Enabling ML Ops at Stitch FixDatabricks
 
Stage Level Scheduling Improving Big Data and AI Integration
Stage Level Scheduling Improving Big Data and AI IntegrationStage Level Scheduling Improving Big Data and AI Integration
Stage Level Scheduling Improving Big Data and AI IntegrationDatabricks
 
Simplify Data Conversion from Spark to TensorFlow and PyTorch
Simplify Data Conversion from Spark to TensorFlow and PyTorchSimplify Data Conversion from Spark to TensorFlow and PyTorch
Simplify Data Conversion from Spark to TensorFlow and PyTorchDatabricks
 
Scaling your Data Pipelines with Apache Spark on Kubernetes
Scaling your Data Pipelines with Apache Spark on KubernetesScaling your Data Pipelines with Apache Spark on Kubernetes
Scaling your Data Pipelines with Apache Spark on KubernetesDatabricks
 
Scaling and Unifying SciKit Learn and Apache Spark Pipelines
Scaling and Unifying SciKit Learn and Apache Spark PipelinesScaling and Unifying SciKit Learn and Apache Spark Pipelines
Scaling and Unifying SciKit Learn and Apache Spark PipelinesDatabricks
 
Sawtooth Windows for Feature Aggregations
Sawtooth Windows for Feature AggregationsSawtooth Windows for Feature Aggregations
Sawtooth Windows for Feature AggregationsDatabricks
 
Redis + Apache Spark = Swiss Army Knife Meets Kitchen Sink
Redis + Apache Spark = Swiss Army Knife Meets Kitchen SinkRedis + Apache Spark = Swiss Army Knife Meets Kitchen Sink
Redis + Apache Spark = Swiss Army Knife Meets Kitchen SinkDatabricks
 
Re-imagine Data Monitoring with whylogs and Spark
Re-imagine Data Monitoring with whylogs and SparkRe-imagine Data Monitoring with whylogs and Spark
Re-imagine Data Monitoring with whylogs and SparkDatabricks
 
Raven: End-to-end Optimization of ML Prediction Queries
Raven: End-to-end Optimization of ML Prediction QueriesRaven: End-to-end Optimization of ML Prediction Queries
Raven: End-to-end Optimization of ML Prediction QueriesDatabricks
 
Processing Large Datasets for ADAS Applications using Apache Spark
Processing Large Datasets for ADAS Applications using Apache SparkProcessing Large Datasets for ADAS Applications using Apache Spark
Processing Large Datasets for ADAS Applications using Apache SparkDatabricks
 
Massive Data Processing in Adobe Using Delta Lake
Massive Data Processing in Adobe Using Delta LakeMassive Data Processing in Adobe Using Delta Lake
Massive Data Processing in Adobe Using Delta LakeDatabricks
 

More from Databricks (20)

DW Migration Webinar-March 2022.pptx
DW Migration Webinar-March 2022.pptxDW Migration Webinar-March 2022.pptx
DW Migration Webinar-March 2022.pptx
 
Data Lakehouse Symposium | Day 1 | Part 1
Data Lakehouse Symposium | Day 1 | Part 1Data Lakehouse Symposium | Day 1 | Part 1
Data Lakehouse Symposium | Day 1 | Part 1
 
Data Lakehouse Symposium | Day 1 | Part 2
Data Lakehouse Symposium | Day 1 | Part 2Data Lakehouse Symposium | Day 1 | Part 2
Data Lakehouse Symposium | Day 1 | Part 2
 
Data Lakehouse Symposium | Day 2
Data Lakehouse Symposium | Day 2Data Lakehouse Symposium | Day 2
Data Lakehouse Symposium | Day 2
 
Data Lakehouse Symposium | Day 4
Data Lakehouse Symposium | Day 4Data Lakehouse Symposium | Day 4
Data Lakehouse Symposium | Day 4
 
5 Critical Steps to Clean Your Data Swamp When Migrating Off of Hadoop
5 Critical Steps to Clean Your Data Swamp When Migrating Off of Hadoop5 Critical Steps to Clean Your Data Swamp When Migrating Off of Hadoop
5 Critical Steps to Clean Your Data Swamp When Migrating Off of Hadoop
 
Democratizing Data Quality Through a Centralized Platform
Democratizing Data Quality Through a Centralized PlatformDemocratizing Data Quality Through a Centralized Platform
Democratizing Data Quality Through a Centralized Platform
 
Learn to Use Databricks for Data Science
Learn to Use Databricks for Data ScienceLearn to Use Databricks for Data Science
Learn to Use Databricks for Data Science
 
Why APM Is Not the Same As ML Monitoring
Why APM Is Not the Same As ML MonitoringWhy APM Is Not the Same As ML Monitoring
Why APM Is Not the Same As ML Monitoring
 
The Function, the Context, and the Data—Enabling ML Ops at Stitch Fix
The Function, the Context, and the Data—Enabling ML Ops at Stitch FixThe Function, the Context, and the Data—Enabling ML Ops at Stitch Fix
The Function, the Context, and the Data—Enabling ML Ops at Stitch Fix
 
Stage Level Scheduling Improving Big Data and AI Integration
Stage Level Scheduling Improving Big Data and AI IntegrationStage Level Scheduling Improving Big Data and AI Integration
Stage Level Scheduling Improving Big Data and AI Integration
 
Simplify Data Conversion from Spark to TensorFlow and PyTorch
Simplify Data Conversion from Spark to TensorFlow and PyTorchSimplify Data Conversion from Spark to TensorFlow and PyTorch
Simplify Data Conversion from Spark to TensorFlow and PyTorch
 
Scaling your Data Pipelines with Apache Spark on Kubernetes
Scaling your Data Pipelines with Apache Spark on KubernetesScaling your Data Pipelines with Apache Spark on Kubernetes
Scaling your Data Pipelines with Apache Spark on Kubernetes
 
Scaling and Unifying SciKit Learn and Apache Spark Pipelines
Scaling and Unifying SciKit Learn and Apache Spark PipelinesScaling and Unifying SciKit Learn and Apache Spark Pipelines
Scaling and Unifying SciKit Learn and Apache Spark Pipelines
 
Sawtooth Windows for Feature Aggregations
Sawtooth Windows for Feature AggregationsSawtooth Windows for Feature Aggregations
Sawtooth Windows for Feature Aggregations
 
Redis + Apache Spark = Swiss Army Knife Meets Kitchen Sink
Redis + Apache Spark = Swiss Army Knife Meets Kitchen SinkRedis + Apache Spark = Swiss Army Knife Meets Kitchen Sink
Redis + Apache Spark = Swiss Army Knife Meets Kitchen Sink
 
Re-imagine Data Monitoring with whylogs and Spark
Re-imagine Data Monitoring with whylogs and SparkRe-imagine Data Monitoring with whylogs and Spark
Re-imagine Data Monitoring with whylogs and Spark
 
Raven: End-to-end Optimization of ML Prediction Queries
Raven: End-to-end Optimization of ML Prediction QueriesRaven: End-to-end Optimization of ML Prediction Queries
Raven: End-to-end Optimization of ML Prediction Queries
 
Processing Large Datasets for ADAS Applications using Apache Spark
Processing Large Datasets for ADAS Applications using Apache SparkProcessing Large Datasets for ADAS Applications using Apache Spark
Processing Large Datasets for ADAS Applications using Apache Spark
 
Massive Data Processing in Adobe Using Delta Lake
Massive Data Processing in Adobe Using Delta LakeMassive Data Processing in Adobe Using Delta Lake
Massive Data Processing in Adobe Using Delta Lake
 

Recently uploaded

Decoding the Heart: Student Presentation on Heart Attack Prediction with Data...
Decoding the Heart: Student Presentation on Heart Attack Prediction with Data...Decoding the Heart: Student Presentation on Heart Attack Prediction with Data...
Decoding the Heart: Student Presentation on Heart Attack Prediction with Data...Boston Institute of Analytics
 
IBEF report on the Insurance market in India
IBEF report on the Insurance market in IndiaIBEF report on the Insurance market in India
IBEF report on the Insurance market in IndiaManalVerma4
 
Data Analysis Project : Targeting the Right Customers, Presentation on Bank M...
Data Analysis Project : Targeting the Right Customers, Presentation on Bank M...Data Analysis Project : Targeting the Right Customers, Presentation on Bank M...
Data Analysis Project : Targeting the Right Customers, Presentation on Bank M...Boston Institute of Analytics
 
Learn How Data Science Changes Our World
Learn How Data Science Changes Our WorldLearn How Data Science Changes Our World
Learn How Data Science Changes Our WorldEduminds Learning
 
FAIR, FAIRsharing, FAIR Cookbook and ELIXIR - Sansone SA - Boston 2024
FAIR, FAIRsharing, FAIR Cookbook and ELIXIR - Sansone SA - Boston 2024FAIR, FAIRsharing, FAIR Cookbook and ELIXIR - Sansone SA - Boston 2024
FAIR, FAIRsharing, FAIR Cookbook and ELIXIR - Sansone SA - Boston 2024Susanna-Assunta Sansone
 
English-8-Q4-W3-Synthesizing-Essential-Information-From-Various-Sources-1.pdf
English-8-Q4-W3-Synthesizing-Essential-Information-From-Various-Sources-1.pdfEnglish-8-Q4-W3-Synthesizing-Essential-Information-From-Various-Sources-1.pdf
English-8-Q4-W3-Synthesizing-Essential-Information-From-Various-Sources-1.pdfblazblazml
 
Decoding Patterns: Customer Churn Prediction Data Analysis Project
Decoding Patterns: Customer Churn Prediction Data Analysis ProjectDecoding Patterns: Customer Churn Prediction Data Analysis Project
Decoding Patterns: Customer Churn Prediction Data Analysis ProjectBoston Institute of Analytics
 
What To Do For World Nature Conservation Day by Slidesgo.pptx
What To Do For World Nature Conservation Day by Slidesgo.pptxWhat To Do For World Nature Conservation Day by Slidesgo.pptx
What To Do For World Nature Conservation Day by Slidesgo.pptxSimranPal17
 
modul pembelajaran robotic Workshop _ by Slidesgo.pptx
modul pembelajaran robotic Workshop _ by Slidesgo.pptxmodul pembelajaran robotic Workshop _ by Slidesgo.pptx
modul pembelajaran robotic Workshop _ by Slidesgo.pptxaleedritatuxx
 
Data Factory in Microsoft Fabric (MsBIP #82)
Data Factory in Microsoft Fabric (MsBIP #82)Data Factory in Microsoft Fabric (MsBIP #82)
Data Factory in Microsoft Fabric (MsBIP #82)Cathrine Wilhelmsen
 
The Power of Data-Driven Storytelling_ Unveiling the Layers of Insight.pptx
The Power of Data-Driven Storytelling_ Unveiling the Layers of Insight.pptxThe Power of Data-Driven Storytelling_ Unveiling the Layers of Insight.pptx
The Power of Data-Driven Storytelling_ Unveiling the Layers of Insight.pptxTasha Penwell
 
Principles and Practices of Data Visualization
Principles and Practices of Data VisualizationPrinciples and Practices of Data Visualization
Principles and Practices of Data VisualizationKianJazayeri1
 
Data Analysis Project Presentation: Unveiling Your Ideal Customer, Bank Custo...
Data Analysis Project Presentation: Unveiling Your Ideal Customer, Bank Custo...Data Analysis Project Presentation: Unveiling Your Ideal Customer, Bank Custo...
Data Analysis Project Presentation: Unveiling Your Ideal Customer, Bank Custo...Boston Institute of Analytics
 
Cyber awareness ppt on the recorded data
Cyber awareness ppt on the recorded dataCyber awareness ppt on the recorded data
Cyber awareness ppt on the recorded dataTecnoIncentive
 
Bank Loan Approval Analysis: A Comprehensive Data Analysis Project
Bank Loan Approval Analysis: A Comprehensive Data Analysis ProjectBank Loan Approval Analysis: A Comprehensive Data Analysis Project
Bank Loan Approval Analysis: A Comprehensive Data Analysis ProjectBoston Institute of Analytics
 
why-transparency-and-traceability-are-essential-for-sustainable-supply-chains...
why-transparency-and-traceability-are-essential-for-sustainable-supply-chains...why-transparency-and-traceability-are-essential-for-sustainable-supply-chains...
why-transparency-and-traceability-are-essential-for-sustainable-supply-chains...Jack Cole
 
SMOTE and K-Fold Cross Validation-Presentation.pptx
SMOTE and K-Fold Cross Validation-Presentation.pptxSMOTE and K-Fold Cross Validation-Presentation.pptx
SMOTE and K-Fold Cross Validation-Presentation.pptxHaritikaChhatwal1
 
Decoding Movie Sentiments: Analyzing Reviews with Data Analysis model
Decoding Movie Sentiments: Analyzing Reviews with Data Analysis modelDecoding Movie Sentiments: Analyzing Reviews with Data Analysis model
Decoding Movie Sentiments: Analyzing Reviews with Data Analysis modelBoston Institute of Analytics
 
Real-Time AI Streaming - AI Max Princeton
Real-Time AI  Streaming - AI Max PrincetonReal-Time AI  Streaming - AI Max Princeton
Real-Time AI Streaming - AI Max PrincetonTimothy Spann
 

Recently uploaded (20)

Decoding the Heart: Student Presentation on Heart Attack Prediction with Data...
Decoding the Heart: Student Presentation on Heart Attack Prediction with Data...Decoding the Heart: Student Presentation on Heart Attack Prediction with Data...
Decoding the Heart: Student Presentation on Heart Attack Prediction with Data...
 
IBEF report on the Insurance market in India
IBEF report on the Insurance market in IndiaIBEF report on the Insurance market in India
IBEF report on the Insurance market in India
 
Data Analysis Project : Targeting the Right Customers, Presentation on Bank M...
Data Analysis Project : Targeting the Right Customers, Presentation on Bank M...Data Analysis Project : Targeting the Right Customers, Presentation on Bank M...
Data Analysis Project : Targeting the Right Customers, Presentation on Bank M...
 
Learn How Data Science Changes Our World
Learn How Data Science Changes Our WorldLearn How Data Science Changes Our World
Learn How Data Science Changes Our World
 
FAIR, FAIRsharing, FAIR Cookbook and ELIXIR - Sansone SA - Boston 2024
FAIR, FAIRsharing, FAIR Cookbook and ELIXIR - Sansone SA - Boston 2024FAIR, FAIRsharing, FAIR Cookbook and ELIXIR - Sansone SA - Boston 2024
FAIR, FAIRsharing, FAIR Cookbook and ELIXIR - Sansone SA - Boston 2024
 
English-8-Q4-W3-Synthesizing-Essential-Information-From-Various-Sources-1.pdf
English-8-Q4-W3-Synthesizing-Essential-Information-From-Various-Sources-1.pdfEnglish-8-Q4-W3-Synthesizing-Essential-Information-From-Various-Sources-1.pdf
English-8-Q4-W3-Synthesizing-Essential-Information-From-Various-Sources-1.pdf
 
Decoding Patterns: Customer Churn Prediction Data Analysis Project
Decoding Patterns: Customer Churn Prediction Data Analysis ProjectDecoding Patterns: Customer Churn Prediction Data Analysis Project
Decoding Patterns: Customer Churn Prediction Data Analysis Project
 
Insurance Churn Prediction Data Analysis Project
Insurance Churn Prediction Data Analysis ProjectInsurance Churn Prediction Data Analysis Project
Insurance Churn Prediction Data Analysis Project
 
What To Do For World Nature Conservation Day by Slidesgo.pptx
What To Do For World Nature Conservation Day by Slidesgo.pptxWhat To Do For World Nature Conservation Day by Slidesgo.pptx
What To Do For World Nature Conservation Day by Slidesgo.pptx
 
modul pembelajaran robotic Workshop _ by Slidesgo.pptx
modul pembelajaran robotic Workshop _ by Slidesgo.pptxmodul pembelajaran robotic Workshop _ by Slidesgo.pptx
modul pembelajaran robotic Workshop _ by Slidesgo.pptx
 
Data Factory in Microsoft Fabric (MsBIP #82)
Data Factory in Microsoft Fabric (MsBIP #82)Data Factory in Microsoft Fabric (MsBIP #82)
Data Factory in Microsoft Fabric (MsBIP #82)
 
The Power of Data-Driven Storytelling_ Unveiling the Layers of Insight.pptx
The Power of Data-Driven Storytelling_ Unveiling the Layers of Insight.pptxThe Power of Data-Driven Storytelling_ Unveiling the Layers of Insight.pptx
The Power of Data-Driven Storytelling_ Unveiling the Layers of Insight.pptx
 
Principles and Practices of Data Visualization
Principles and Practices of Data VisualizationPrinciples and Practices of Data Visualization
Principles and Practices of Data Visualization
 
Data Analysis Project Presentation: Unveiling Your Ideal Customer, Bank Custo...
Data Analysis Project Presentation: Unveiling Your Ideal Customer, Bank Custo...Data Analysis Project Presentation: Unveiling Your Ideal Customer, Bank Custo...
Data Analysis Project Presentation: Unveiling Your Ideal Customer, Bank Custo...
 
Cyber awareness ppt on the recorded data
Cyber awareness ppt on the recorded dataCyber awareness ppt on the recorded data
Cyber awareness ppt on the recorded data
 
Bank Loan Approval Analysis: A Comprehensive Data Analysis Project
Bank Loan Approval Analysis: A Comprehensive Data Analysis ProjectBank Loan Approval Analysis: A Comprehensive Data Analysis Project
Bank Loan Approval Analysis: A Comprehensive Data Analysis Project
 
why-transparency-and-traceability-are-essential-for-sustainable-supply-chains...
why-transparency-and-traceability-are-essential-for-sustainable-supply-chains...why-transparency-and-traceability-are-essential-for-sustainable-supply-chains...
why-transparency-and-traceability-are-essential-for-sustainable-supply-chains...
 
SMOTE and K-Fold Cross Validation-Presentation.pptx
SMOTE and K-Fold Cross Validation-Presentation.pptxSMOTE and K-Fold Cross Validation-Presentation.pptx
SMOTE and K-Fold Cross Validation-Presentation.pptx
 
Decoding Movie Sentiments: Analyzing Reviews with Data Analysis model
Decoding Movie Sentiments: Analyzing Reviews with Data Analysis modelDecoding Movie Sentiments: Analyzing Reviews with Data Analysis model
Decoding Movie Sentiments: Analyzing Reviews with Data Analysis model
 
Real-Time AI Streaming - AI Max Princeton
Real-Time AI  Streaming - AI Max PrincetonReal-Time AI  Streaming - AI Max Princeton
Real-Time AI Streaming - AI Max Princeton
 

Automated Debugging of Big Data Analytics in Apache Spark Using BigSift with Muhammad Ali Gulzar and Miryung Kim

  • 1. Muhammad Ali Gulzar Miryung Kim University of California, Los Angeles Automated Debugging of Big Data Analytics in Apache Spark Using BigSift #Res3SAIS
  • 2. Big Data Debugging in the Dark 2#Res3SAIS Map Reduce Develop locally Hope it works Run in cloud Bug! Guesswork
  • 3. BigDebug: Debugging Primitives for Interactive Big Data Processing ICSE 2016 Muhammad Ali Gulzar, Matteo Interlandi, Seunghyun Yoo, Sai Deep Tetali Tyson Condie, Todd Millstein, Miryung Kim Presented at Spark Summit 2017 3#Res3SAIS
  • 4. Interactive Debugging with BigDebug 4#Res3SAIS 4. Backward and Forward Tracing 1. Simulated Breakpoint 2. On Demand Guarded Watchpoint 3. Crash Culprit Identification
  • 5. Titian: Data Provenance support in Spark VLDB 2015 Matteo Interlandi, Kshitij Shah, Sai Deep Tetali, Muhammad Ali Gulzar, Seunghyun Yoo, Miryung Kim, Todd Millstein, Tyson Condie 5#Res3SAIS
  • 6. Data Provenance – in SQL 6#Res3SAIS Tuple-ID Time Sendor-ID Temperature T1 11AM 1 34 T2 11AM 2 35 T3 11AM 3 35 T4 12PM 1 35 T5 12PM 2 35 T6 12PM 3 100 T7 1PM 1 35 T8 1PM 2 35 T9 1PM 3 80 SELECT time, AVG(temp) FROM sensors GROUP BY time Sensors Result- ID Time AVG(temp) ID-1 11AM 34.6 ID-2 12PM 56.6 ID-3 1PM 50 Outlier Outlier Why ID-2 and ID-3 have those high values?
  • 7. Step 1: Instrument Workflow in Spark 7#Res3SAIS Combiner LineageRDD Reducer LineageRDD Hadoop LineageRDD counts pairscodeserrorslines Stage 1 Stage 2 reports Stage LineageRDD Input ID Output ID { id1, id 3} 400 { id2 } 4 Input ID Output ID offset1 id1 offset2 id2 offset3 id3 Input ID Output ID [p1, p2] 400 [ p1 ] 4 Input ID Output ID 400 id1 4 id2
  • 8. Step 2: Example Backward Tracing 8#Res3SAIS Worker1 Worker3 Input ID Output ID [p1, p2] 400 [ p1 ] 4 Input ID Output ID 400 id1 4 id2 Reducer Stage Input ID Output ID offset1 id1 offset2 id2 offset3 id3 Input ID Output ID { id1, id 3} 400 { id2 } 4 Hadoop Combiner Input ID Output ID offset1 id1 … … Input ID Output ID { id1, …} 400 Hadoop Combiner Worker1 Worker3 Input ID Output ID [p1, p2] 400 [ p1 ] 4 Input ID Output ID 400 id1 4 id2 Reducer Stage Input ID Output ID offset1 id1 offset2 id2 offset3 id3 Input ID Output ID { id1, id 3} 400 { id2 } 4 Hadoop Combiner Input ID Output ID offset1 id1 … … Input ID Output ID { id1, …} 400 Hadoop Combiner Input ID Output ID p1 400 Input ID Output ID p1 400 Stage.Input IDReducer.Output ID Worker2
  • 9. Step 2: Example Backward Tracing 9#Res3SAIS Worker1 Input ID Output ID offset1 id1 offset2 id2 offset3 id3 Input ID Output ID { id1, id 3} 400 { id2 } 4 Hadoop Combiner Input ID Output ID offset1 id1 … … Input ID Output ID { id1, …} 400 Hadoop Combiner Worker1 Input ID Output ID offset1 id1 offset2 id2 offset3 id3 Input ID Output ID { id1, id 3} 400 { id2 } 4 Hadoop Combiner Input ID Output ID offset1 id1 … … Input ID Output ID { id1, …} 400 Hadoop Combiner Input ID Output ID p1 400 Input ID Output ID p1 400 Worker2 Combiner.Output ID Reducer.Output ID Combiner.Output ID Reducer.Output ID
  • 10. Step 2: Example Backward Tracing 10#Res3SAIS Worker1 Input ID Output ID offset1 id1 offset2 id2 offset3 id3 Input ID Output ID { id1, id 3} 400 { id2 } 4 Hadoop Combiner Input ID Output ID offset1 id1 … … Input ID Output ID { id1, …} 400 Hadoop Combiner Worker1 Input ID Output ID offset1 id1 offset2 id2 offset3 id3 Input ID Output ID { id1, id 3} 400 { id2 } 4 Hadoop Combiner Input ID Output ID offset1 id1 … … Input ID Output ID { id1, …} 400 Hadoop Combiner Worker2 Combiner.Input IDHadoop.Output ID Combiner.Input IDHadoop.Output ID
  • 11. BigSift: Automated Debugging of Big Data Analytics in DISC Applications SoCC 2017 Muhammad Ali Gulzar, Matteo Interlandi, Xueyuan Han, Tyson Condie, Miryung Kim 11#Res3SAIS
  • 12. Motivating Example for Automated Debugging with BigSift • Alice writes a Spark program that identifies, for each state in the US, the delta between the minimum and the maximum snowfall reading for each day of any year and for any particular year. • An input data record that measures 1 foot of snowfall on January 1st of Year 1992, in the 99504 zip code (Anchorage, AK) area, appears as 99504 , 01/01/1992 , 1ft 12#Res3SAIS
  • 13. Debugging Incorrect Output 13 99504 , 01/01/1992 , 1ft 99504 , 03/01/1992 , 0.1ft 99504 , 01/01/1993 , 70in 99504 , 03/01/1993 , 145mm 99504 , 01/01/1994 , 245mm 99504 , 01/01/1993 , 85mm 90031 , 02/01/1991 , 0mm AK , 01/01 , [304.8, 21336, 245, 85] AK , 03/01 , [30.5 , 145] AK , 1992 , [304.8 , 30.5] AK , 1993 , [21336, 145, 85] AK , 1994 , [245] CA , 02/01 , [0] CA , 1991 , [0] TextFile FlatMap GroupByKey Map Output AK , 01/01 , 304.8 AK , 1992 , 304.8 AK , 03/01 , 30.5 AK , 1992 , 30.5 AK , 01/01 , 21336 AK , 1993 , 21336 AK , 03/01 , 145 AK , 1993 , 145 AK , 01/01 , 245 AK , 1994 , 245 …. …. AK , 01/01 , 21251 AK , 03/01 , 114.5 AK , 1992 , 274.3 AK , 1993 , 21251 AK , 1994 , 0 CA , 02/01 , 0 CA , 1991 , 0 It is challenging because the input records is very large and the program involves computing min and max and a unit conversion #Res3SAIS
  • 14. Data Provenance with Titian [VLDB ‘15] 99504 , 01/01/1992 , 1ft 99504 , 03/01/1992 , 0.1ft 99504 , 01/01/1993 , 70in 99504 , 03/01/1993 , 145mm 99504 , 01/01/1994 , 245mm 99504 , 01/01/1993 , 85mm 90031 , 02/01/1991 , 0mm AK , 01/01 , [304.8, 21336, 245, 85] AK , 03/01 , [30.5 , 145] AK , 1992 , [304.8 , 30.5] AK , 1993 , [21336, 145, 85] AK , 1994 , [245] CA , 02/01 , [0] CA , 1991 , [0] TextFile FlatMap GroupByKey Map Output AK , 01/01 , 304.8 AK , 1992 , 304.8 AK , 03/01 , 30.5 AK , 1992 , 30.5 AK , 01/01 , 21336 AK , 1993 , 21336 AK , 03/01 , 145 AK , 1993 , 145 AK , 01/01 , 245 AK , 1994 , 245 …. …. AK , 01/01 , 21251 AK , 03/01 , 114.5 AK , 1992 , 274.3 AK , 1993 , 21251 AK , 1994 , 0 CA , 02/01 , 0 CA , 1991 , 0 #Res3SAIS 14 It over-approximates the scope of failure-inducing inputs i.e. records in the faulty key-group are all marked as faulty
  • 15. Delta Debugging • Alice tests the output from different input configurations using a test function 15 Run 1 fails the test 99504 , 01/01/1992 , 1ft 99504 , 03/01/1992 , 0.1ft 99504 , 01/01/1993 , 70in 99504 , 03/01/1993 , 145mm 99504 , 01/01/1994 , 245mm 99504 , 01/01/1993 , 85mm 90031 , 02/01/1991 , 0mm AK , 01/01 , 304.8 AK , 1992 , 304.8 AK , 03/01 , 30.5 AK , 1992 , 30.5 AK , 01/01 , 21336 AK , 1993 , 21336 AK , 03/01 , 145 AK , 1993 , 145 AK , 01/01 , 245 AK , 1994 , 245 …. …. AK , 01/01 , [304.8, 21336, 245, 85] AK , 03/01 , [30.5 , 145] AK , 1992 , [304.8 , 30.5] AK , 1993 , [21336, 145, 85] AK , 1994 , [245] CA , 02/01 , [0] CA , 1991 , [0] AK , 01/01 , 21251 AK , 03/01 , 114.5 AK , 1992 , 274.3 AK , 1993 , 21251 AK , 1994 , 0 CA , 02/01 , 0 CA , 1991 , 0 TextFile FlatMap GroupByKey Map Output 1 2 def test(key:String, delta: Float) : Boolean = { delta < 6000 } #Res3SAIS
  • 16. Delta Debugging • DD is an systematic debugging procedure guided by a test function. DD is inefficient because it does not eliminate irrelevant input records upfront. 16 TextFile FlatMap GroupByKey Map Output #Res3SAIS 99504 , 01/01/1992 , 1ft 99504 , 03/01/1992 , 0.1ft 99504 , 01/01/1993 , 70in AK , 01/01 , 304.8 AK , 1992 , 304.8 AK , 03/01 , 30.5 AK , 1992 , 30.5 AK , 01/01 , 21336 AK , 1993 , 21336 AK , 01/01 , [304.8, 21336] AK , 03/01 , [30.5] AK , 1992 , [304.8 , 30.5] AK , 1993 , [21336] AK , 01/01 , 21031.2 AK , 03/01 , 0 AK , 1992 , 274.3 AK , 1993 , 0 Run 2 fails the test 1 2
  • 17. Delta Debugging • DD is an systematic debugging procedure guided by a test function. DD is inefficient because it does not eliminate irrelevant input records upfront. 17 TextFile FlatMap GroupByKey Map Output #Res3SAIS 99504 , 01/01/1992 , 1ft 99504 , 03/01/1992 , 0.1ft 99504 , 01/01/1993 , 70in AK , 01/01 , 304.8 AK , 1992 , 304.8 AK , 03/01 , 30.5 AK , 1992 , 30.5 AK , 01/01 , [304.8] AK , 03/01 , [30.5] AK , 1992 , [304.8 , 30.5] AK , 01/01 , 0 AK , 03/01 , 0 AK , 1992 , 274.3 Run 3 passes the test
  • 18. Delta Debugging • DD is an systematic debugging procedure guided by a test function. DD is inefficient because it does not eliminate irrelevant input records upfront. 18 TextFile FlatMap GroupByKey Map Output #Res3SAIS 99504 , 01/01/1992 , 1ft 99504 , 03/01/1992 , 0.1ft 99504 , 01/01/1993 , 70in AK , 01/01 , 21336 AK , 1993 , 21336 AK , 01/01 , [21336] AK , 1993 , [21336] AK , 01/01 , 0 AK , 1993 , 0 Run 4 passes the test
  • 19. Delta Debugging • DD is an systematic debugging procedure guided by a test function. DD is inefficient because it does not eliminate irrelevant input records upfront. 19 TextFile FlatMap GroupByKey Map Output #Res3SAIS 99504 , 01/01/1992 , 1ft 99504 , 03/01/1992 , 0.1ft 99504 , 01/01/1993 , 70in AK , 01/01 , 304.8 AK , 1992 , 304.8 AK , 01/01 , [304.8] AK , 1992 , [304.8] AK , 01/01 , 0 AK , 1992 , 0 Run 5 passes the test
  • 20. Delta Debugging • DD is an systematic debugging procedure guided by a test function. DD is inefficient because it does not eliminate irrelevant input records upfront. 20 TextFile FlatMap GroupByKey Map Output #Res3SAIS 99504 , 01/01/1992 , 1ft 99504 , 03/01/1992 , 0.1ft 99504 , 01/01/1993 , 70in AK , 03/01 , 30.5 AK , 1992 , 30.5 AK , 03/01 , [30.5] AK , 1992 , [30.5] AK , 03/01 , 0 AK , 1992 , 0 Run 6 passes the test
  • 21. Delta Debugging • DD is an systematic debugging procedure guided by a test function. DD is inefficient because it does not eliminate irrelevant input records upfront. 21 TextFile FlatMap GroupByKey Map Output #Res3SAIS 99504 , 01/01/1992 , 1ft 99504 , 03/01/1992 , 0.1ft 99504 , 01/01/1993 , 70in AK , 01/01 , 21336 AK , 1993 , 21336 AK , 01/01 , [21336] AK , 1993 , [21336] AK , 01/01 , 0 AK , 1993 , 0 Run 7 passes the test
  • 22. Delta Debugging • DD is an systematic debugging procedure guided by a test function. DD is inefficient because it does not eliminate irrelevant input records upfront. 22 TextFile FlatMap GroupByKey Map Output #Res3SAIS 99504 , 01/01/1992 , 1ft 99504 , 03/01/1992 , 0.1ft 99504 , 01/01/1993 , 70in AK , 03/01 , 30.5 AK , 1992 , 30.5 AK , 01/01 , 21336 AK , 1993 , 21336 AK , 03/01 , [30.5] AK , 1992 , [30.5] AK , 01/01 , [21336] AK , 1993 , [21336] AK , 03/01 , 0 AK , 1992 , 0 AK , 01/01 , 0 AK , 1993 , 0 Run 8 passes the test
  • 23. Delta Debugging • DD is an systematic debugging procedure guided by a test function. DD is inefficient because it does not eliminate irrelevant input records upfront. 23 TextFile FlatMap GroupByKey Map Output #Res3SAIS 99504 , 01/01/1992 , 1ft 99504 , 03/01/1992 , 0.1ft 99504 , 01/01/1993 , 70in AK , 01/01 , 304.8 AK , 1992 , 304.8 AK , 01/01 , 21336 AK , 1993 , 21336 AK , 01/01 , [304.8 , 21336] AK , 1992 , [304.8] AK , 1993 , [21336] AK , 01/01 , 21031.2 AK , 1992 , 0 AK , 1993 , 0 Run 9 fails the test
  • 24. Automated Debugging in DISC with BigSift 24#Res3SAIS Test Predicate Pushdown Prioritizing Backward Traces Bitmap based Test Memoization Input: A Spark Program, A Test Function Output: Minimum Fault- Inducing Input Records Data Provenance + Delta Debugging
  • 25. Optimization 1: Test Predicate Pushdown • Observation: During backward tracing, data provenance traces through all the partitions even though only a few partitions are faulty 25#Res3SAIS If applicable, BigSift pushes down the test function to test the output of combiners in order to isolate the faulty partitions. Test Test Test Test Test Test Test
  • 26. Optimization 2 :Prioritizing Backward Traces • Observation: The same faulty input record may contribute to multiple output records failing the test. 26#Res3SAIS 99504 , 01/01/1992 , 1ft 99504 , 03/01/1992 , 0.1ft 99504 , 01/01/1993 , 70in 99504 , 03/01/1993 , 145mm 99504 , 01/01/1994 , 245mm 99504 , 01/01/1993 , 85mm 90031 , 02/01/1991 , 0mm AK , 01/01 , [304.8, 21336, 245, 85] AK , 03/01 , [30.5 , 145] AK , 1992 , [304.8 , 30.5] AK , 1993 , [21336, 145, 85] AK , 1994 , [245] CA , 02/01 , [0] CA , 1991 , [0] TextFile FlatMap GroupByKey Map Output AK , 01/01 , 304.8 AK , 1992 , 304.8 AK , 03/01 , 30.5 AK , 1992 , 30.5 AK , 01/01 , 21336 AK , 1993 , 21336 AK , 03/01 , 145 AK , 1993 , 145 AK , 01/01 , 245 AK , 1994 , 245 …. …. AK , 01/01 , 21251 AK , 03/01 , 114.5 AK , 1992 , 274.3 AK , 1993 , 21251 AK , 1994 , 0 CA , 02/01 , 0 CA , 1991 , 0 In case of multiple faulty outputs, BigSift overlaps two backward traces to minimize the scope of fault-inducing input records
  • 27. Optimization 3: Bitmap based Test Memoization • Observation: Delta debugging may try running a program on the same subset of input redundantly. • BigSift leverages bitmap to compactly encode the offsets of original input to refer to an input subset #Res3SAIS 0 1 0 1 0 0 0 0 1 1 Input Data Bitmap ! Test Outcome We use a bitmap based test memoization technique to avoid redundant testing of the same input dataset.
  • 28. Demo
  • 29. Debugging Time 29#Res3SAIS Subject Program Running Time (sec) Debugging Time (sec) Subject Program Fault Original Job DD BigSift Improvement Movie Histogram Code 56.2 232.8 17.3 13.5X Inverted Index Code 107.7 584.2 13.4 43.6X Rating Histogram Code 40.3 263.4 16.6 15.9X Sequence Count Code 356.0 13772.1 208.8 66.0X Rating Frequency Code 77.5 437.9 14.9 29.5X College Student Data 53.1 235.3 31.8 7.4X Weather Analysis Data 238.5 999.1 89.9 11.1X Transit Analysis Code 45.5 375.8 20.2 18.6X BigSift provides up to a 66X speed up in isolating the precise fault-inducing input records, in comparison to the baseline DD
  • 30. Debugging Time 30#Res3SAIS Subject Program Running Time (sec) Debugging Time (sec) Subject Program Fault Original Job DD BigSift Improvement Movie Histogram Code 56.2 232.8 17.3 13.5X Inverted Index Code 107.7 584.2 13.4 43.6X Rating Histogram Code 40.3 263.4 16.6 15.9X Sequence Count Code 356.0 13772.1 208.8 66.0X Rating Frequency Code 77.5 437.9 14.9 29.5X College Student Data 53.1 235.3 31.8 7.4X Weather Analysis Data 238.5 999.1 89.9 11.1X Transit Analysis Code 45.5 375.8 20.2 18.6X On average, BigSift takes 62% less time to debug a single faulty output than the time taken for a single run on the entire data.
  • 31. Debugging Time 31#Res3SAIS 1 10 100 1000 10000 100000 1000000 10000000 100000000 1E+09 0 2000 4000 6000 8000 10000 12000 14000 #offault-inducinginput records Fault Localization Time (s) Sequence Count Delta Debugging BigSift Test Driven Data Provenance Data Provenance On average, BigSift takes 62% less time to debug a single faulty output than the time taken for a single run on the entire data.
  • 32. Fault Localizability over Data Provenance 32#Res3SAIS 143796 6487290 520904 23411 5800 15003060 2554788 350 2 1350 15 13 1 1 1 1 1 1 2 1 10 100 1000 10000 100000 1000000 10000000 100000000 Movie Historgram Inverted Index Rating Histogram Sequence Count Rating Frequency College Students Weather Analysis #offault-inducinginputrecords Data Provenance Test Driven Data Provenance BigSift & DD BigSift leverages DD after DP to continue fault isolation, achieving several orders of magnitude 103 to 107 better precision.
  • 33. Summary • BigSift is the first piece of work in automated debugging of big data analytics in DISC. • BigSift provides 103X – 107X more precision than data provenance in terms of fault localizability. • It provides up to 66X speed up in debugging time over baseline Delta Debugging. • In our evaluation we have observed that, on average, BigSift finds the faulty input in 62% less than the original job execution time. 33#Res3SAIS