-
Notifications
You must be signed in to change notification settings - Fork 1.2k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
split datafusion-physical-plan sub-module #1754
Comments
My eventual plan is to have a dependency hierarchy like:
I am trying to extract execution first, then I will extract datasource, and then physical plan |
End state:
Specific dependencies I need to do this:
|
Update 2023-03-27: I have moved To move datasource into its own crate I need to do the following two non trivial API changes (added to the list above)
Here are the file_format uses (I don't think this will be major)
The /// Create an ExecutionPlan that will scan the table.
/// The table provider will be usually responsible of grouping
/// the source data into partitions that can be efficiently
/// parallelized or distributed.
async fn scan(
&self,
state: &SessionState,
projection: Option<&Vec<usize>>,
filters: &[Expr],
// limit can be used to reduce the amount scanned
// from the datasource as a performance optimization.
// If set, it contains the amount of rows needed by the `LogicalPlan`,
// The datasource should return *at least* this number of rows if available.
limit: Option<usize>,
) -> Result<Arc<dyn ExecutionPlan>>; |
I am actively working on this -- after a few tries my current plan is to to end up with this dependency diagram (aka datasource and listing table need to depend on physical_plan I think) More PR to come
|
I tried extracting physical_plan again after #6516 and here is the list of things I needed to do (which can be done as smaller PRs):
Also I need to figure out how to remove all uses of |
Is your feature request related to a problem or challenge? Please describe what you are trying to do.
A clear and concise description of what the problem is. Ex. I'm always frustrated when [...]
(This section helps Arrow developers understand the context and why for this feature, in addition to the what)
Describe the solution you'd like
A clear and concise description of what you want to happen.
Describe alternatives you've considered
A clear and concise description of any alternative solutions or features you've considered.
Additional context
Add any other context or screenshots about the feature request here.
The text was updated successfully, but these errors were encountered: