digraph G {
0 [labelType="html" label="<br><b>AdaptiveSparkPlan</b><br><br>"];
subgraph cluster1 {
isCluster="true";
label="WholeStageCodegen (2)\n \nduration: 14 ms";
2 [labelType="html" label="<b>HashAggregate</b><br><br>time in aggregation build: 13 ms<br>number of output rows: 1"];
}
3 [labelType="html" label="<b>Exchange</b><br><br>shuffle records written: 1<br>local merged chunks fetched: 0<br>shuffle write time total (min, med, max (stageId: taskId))<br>59 ms (0 ms, 59 ms, 59 ms (stage 1.0: task 1))<br>remote merged bytes read: 0.0 B<br>local merged blocks fetched: 0<br>corrupt merged block chunks: 0<br>remote merged reqs duration: 0 ms<br>remote merged blocks fetched: 0<br>records read: 1<br>local bytes read: 59.0 B<br>fetch wait time: 0 ms<br>remote bytes read: 0.0 B<br>merged fetch fallback count: 0<br>local blocks read: 1<br>remote merged chunks fetched: 0<br>remote blocks read: 0<br>data size total (min, med, max (stageId: taskId))<br>16.0 B (0.0 B, 16.0 B, 16.0 B (stage 1.0: task 1))<br>local merged bytes read: 0.0 B<br>number of partitions: 1<br>remote reqs duration: 0 ms<br>remote bytes read to disk: 0.0 B<br>shuffle bytes written total (min, med, max (stageId: taskId))<br>59.0 B (0.0 B, 59.0 B, 59.0 B (stage 1.0: task 1))"];
subgraph cluster4 {
isCluster="true";
label="WholeStageCodegen (1)\n \nduration: 15 ms";
5 [labelType="html" label="<b>HashAggregate</b><br><br>time in aggregation build: 1 ms<br>number of output rows: 1"];
}
6 [labelType="html" label="<b>InMemoryTableScan</b><br><br>number of output rows: 11,263"];
subgraph cluster7 {
isCluster="true";
label="WholeStageCodegen (1)\n \nduration: total (min, med, max (stageId: taskId))\n3.4 s (0 ms, 3.4 s, 3.4 s (stage 0.0: task 0))";
8 [labelType="html" label="<b>Scan JDBCRelation((<br> SELECT DISTINCT<br> v.brand_context_id,<br> v.supplier_id,<br> v.entity_name,<br> v.city,<br> v.state,<br> v.country,<br> v.supplier_type,<br> v.declaring_supplier_id,<br> v.canonical_id,<br> v.is_primary,<br> COALESCE(v.threshold, 0.9) AS threshold,<br> v.create_date<br> FROM vw_all_suppliers_for_dedup v<br> ) AS all_suppliers) [numPartitions=1] </b><br><br>number of output rows: 11,263"];
}
2->0;
3->2;
5->3;
6->5;
8->6;
}
9
AdaptiveSparkPlan isFinalPlan=true
HashAggregate(keys=[], functions=[count(1)])
WholeStageCodegen (2)
Exchange SinglePartition, ENSURE_REQUIREMENTS, [plan_id=41]
HashAggregate(keys=[], functions=[partial_count(1)])
WholeStageCodegen (1)
InMemoryTableScan
Scan JDBCRelation((
SELECT DISTINCT
v.brand_context_id,
v.supplier_id,
v.entity_name,
v.city,
v.state,
v.country,
v.supplier_type,
v.declaring_supplier_id,
v.canonical_id,
v.is_primary,
COALESCE(v.threshold, 0.9) AS threshold,
v.create_date
FROM vw_all_suppliers_for_dedup v
) AS all_suppliers) [numPartitions=1] [brand_context_id#0,supplier_id#1,entity_name#2,city#3,state#4,country#5,supplier_type#6,declaring_supplier_id#7,canonical_id#8,is_primary#9,threshold#10,create_date#11] PushedFilters: [], ReadSchema: struct<brand_context_id:string,supplier_id:string,entity_name:string,city:string,state:string,cou...
WholeStageCodegen (1)
== Physical Plan ==
AdaptiveSparkPlan (12)
+- == Final Plan ==
* HashAggregate (8)
+- ShuffleQueryStage (7), Statistics(sizeInBytes=16.0 B, rowCount=1)
+- Exchange (6)
+- * HashAggregate (5)
+- TableCacheQueryStage (4), Statistics(sizeInBytes=2018.1 KiB, rowCount=1.13E+4)
+- InMemoryTableScan (1)
+- InMemoryRelation (2)
+- * Scan JDBCRelation((
SELECT DISTINCT
v.brand_context_id,
v.supplier_id,
v.entity_name,
v.city,
v.state,
v.country,
v.supplier_type,
v.declaring_supplier_id,
v.canonical_id,
v.is_primary,
COALESCE(v.threshold, 0.9) AS threshold,
v.create_date
FROM vw_all_suppliers_for_dedup v
) AS all_suppliers) [numPartitions=1] (3)
+- == Initial Plan ==
HashAggregate (11)
+- Exchange (10)
+- HashAggregate (9)
+- InMemoryTableScan (1)
+- InMemoryRelation (2)
+- * Scan JDBCRelation((
SELECT DISTINCT
v.brand_context_id,
v.supplier_id,
v.entity_name,
v.city,
v.state,
v.country,
v.supplier_type,
v.declaring_supplier_id,
v.canonical_id,
v.is_primary,
COALESCE(v.threshold, 0.9) AS threshold,
v.create_date
FROM vw_all_suppliers_for_dedup v
) AS all_suppliers) [numPartitions=1] (3)
(1) InMemoryTableScan
Output: []
(2) InMemoryRelation
Arguments: [brand_context_id#0, supplier_id#1, entity_name#2, city#3, state#4, country#5, supplier_type#6, declaring_supplier_id#7, canonical_id#8, is_primary#9, threshold#10, create_date#11], CachedRDDBuilder(org.apache.spark.sql.execution.columnar.DefaultCachedBatchSerializer@730ae8bf,StorageLevel(disk, memory, deserialized, 1 replicas),*(1) Scan JDBCRelation((
SELECT DISTINCT
v.brand_context_id,
v.supplier_id,
v.entity_name,
v.city,
v.state,
v.country,
v.supplier_type,
v.declaring_supplier_id,
v.canonical_id,
v.is_primary,
COALESCE(v.threshold, 0.9) AS threshold,
v.create_date
FROM vw_all_suppliers_for_dedup v
) AS all_suppliers) [numPartitions=1] [brand_context_id#0,supplier_id#1,entity_name#2,city#3,state#4,country#5,supplier_type#6,declaring_supplier_id#7,canonical_id#8,is_primary#9,threshold#10,create_date#11] PushedFilters: [], ReadSchema: struct<brand_context_id:string,supplier_id:string,entity_name:string,city:string,state:string,cou...
,None)
(3) Scan JDBCRelation((
SELECT DISTINCT
v.brand_context_id,
v.supplier_id,
v.entity_name,
v.city,
v.state,
v.country,
v.supplier_type,
v.declaring_supplier_id,
v.canonical_id,
v.is_primary,
COALESCE(v.threshold, 0.9) AS threshold,
v.create_date
FROM vw_all_suppliers_for_dedup v
) AS all_suppliers) [numPartitions=1] [codegen id : 1]
Output [12]: [brand_context_id#0, supplier_id#1, entity_name#2, city#3, state#4, country#5, supplier_type#6, declaring_supplier_id#7, canonical_id#8, is_primary#9, threshold#10, create_date#11]
ReadSchema: struct<brand_context_id:string,supplier_id:string,entity_name:string,city:string,state:string,country:string,supplier_type:string,declaring_supplier_id:string,canonical_id:string,is_primary:boolean,threshold:double,create_date:date>
(4) TableCacheQueryStage
Output: []
Arguments: 0
(5) HashAggregate [codegen id : 1]
Input: []
Keys: []
Functions [1]: [partial_count(1)]
Aggregate Attributes [1]: [count#279L]
Results [1]: [count#280L]
(6) Exchange
Input [1]: [count#280L]
Arguments: SinglePartition, ENSURE_REQUIREMENTS, [plan_id=41]
(7) ShuffleQueryStage
Output [1]: [count#280L]
Arguments: 1
(8) HashAggregate [codegen id : 2]
Input [1]: [count#280L]
Keys: []
Functions [1]: [count(1)]
Aggregate Attributes [1]: [count(1)#96L]
Results [1]: [count(1)#96L AS count#97L]
(9) HashAggregate
Input: []
Keys: []
Functions [1]: [partial_count(1)]
Aggregate Attributes [1]: [count#279L]
Results [1]: [count#280L]
(10) Exchange
Input [1]: [count#280L]
Arguments: SinglePartition, ENSURE_REQUIREMENTS, [plan_id=15]
(11) HashAggregate
Input [1]: [count#280L]
Keys: []
Functions [1]: [count(1)]
Aggregate Attributes [1]: [count(1)#96L]
Results [1]: [count(1)#96L AS count#97L]
(12) AdaptiveSparkPlan
Output [1]: [count#97L]
Arguments: isFinalPlan=true