GitHub user jueshali added a comment to the discussion: [FEATURE]Support a 
configuration-driven query optimization runtime for Kyuubi Spark SQL extensions 
- For ai

# Example

## Original SQL

```sql
INSERT OVERWRITE TABLE dws_user_pay_day PARTITION(dt='20260714')
SELECT
  a.user_id,
  a.game,
  SUM(b.pay_amount) AS total_pay
FROM ods_user_login_day a
JOIN dwd_pay_detail_day b
  ON a.user_id = b.user_id
WHERE a.dt = '20260714'
  AND b.dt = '20260714'
GROUP BY a.user_id, a.game
```

## Upstream analysis

Historical statistics show:

- duration: `1200s`
- shuffle: `95GB`
- spill disk: `42GB`
- diagnoses: `TASK_SKEW`, `BIG_SPILL_DISK`

AI suggests:

- rebalance before write
- enable skew join
- tune shuffle partitions
- isolate final write stage resources
- send to dual-run validation

## Optimization intent

```json
{
  "version": 1,
  "source": "AI",
  "traceId": "trace-20260714-001",
  "dualRunId": "dual-20260714-abc",
  "writeStrategy": {
    "mode": "rebalance"
  },
  "runtimeStrategy": {
    "shufflePartitions": 128,
    "advisoryPartitionSizeInBytes": "64MB",
    "skewJoinEnabled": true
  },
  "resourceStrategy": {
    "finalStageResourceIsolationEnabled": true,
    "finalStageExecutorCores": 2,
    "finalStageExecutorMemory": "4g"
  }
}
```

## What Kyuubi does

1. Parse the optimization plan into an internal `OptimizationPlan`
2. Apply runtime configs:
   - `spark.sql.shuffle.partitions=128`
   - `spark.sql.adaptive.advisoryPartitionSizeInBytes=64MB`
   - `spark.sql.adaptive.skewJoin.enabled=true`
3. Apply write optimization:
   - rebalance before write
4. Apply final-stage optimization:
   - final-stage resource isolation
   - custom resource profile

## Execution trace

```json
{
  "traceId": "trace-20260714-001",
  "dualRunId": "dual-20260714-abc",
  "source": "AI",
  "appliedActions": [
    {"layer": "session-conf", "action": "set shuffle partitions to 128"},
    {"layer": "session-conf", "action": "enable skew join"},
    {"layer": "post-hoc-resolution", "action": "apply write rebalance"},
    {"layer": "query-stage-prep", "action": "enable final-stage resource 
isolation"}
  ],
  "partialApplied": false
}
```

## Dual-run result

```json
{
  "dualRunId": "dual-20260714-abc",
  "resultValidation": "PASS",
  "durationImprovement": "18%",
  "shuffleReduction": "12%",
  "spillDiskReduction": "35%",
  "recommendation": "PROMOTE"
}
```

## Summary

- historical statistics + AI generate optimization intent
- Kyuubi executes that intent
- trace records what was applied
- dual-run validates correctness and benefit


GitHub link: 
https://github.com/apache/kyuubi/discussions/7563#discussioncomment-17657583

----
This is an automatically sent email for [email protected].
To unsubscribe, please send an email to: 
[email protected]


---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]

Reply via email to