kyuubi/dev
liangbowen 609071d110 [KYUUBI #4106] Introduce resource file uploading in batch creation via REST API
### _Why are the changes needed?_

to close #4106 .

1. add `POST /batches`API in `BatchesResource` of REST API, which consumes `multipart/form-data` media type to support uploading `resourcefile`. And a `batchRequest` form data part in the JSON format string of `BatchRequest`, as in the required request body of `POST /batches`
2. the uploaded `resourceFile` is saved to a temp local file which will be cleaned up after job execution at the end of  `submitAndMonitorBatchJob`
3. the local temp copy of `resourceFile` will be used as `resource` in `BatchJobSubmission`, eg. as <application-jar> for spark-submit

Todos in follow-up:
1. add a related description in Rest API doc
4. add `multipart` media type support to `RestClient` and implement `createBatchWithUploadingResource` in `BatchRestApi`

### _How was this patch tested?_
- [x] Add some test cases that check the changes thoroughly including negative and positive cases if possible

- [ ] Add screenshots for manual tests if appropriate

- [x] [Run test](https://kyuubi.apache.org/docs/latest/develop_tools/testing.html#running-tests) locally before make a pull request

Closes #4144 from bowenliang123/rest-batch-upload.

Closes #4106

f6723a02 [Bowen Liang] Merge branch 'master' into rest-batch-upload
0dd67245 [liangbowen] correct dependencyList
6365a0cd [liangbowen] introducing resource file upload support in batch creation

Lead-authored-by: liangbowen <liangbowen@gf.com.cn>
Co-authored-by: Bowen Liang <bowenliang@apache.org>
Signed-off-by: liangbowen <liangbowen@gf.com.cn>
2023-01-21 08:37:46 +08:00
..
kyuubi-codecov [KYUUBI #3842] [Improvement] Support maven pom.xml code style check with spotless plugin 2022-11-23 22:08:00 +08:00
kyuubi-tpcds [KYUUBI #3842] [Improvement] Support maven pom.xml code style check with spotless plugin 2022-11-23 22:08:00 +08:00
checkout_pr.sh [KYUUBI #1233] Add checkout_pr.sh script 2021-10-14 13:53:09 +08:00
dependencyList [KYUUBI #4106] Introduce resource file uploading in batch creation via REST API 2023-01-21 08:37:46 +08:00
merge_kyuubi_pr.py [KYUUBI #4020] remove incubating from kyuubi source code 2023-01-04 09:43:20 +08:00
reformat [KYUUBI #3828] [PySpark] Support Python style check with spotless in CI style workflow and reformat tool 2022-11-22 19:44:02 +08:00