[Improvement]: Support query on BaseStore
Search before asking
- [X] I have searched in the issues and found no similar issues.
What would you like to be improved?
According to the description of Arctic MixedFormat, a MixedFormat table consists of a Change Store and a BaseStore. Currently, both Spark engine and Trino engine support accessing the Change Store under MixedFormat, which is useful in data analysis scenarios. In order to further match the description of MixedFormat, we should also support accessing the BaseStore directly as a sub-table.
There are two scenarios for accessing the BaseStore directly:
- when better query performance is desired and high query responsiveness is required, but lower data freshness is acceptable, the BaseStore can be queried directly;
- when executing Timetravel, as MixedFormat does not yet support overall Timetravel, the BaseStore will be exposed as an Iceberg sub-table, allowing Timetravel operations to be performed directly on the BaseStore.
How should we improve?
- Support to visit BaseStore via
db.table.base - Support query on BaseStore like
select * from db.table.base - Query on BaseStore should be implemented by Iceberg reader
- Should support all iceberg table query features on
db.table.base - Should not support any writer features on
db.table.base - Should support features above on Spark, Trino and Flink Batch.
Are you willing to submit PR?
- [ ] Yes I am willing to submit a PR!
Subtasks
- #1406
- #1407
Code of Conduct
- [X] I agree to follow this project's Code of Conduct
Thanks for proposing this issue.
- Would you first clarify which search engines need to be supported?
- It will be nice if you explain why this function is needed
Trino already supports querying the base table.
like
select * from {tableName}#base.
reference:https://arctic.netease.com/ch/mpp/trino/#basestore
Is there any extra work to do?
This issue has been automatically marked as stale because it has been open for 180 days with no activity. It will be closed in next 14 days if no further activity occurs. To permanently prevent this issue from being considered stale, add the label 'not-stale', but commenting on the issue is preferred when possible.