tispark
tispark copied to clipboard
[Proposal] Tispark support insert using SQL
Problem:
TiSpark only support write data using datasource api. Users can‘t write data by insert SQL statement.
Goals
TiSpark supports write data using insert SQL statement with following goals:
- Support with Spark 3.x
- Use friendly with spark SQL
API
spark.sql("insert into tidb_catalog.db.table values(x, x,...)(y, y...)..")
Solutions
The model of Spark datasource V2 is not suitable for TiSpark currently. So we are going to use V1 write in V2 interface.
Implement
- Add new capability to TiDBTable
- Implement V1 Write in V2 interface
- Fix type convert
- Adapt to different spark versions
Design
https://github.com/pingcap/tispark/pull/2464
Implementation
https://github.com/pingcap/tispark/pull/2471/
Test
https://github.com/pingcap/tispark/pull/2471/
Doc
https://github.com/pingcap/tispark/pull/2471/