Skip to content
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

Implementing initial on demand transforms for historical retrieval to_df #1824

Merged
merged 2 commits into from
Sep 2, 2021

Conversation

adchia
Copy link
Collaborator

@adchia adchia commented Sep 1, 2021

What this PR does / why we need it:
Sets up a limited on demand transform for historical retrieval for to_df (not to_arrow yet)

Which issue(s) this PR fixes:

Fixes #

Does this PR introduce a user-facing change?:

- Add support for row-level on-demand transformations of feature view features in get_offline_features.
- Requires offline store implementations to now also have full_feature_name and on_demand_feature_views properties

@achals
Copy link
Member

achals commented Sep 2, 2021

Now that #1803 has been merged in, can you update this diff to only have the changes for the historical retrieval API?

Signed-off-by: Danny Chiao <[email protected]>
@adchia adchia changed the title [WIP] Implementing initial on demand transforms for historical retrieval Implementing initial on demand transforms for historical retrieval to_df Sep 2, 2021
@codecov-commenter
Copy link

codecov-commenter commented Sep 2, 2021

Codecov Report

Merging #1824 (e2a7830) into master (9dc9e60) will decrease coverage by 0.00%.
The diff coverage is 87.50%.

Impacted file tree graph

@@            Coverage Diff             @@
##           master    #1824      +/-   ##
==========================================
- Coverage   84.60%   84.60%   -0.01%     
==========================================
  Files          94       94              
  Lines        6946     6989      +43     
==========================================
+ Hits         5877     5913      +36     
- Misses       1069     1076       +7     
Flag Coverage Δ
integrationtests 84.53% <87.50%> (+0.25%) ⬆️
unittests 63.39% <69.64%> (+0.02%) ⬆️

Flags with carried forward coverage won't be shown. Click here to find out more.

Impacted Files Coverage Δ
...python/feast/infra/offline_stores/offline_utils.py 91.11% <ø> (ø)
sdk/python/feast/infra/provider.py 88.13% <50.00%> (-0.66%) ⬇️
...python/feast/infra/offline_stores/offline_store.py 82.92% <81.25%> (-1.08%) ⬇️
sdk/python/feast/infra/offline_stores/redshift.py 90.09% <90.00%> (-0.21%) ⬇️
sdk/python/feast/infra/offline_stores/file.py 96.46% <92.30%> (-0.69%) ⬇️
sdk/python/feast/infra/offline_stores/bigquery.py 80.85% <93.33%> (+0.54%) ⬆️

Continue to review full report at Codecov.

Legend - Click here to learn more
Δ = absolute <relative> (impact), ø = not affected, ? = missing data
Powered by Codecov. Last update 9dc9e60...e2a7830. Read the comment docs.

@adchia adchia added the kind/feature New feature or request label Sep 2, 2021
@adchia
Copy link
Collaborator Author

adchia commented Sep 2, 2021

Now that #1803 has been merged in, can you update this diff to only have the changes for the historical retrieval API?

Done!

Copy link
Member

@achals achals left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

It seems like the on demand feature views are not being consumed by the jobs anywhere - is that intentional?

Comment on lines +31 to +39
@property
@abstractmethod
def full_feature_names(self) -> bool:
pass

@property
@abstractmethod
def on_demand_feature_views(self) -> Optional[List[OnDemandFeatureView]]:
pass
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Why are we changing the API for the base class here and adding these fields? Are they necessary?

Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

NVM, I see why they're needed now. While I think this is okay for a first pass I want to see if we can get away from adding these additional fields on to the job. I think they are pretty inelegant for a user to have to implement themselves.

Copy link
Member

@achals achals left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

/lgtm

Comment on lines +31 to +39
@property
@abstractmethod
def full_feature_names(self) -> bool:
pass

@property
@abstractmethod
def on_demand_feature_views(self) -> Optional[List[OnDemandFeatureView]]:
pass
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

NVM, I see why they're needed now. While I think this is okay for a first pass I want to see if we can get away from adding these additional fields on to the job. I think they are pretty inelegant for a user to have to implement themselves.

@feast-ci-bot
Copy link
Collaborator

[APPROVALNOTIFIER] This PR is APPROVED

This pull-request has been approved by: achals, adchia

The full list of commands accepted by this bot can be found here.

The pull request process is described here

Needs approval from an approver in each of these files:

Approvers can indicate their approval by writing /approve in a comment
Approvers can cancel approval by writing /approve cancel in a comment

@feast-ci-bot feast-ci-bot merged commit fc448dc into feast-dev:master Sep 2, 2021
@adchia adchia deleted the odfv-offline branch September 2, 2021 23:27
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

Successfully merging this pull request may close these issues.

4 participants