[Umbrella] Collect observation metrics at all stages of Spark SQL.
- 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:

### 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
Assessment
This issue has not been assessed yet.