Saravana Muthukumar
12/23/2024, 9:03 AMDesmond Cheong
12/23/2024, 9:06 AMSaravana Muthukumar
12/23/2024, 9:11 AMSaravana Muthukumar
12/23/2024, 9:15 AMjay
12/23/2024, 9:21 AMDAFT_DEV_ENABLE_EXPLAIN_ANALYZE=1Saravana Muthukumar
12/23/2024, 9:28 AMmermaid
flowchart BT
daft_local_execution::sinks::blocking_sink::BlockingSinkNode0["SortResult
rows received = 25
rows emitted = 25
CPU Time = 0.01ms
"]
daft_local_execution::intermediate_ops::intermediate_op::IntermediateNode1["ProjectOperator
rows received = 25
rows emitted = 25
CPU Time = 0.01ms
"]
daft_local_execution::sinks::blocking_sink::BlockingSinkNode2["GroupedAggregateSink
rows received = 292,325
rows emitted = 25
CPU Time = 0.03ms
"]
daft_local_execution::intermediate_ops::intermediate_op::IntermediateNode3["ProjectOperator
rows received = 292,325
rows emitted = 292,325
CPU Time = 0.01ms
"]
daft_local_execution::sinks::blocking_sink::BlockingSinkNode4["GroupedAggregateSink
rows received = 143,997,800
rows emitted = 292,325
CPU Time = 0.18ms
"]
daft_local_execution::intermediate_ops::intermediate_op::IntermediateNode5["ProjectOperator
rows received = 143,997,800
rows emitted = 143,997,800
CPU Time = 0.01ms
"]
daft_local_execution::intermediate_ops::intermediate_op::IntermediateNode6["InnerHashJoinProbeOperator
rows received = 496
rows emitted = 143,997,800
CPU Time = 0.01ms
"]
daft_local_execution::sinks::blocking_sink::BlockingSinkNode7["HashJoinBuildSink
rows received = 143,997,800
rows emitted = 0
CPU Time = 0.70ms
"]
daft_local_execution::intermediate_ops::intermediate_op::IntermediateNode8["ProjectOperator
rows received = 143,997,800
rows emitted = 143,997,800
CPU Time = 1.14ms
"]
daft_local_execution::sources::source::SourceNode9["ScanTask
rows emitted = 143,997,800
bytes read = 655.43 MiB
"]
daft_local_execution::sources::source::SourceNode9 --> daft_local_execution::intermediate_ops::intermediate_op::IntermediateNode8
daft_local_execution::intermediate_ops::intermediate_op::IntermediateNode8 --> daft_local_execution::sinks::blocking_sink::BlockingSinkNode7
daft_local_execution::sinks::blocking_sink::BlockingSinkNode7 --> daft_local_execution::intermediate_ops::intermediate_op::IntermediateNode6
daft_local_execution::intermediate_ops::intermediate_op::IntermediateNode10["ProjectOperator
rows received = 496
rows emitted = 496
CPU Time = 0.01ms
"]
daft_local_execution::intermediate_ops::intermediate_op::IntermediateNode11["ProjectOperator
rows received = 496
rows emitted = 496
CPU Time = 0.01ms
"]
daft_local_execution::sinks::blocking_sink::BlockingSinkNode12["GroupedAggregateSink
rows received = 143,997,800
rows emitted = 496
CPU Time = 0.13ms
"]
daft_local_execution::intermediate_ops::intermediate_op::IntermediateNode13["ProjectOperator
rows received = 143,997,800
rows emitted = 143,997,800
CPU Time = 0.71ms
"]
daft_local_execution::sources::source::SourceNode14["ScanTask
rows emitted = 143,997,800
bytes read = 388.04 MiB
"]
daft_local_execution::sources::source::SourceNode14 --> daft_local_execution::intermediate_ops::intermediate_op::IntermediateNode13
daft_local_execution::intermediate_ops::intermediate_op::IntermediateNode13 --> daft_local_execution::sinks::blocking_sink::BlockingSinkNode12
daft_local_execution::sinks::blocking_sink::BlockingSinkNode12 --> daft_local_execution::intermediate_ops::intermediate_op::IntermediateNode11
daft_local_execution::intermediate_ops::intermediate_op::IntermediateNode11 --> daft_local_execution::intermediate_ops::intermediate_op::IntermediateNode10
daft_local_execution::intermediate_ops::intermediate_op::IntermediateNode10 --> daft_local_execution::intermediate_ops::intermediate_op::IntermediateNode6
daft_local_execution::intermediate_ops::intermediate_op::IntermediateNode6 --> daft_local_execution::intermediate_ops::intermediate_op::IntermediateNode5
daft_local_execution::intermediate_ops::intermediate_op::IntermediateNode5 --> daft_local_execution::sinks::blocking_sink::BlockingSinkNode4
daft_local_execution::sinks::blocking_sink::BlockingSinkNode4 --> daft_local_execution::intermediate_ops::intermediate_op::IntermediateNode3
daft_local_execution::intermediate_ops::intermediate_op::IntermediateNode3 --> daft_local_execution::sinks::blocking_sink::BlockingSinkNode2
daft_local_execution::sinks::blocking_sink::BlockingSinkNode2 --> daft_local_execution::intermediate_ops::intermediate_op::IntermediateNode1
daft_local_execution::intermediate_ops::intermediate_op::IntermediateNode1 --> daft_local_execution::sinks::blocking_sink::BlockingSinkNode0jay
12/23/2024, 9:29 AM<https://mermaid.live>Saravana Muthukumar
12/23/2024, 9:30 AMjay
12/23/2024, 9:32 AMSaravana Muthukumar
12/23/2024, 9:41 AMSaravana Muthukumar
12/23/2024, 3:46 PMColin Ho
12/23/2024, 3:48 PMSaravana Muthukumar
12/25/2024, 5:43 AMSaravana Muthukumar
01/07/2025, 4:56 AMColin Ho
01/07/2025, 8:48 PMSaravana Muthukumar
01/31/2025, 2:28 PMSaravana Muthukumar
01/31/2025, 2:30 PMSaravana Muthukumar
01/31/2025, 2:45 PMmermaid
flowchart BT
daft_local_execution::sinks::blocking_sink::BlockingSinkNode0["Sort: Sort by = (col(WAFER), ascending, nulls last)
Stats = { Approx num rows = 2,023,113, Approx size bytes = 162.07 MiB,
Accumulated selectivity = 0.46 }
Rows received = 25
Rows emitted = 25
CPU Time = 2.81ms
"]
daft_local_execution::intermediate_ops::intermediate_op::IntermediateNode1["Project: col(LOT), col(WAFER), col(Measure_Time), [[col(LOT.local_count(All))
- col(over_all_pat_status.local_count(Valid))] / col(LOT.local_count(All))] *
lit(100) as yield
Resource request = None
Stats = { Approx num rows = 2,023,113, Approx size bytes = 162.07 MiB,
Accumulated selectivity = 0.46 }
Rows received = 25
Rows emitted = 25
CPU Time = 1.32ms
"]
daft_local_execution::sinks::blocking_sink::BlockingSinkNode2["GroupedAggregate: count(col(LOT) as LOT.local_count(All), All),
count(col(over_all_pat_status) as over_all_pat_status.local_count(Valid), Valid)
Group by: col(LOT), col(WAFER), col(Measure_Time)
Stats = { Approx num rows = 2,023,113, Approx size bytes = 162.07 MiB,
Accumulated selectivity = 0.46 }
Rows received = 292,325
Rows emitted = 25
CPU Time = 152.09ms
"]
daft_local_execution::intermediate_ops::intermediate_op::IntermediateNode3["Project: col(LOT), col(over_all_pat_status), col(WAFER), col(Measure_Time)
Resource request = None
Stats = { Approx num rows = 2,528,892, Approx size bytes = 202.59 MiB,
Accumulated selectivity = 0.58 }
Rows received = 292,325
Rows emitted = 292,325
CPU Time = 0.33ms
"]
daft_local_execution::sinks::blocking_sink::BlockingSinkNode4["GroupedAggregate: min(col(pat_status) as over_all_pat_status)
Group by: col(LOT), col(WAFER), col(Measure_Time), col(DIE_X), col(DIE_Y)
Stats = { Approx num rows = 2,528,892, Approx size bytes = 202.59 MiB,
Accumulated selectivity = 0.58 }
Rows received = 143,997,800
Rows emitted = 292,325
CPU Time = 73973.23ms
"]
daft_local_execution::intermediate_ops::intermediate_op::IntermediateNode5["Project: [col(VALUE) <= col(UL)] & [col(VALUE) >= col(LL)] as pat_status,
col(LOT), col(WAFER), col(Measure_Time), col(DIE_X), col(DIE_Y)
Resource request = None
Stats = { Approx num rows = 3,161,116, Approx size bytes = 255.87 MiB,
Accumulated selectivity = 0.72 }
Rows received = 143,997,800
Rows emitted = 143,997,800
CPU Time = 1124.42ms
"]
daft_local_execution::intermediate_ops::intermediate_op::IntermediateNode6["InnerHashJoinProbe:
Probe on: [col(PARAMETER)]
Build on left: false
Stats = { Approx num rows = 3,161,116, Approx size bytes = 255.87 MiB,
Accumulated selectivity = 0.72 }
Rows received = 143,997,800
Rows emitted = 143,997,800
CPU Time = 102378.30ms
"]
daft_local_execution::sinks::blocking_sink::BlockingSinkNode7["HashJoinBuild:
Track Indices: true
Key Schema: t0.PARAMETER#Utf8
Null equals Nulls = [false]
Stats = { Approx num rows = 3,512,351, Approx size bytes = 93.79 MiB,
Accumulated selectivity = 0.80 }
Rows received = 496
Rows emitted = 0
CPU Time = 0.30ms
"]
daft_local_execution::intermediate_ops::intermediate_op::IntermediateNode8["Project: col(PARAMETER) as t0.PARAMETER, col(VALUE.local_mean()) -
col((Literal(Int64(3)) * VALUE.local_stddev())) as LL, col(VALUE.local_mean()) +
col((Literal(Int64(3)) * VALUE.local_stddev())) as UL
Resource request = None
Stats = { Approx num rows = 3,512,351, Approx size bytes = 93.79 MiB,
Accumulated selectivity = 0.80 }
Rows received = 496
Rows emitted = 496
CPU Time = 0.43ms
"]
daft_local_execution::intermediate_ops::intermediate_op::IntermediateNode9["Project: col(PARAMETER) as PARAMETER, col(VALUE.local_mean()) as
VALUE.local_mean(), lit(3) * col(VALUE.local_stddev()) as (Literal(Int64(3)) *
VALUE.local_stddev())
Resource request = None
Stats = { Approx num rows = 3,512,351, Approx size bytes = 93.79 MiB,
Accumulated selectivity = 0.80 }
Rows received = 496
Rows emitted = 496
CPU Time = 0.49ms
"]
daft_local_execution::sinks::blocking_sink::BlockingSinkNode10["GroupedAggregate: mean(col(VALUE) as VALUE.local_mean()), stddev(col(VALUE) as
VALUE.local_stddev())
Group by: col(PARAMETER)
Stats = { Approx num rows = 3,512,351, Approx size bytes = 93.79 MiB,
Accumulated selectivity = 0.80 }
Rows received = 143,997,800
Rows emitted = 496
CPU Time = 24968.10ms
"]
daft_local_execution::intermediate_ops::intermediate_op::IntermediateNode11["Project: col(VALUE), col(PARAMETER)
Resource request = None
Stats = { Approx num rows = 4,390,439, Approx size bytes = 118.28 MiB,
Accumulated selectivity = 1.00 }
Rows received = 143,997,800
Rows emitted = 143,997,800
CPU Time = 69.99ms
"]
daft_local_execution::sources::source::SourceNode12["ScanTaskSource:
Num Scan Tasks = 1
Estimated Scan Bytes = 312818807
Pushdowns: {projection: [VALUE, PARAMETER]}
Schema: {LOT#Utf8, WAFER#Utf8, PARAMETER#Utf8, TEST_TYPE#Utf8,
TEST_PROGRAM#Utf8, MODULE#Utf8, Measure_Time#Timestamp(Microseconds, None),
Temperature#Float64, DIE_X#Int32, DIE_Y#Int32, PRODUCT#Utf8, UNIT#Utf8,
PASS_FAIL#Utf8, VALUE#Float64}
Scan Tasks: [
{File {<file://C>:/_Architecture/Data/daft_test.parquet}}
]
Stats = { Approx num rows = 4,390,439, Approx size bytes = 118.28 MiB,
Accumulated selectivity = 1.00 }
Rows emitted = 143,997,800
Bytes read = 127.97 MiB
"]
daft_local_execution::sources::source::SourceNode12 --> daft_local_execution::intermediate_ops::intermediate_op::IntermediateNode11
daft_local_execution::intermediate_ops::intermediate_op::IntermediateNode11 --> daft_local_execution::sinks::blocking_sink::BlockingSinkNode10
daft_local_execution::sinks::blocking_sink::BlockingSinkNode10 --> daft_local_execution::intermediate_ops::intermediate_op::IntermediateNode9
daft_local_execution::intermediate_ops::intermediate_op::IntermediateNode9 --> daft_local_execution::intermediate_ops::intermediate_op::IntermediateNode8
daft_local_execution::intermediate_ops::intermediate_op::IntermediateNode8 --> daft_local_execution::sinks::blocking_sink::BlockingSinkNode7
daft_local_execution::sinks::blocking_sink::BlockingSinkNode7 --> daft_local_execution::intermediate_ops::intermediate_op::IntermediateNode6
daft_local_execution::intermediate_ops::intermediate_op::IntermediateNode13["Project: col(PARAMETER), col(LOT), col(WAFER), col(Measure_Time), col(DIE_X),
col(DIE_Y), col(VALUE)
Resource request = None
Stats = { Approx num rows = 3,951,395, Approx size bytes = 319.84 MiB,
Accumulated selectivity = 0.90 }
Rows received = 143,997,800
Rows emitted = 143,997,800
CPU Time = 62.93ms
"]
daft_local_execution::sources::source::SourceNode14["ScanTaskSource:
Num Scan Tasks = 1
Estimated Scan Bytes = 312818807
Pushdowns: {projection: [PARAMETER, LOT, WAFER, Measure_Time, DIE_X, DIE_Y,
VALUE], filter: not(is_null(col(PARAMETER)))}
Schema: {LOT#Utf8, WAFER#Utf8, PARAMETER#Utf8, TEST_TYPE#Utf8,
TEST_PROGRAM#Utf8, MODULE#Utf8, Measure_Time#Timestamp(Microseconds, None),
Temperature#Float64, DIE_X#Int32, DIE_Y#Int32, PRODUCT#Utf8, UNIT#Utf8,
PASS_FAIL#Utf8, VALUE#Float64}
Scan Tasks: [
{File {<file://C>:/_Architecture/Data/daft_test.parquet}}
]
Stats = { Approx num rows = 3,951,395, Approx size bytes = 319.84 MiB,
Accumulated selectivity = 0.90 }
Rows emitted = 143,997,800
Bytes read = 246.69 MiB
"]
daft_local_execution::sources::source::SourceNode14 --> daft_local_execution::intermediate_ops::intermediate_op::IntermediateNode13
daft_local_execution::intermediate_ops::intermediate_op::IntermediateNode13 --> daft_local_execution::intermediate_ops::intermediate_op::IntermediateNode6
daft_local_execution::intermediate_ops::intermediate_op::IntermediateNode6 --> daft_local_execution::intermediate_ops::intermediate_op::IntermediateNode5
daft_local_execution::intermediate_ops::intermediate_op::IntermediateNode5 --> daft_local_execution::sinks::blocking_sink::BlockingSinkNode4
daft_local_execution::sinks::blocking_sink::BlockingSinkNode4 --> daft_local_execution::intermediate_ops::intermediate_op::IntermediateNode3
daft_local_execution::intermediate_ops::intermediate_op::IntermediateNode3 --> daft_local_execution::sinks::blocking_sink::BlockingSinkNode2
daft_local_execution::sinks::blocking_sink::BlockingSinkNode2 --> daft_local_execution::intermediate_ops::intermediate_op::IntermediateNode1
daft_local_execution::intermediate_ops::intermediate_op::IntermediateNode1 --> daft_local_execution::sinks::blocking_sink::BlockingSinkNode0Saravana Muthukumar
02/04/2025, 4:34 AMjay
02/04/2025, 8:15 PMColin Ho
02/04/2025, 9:57 PMSaravana Muthukumar
02/05/2025, 4:19 AMColin Ho
02/06/2025, 6:31 AM