-
Notifications
You must be signed in to change notification settings - Fork 1.3k
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
Add library guide for table provider and catalog providers #7287
Conversation
I think the current failure is related to #7286... I'll rebase and relook when it's merged. |
Thank you @tshauck -- I will review this later today |
3ff3acd
to
090b42e
Compare
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
|
||
# Adding User Defined Functions: Scalar/Window/Aggregate | ||
|
||
Coming Soon |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I think as part of merging this PR I can file some subtasks to fill out these other sections.
|
||
As mentioned, `scan` returns an execution plan, and in particular a `Result<Arc<dyn ExecutionPlan>>`. The core of this is returning something that can be dynamically dispatched to an `ExecutionPlan`. And as per the general DataFusion idea, we'll need to implement it. | ||
|
||
#### Execution Plan |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I wonder if the docs/source/library-user-guide/execution-plans.md
section should direct here as it has an example of execution plans 🤔
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
- `FileFormat` - a trait for reading a file format | ||
- `ListingTableProvider` - a useful trait for implementing a `TableProvider` that lists files in a directory | ||
|
||
[ex]: https://github.com/apache/arrow-datafusion/blob/a5e86fae3baadbd99f8fd0df83f45fde22f7b0c6/datafusion-examples/examples/custom_datasource.rs#L214C1-L276 |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Leaving links to the docs.rs versions might be more maintainable
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Apologies, not sure how to do this. I tried https://docs.rs/crate/datafusion/latest/source/, but the examples aren't there from what I can tell.
Thanks for all the feedback! I'll work through it later this evening and follow up on anything. |
Co-authored-by: Andrew Lamb <[email protected]>
Co-authored-by: Andrew Lamb <[email protected]>
Co-authored-by: Andrew Lamb <[email protected]>
Co-authored-by: Andrew Lamb <[email protected]>
Thanks for the review, I think I got to the feedback. I can try to do the UDF page, but I don't have enough experience with the other areas to provide good info (though I'd like to read the one on using exprs 😄 ). |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
it's a good job and start the guide to user and teach user to use the datafusion in their project as a lib
LGTM
Great work -- thanks again @tshauck -- I will file some additional tickets for the "Coming Soon" sections as well |
Follow on tickets filed: #7014 (comment) |
Which issue does this PR close?
Closes #Related to #7014This won't finish #7014, but adds the skeleton described in that issue as well as content for the custom table provider and catalog. I can also add some info on Scalar UDFs, but am not sure I know enough about the others to write something w/o a summary to expand on.
Hope this is what you'all are looking for, certainly open to feedback.
Finally, I'm getting some unrelated (I think) warnings, are these known?
Rationale for this change
It was requested in #7014. I also would've found this useful for exon.
Are these changes tested?
I locally generated the docs, per the README. Ex..
Are there any user-facing changes?
Yes, this would update the docs users could read.