It is necessary to read a large amount of data, and spark/flink connectors use this method to read data.
Call apiļ¼/api///_query_plan Specifically, can see: https://doris.apache.org/zh-CN/docs/dev/admin-manual/http-actions/fe/table-query-plan-action This interface will return the tabletID hit by the corresponding SQL and the distributed backend information
Interact with BE through Thrift interface, Thrift interface definition can be seen TDorisExternalService
TScanOpenResult open(1: TScanOpenParams params);
TScanBatchResult getNext(1: TScanNextBatchParams params);
TScanCloseResult close(1: TScanCloseParams params);
Read data through Arrow and convert it to row data
For more design documents, please refer to: https://github.com/apache/doris/issues/1525