Skip to content

Get_historical_features() Does Not Have Option To Return Distributed Dataframe Like A Spark DF #2504

Closed

Description

@adamluba1

When doing get_historical_features().to_df on a large training dataset in databricks I am hitting memory full errors. Since to_df is returning the data as a pandas dataframe it is not able to use the full capacity of the databricks cluster and distribute it across the different nodes the way a spark dataframe might.

Activity

  1. adchia commented on Apr 12, 2022

    @adchia
    Collaborator
  2. adamluba1 commented on Apr 12, 2022

    @adamluba1
    Author

    @adchia but this is only available if you are using a spark offline store correct? for example, you cannot query a snowflake table and return it as a spark df, correct?

  3. adchia commented on May 1, 2022

    @adchia
    Collaborator

    Ah correct. Right now it only allows returning it in arrow batches. Is the intention to be able to materialize through a spark df? Or to do training e.g. with MLLib.

    In either case, might make sense for the SparkOfflineStore (this naming doesn't really make too much sense...) to be able to query from data warehouses (but maybe run the join within the DWH)

  4. reopened this on May 1, 2022
  5. adamluba1 commented on May 3, 2022

    @adamluba1
    Author

    @adchia The intention is to just return snowflake data offline as a training dataset with the results being a distributed spark df. Is it possible to use snowflake as the source with the SparkOfflineStore? I found a way to hack around it by manipulating the to_sql() string and issuing that as a spark query using snowflakes spark connector, but wondering if there is a cleaner way

  6. adchia commented on May 5, 2022

    @adchia
    Collaborator

    That works as a start and I don't think it's that hacky. Would be happy to check that in.

    An alternative would be to flush the output of Snowflakes query to S3 and read that, but that also seems pretty hacky

  7. Repository owner moved this from Todo to Done in Feast Roadmapon Nov 23, 2022
  8. added a commit that references this issue on Dec 5, 2022
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Type

    No type

    Projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions