apache / apache/kyuubi

[Umbrella] Support Spark Connect Frontend/Backend

Open
#6,324 0 comments 1 reaction 0 assignees 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

This issue is from #5383

### Task list
- [ ] add new module common-grpc to support grpc server
- [ ] Implement Spark Connect Engine
- [ ] compatible spark connect grpc protocl based on https://github.com/apache/spark/blob/master/connector/connect/common/src/main/protobuf/spark/connect/base.proto
- [ ] implement a grpc client based on https://github.com/apache/spark/blob/master/connector/connect/common/src/main/scala/org/apache/spark/sql/connect/client/SparkConnectClient.scala
- [ ] add SparkConnectFrontendService
- [ ] add SparkConnectBackendService
- [ ] add SparkConnectOperation and SparkConnectSession
- [ ] add ThriftToRpcRequestParser to transform thriftRequest to rpcRequest
- [ ] add RpcToThriftResponseParser to transform rpcResponse to thriftResponse
- [ ] implement all operation based on grpc client
- [ ] implement engine
- [ ] kyuubi server could provide sparkConnectEngine
- [ ] add IT based on SparkSQLEngine
- [ ] add Docs

### 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

Research direction

This umbrella issue spans a new common-grpc module, Spark Connect protobuf compatibility, frontend and backend services, operations and sessions, integration tests based on SparkSQLEngine, and documentation. Start by reading the referenced Spark base.proto and SparkConnectClient.scala, then inspect the existing SparkSQLEngine integration tests. Done means the listed Spark Connect engine tasks, IT coverage, and docs are completed.

Written by the indexing model from the issue text.

Assessment

Tech stack
grpc, scala, spark
Domain
api, backend, data-engineering, distributed-systems
Issue type
Feature
Difficulty
5/5
Estimated time
Over a week
Activity status
Stale
Clarity
Needs clarification
Newbie friendliness
15/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.