Skip to content

Getting started guide for new users (who want to use DataFusion in their project)  #7014

Closed

Description

@alamb

Is your feature request related to a problem or challenge?

If we want to have DataFusion used as the core of many new systems, we need it to be as easy as possible for someone to get their idea working on top of DataFusion.

The current user guide I think helps setup the basics of the project and get a "hello world" style program going but then kind of leave the reader in a "now what" type situation: https://arrow.apache.org/datafusion/user-guide/example-usage.html

Describe the solution you'd like

I would like a document, perhaps similar in style to the polars user guide: https://pola-rs.github.io/polars-book/user-guide/

This User Guide is an introduction to the Polars DataFrame library. Its goal is to introduce you to Polars by going through examples and comparing it to other solutions. Some design choices are introduced here. The guide will also introduce you to optimal usage of Polars.

Basically I am thinking of something that would have helped @bubbajoe get up to speed

The examples directory holds a bunch of examples: https://github.com/apache/arrow-datafusion/tree/main/datafusion-examples

Potential outline:

Describe alternatives you've considered

No response

Additional context

This idea was suggested by @MrPowers

Activity

  1. alamb commented on Jul 18, 2023

    @alamb
    ContributorAuthor

    If someone wanted to help out the DataFusion project helping with this one would be awesome. A good first step would be to make the skeleton of the topics above in https://github.com/apache/arrow-datafusion/tree/main/docs and leave placeholder text (like "Coming Soon")

    Then we can work together on writing the content in a few different PRs

  2. MrPowers commented on Jul 18, 2023

    @MrPowers

    This sounds great, really excited!

    We'll either want two user guides or one user guide that's half in Python / half in Rust.

    I guess that 99% of the users that want to query data via an API will want to do so in SQL / Python. The Python DataFrame user guide is way more important than the Rust one.

    Users leveraging DataFusion to build tools for other engines (e.g. delta-rs) are much more likely to be using Rust.

    Perhaps we divide the documentation as follows:

    I don't think we should invest in building out the DataFusion Rust DataFrame API docs yet because it's a lower ROI activity. We should build a URL structure that allows for this however.

  3. alamb commented on Jul 19, 2023

    @alamb
    ContributorAuthor

    The Python DataFrame user guide is way more important than the Rust one.

    I agree this is more important for "end users" rather than developers who are building with Rust

    Perhaps we divide the documentation as follows:

    That sounds great -- I filed apache/datafusion-python#432 to track the work for the python bindings

  4. changed the title [-]Getting started guide for new users (who want to use DatatFusion in their proejct) [/-] [+]Getting started guide for new users (who want to use DataFusion in their project) [/+] on Jul 25, 2023
  5. alamb commented on Aug 16, 2023

    @alamb
    ContributorAuthor

    I filed a bunch of tickets for follow on work and update the description of this ticket
    #7302
    #7304
    #7305
    #7306
    #7307
    #7308

  6. aaryyya commented on Apr 6, 2025

    @aaryyya

    Hey is this still active?

  7. alamb commented on Apr 6, 2025

    @alamb
    ContributorAuthor

    Hi @aaryyya -- I think thanks to @tshauck and others with the library user guide, this is mostly done now (so closing it)

    Perhaps you could review the library user guide and help improve it anywhere it is not clear or is missing details

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    Type

    No type

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions