apache / apache/kyuubi

[Umbrella] Collect observation metrics at all stages of Spark SQL.

Open
#6,021 0 comments 1 reaction 1 assignee Claimed by @wForget View on GitHub
kind:umbrella priority:major
Dominant language
Scala
Stars
2.4k
Forks
1k
PR merge metrics
No merged PRs in 30d

Description

### Code of Conduct

- [X] I agree to follow this project's [Code of Conduct](https://www.apache.org/foundation/policies/conduct)

### Search before asking

- [X] I have searched in the [issues](https://github.com/apache/kyuubi/issues) and found no similar issues.

### Describe the proposal

In the process of upgrading the spark version or introducing new optimizations, in order to ensure data consistency, we usually double-run SQL in multiple environments, and then compare the results to determine inconsistent behavior. But when the results are inconsistent, it is difficult for us to quickly find the stage where the inconsistency first occurred.

Spark provides `Observation` to allows inserting observers into dataframes to define and obtain observation metrics.

I want to insert CRC checksum metric observers at all stages of SQL so that inconsistent stages can be found quickly.

I made a simple implementation, like:

![9a773848b2d6cbd9e4e66a39f533081](https://github.com/apache/kyuubi/assets/17894939/64a9b4b0-4203-448b-85d3-7c8ad88d66f4)

### Task list

- [ ] #6017
- [ ] Get results of SQL observations
- [ ] #6024
- [ ] #6031

### Are you willing to submit PR?

- [X] Yes. I would be willing to submit a PR with guidance from the Kyuubi community to improve.
- [ ] No. I cannot submit a PR at this time.

Contributor guide

Open the contributing guide

Assessment

This issue has not been assessed yet.

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.