feast icon indicating copy to clipboard operation
feast copied to clipboard

Snowflake support does not include list features

Open adchia opened this issue 3 years ago • 4 comments

Expected Behavior

Snowflake offline store works with list features

Current Behavior

Right now Snowflake produces errors when using list features. This isn't caught by tests because of this skip with the aws provider: https://github.com/feast-dev/feast/blob/master/sdk/python/tests/integration/registration/test_universal_types.py#L39

adchia avatar Feb 03 '22 15:02 adchia

cc @sfc-gh-madkins

adchia avatar Feb 03 '22 16:02 adchia

@adchia @woop here is the docs related to semi-structured data in Snowflake: https://docs.snowflake.com/en/sql-reference/data-types-semistructured.html#array

Arrays for list feature types are possible in Snowflake, but there is no enforcement of data type within the array, its stored as type VARIANT, where VARIANT, can store values of any other type, including OBJECT and ARRAY, up to a maximum size of 16 MB. Snowflake does not currently support fixed-size arrays or arrays of elements of a specific non-VARIANT type.

Im curious to your initial thoughts on this. We can certainly test an array if it complies with a certain data type that is supported or throw an error. If it does then execellent, if not we throw an error to remove the feature

sfc-gh-madkins avatar Feb 19 '22 04:02 sfc-gh-madkins

This issue has been automatically marked as stale because it has not had recent activity. It will be closed if no further activity occurs. Thank you for your contributions.

stale[bot] avatar Jun 19 '22 10:06 stale[bot]

I think we can take the approach described by @sfc-gh-madkins

achals avatar Jul 13 '22 21:07 achals

This issue has been automatically marked as stale because it has not had recent activity. It will be closed if no further activity occurs. Thank you for your contributions.

stale[bot] avatar Dec 16 '22 03:12 stale[bot]

bump

sfc-gh-madkins avatar Dec 16 '22 03:12 sfc-gh-madkins

This issue has been automatically marked as stale because it has not had recent activity. It will be closed if no further activity occurs. Thank you for your contributions.

stale[bot] avatar Apr 26 '23 01:04 stale[bot]

bump

On Tue, Apr 25, 2023 at 8:30 PM stale[bot] @.***> wrote:

This issue has been automatically marked as stale because it has not had recent activity. It will be closed if no further activity occurs. Thank you for your contributions.

— Reply to this email directly, view it on GitHub https://github.com/feast-dev/feast/issues/2280#issuecomment-1522633970, or unsubscribe https://github.com/notifications/unsubscribe-auth/ATSRCU5DJDXD5YTTP23ET2LXDB3FFANCNFSM5NPKRUQQ . You are receiving this because you were assigned.Message ID: @.***>

sfc-gh-madkins avatar Apr 26 '23 23:04 sfc-gh-madkins

Looks like we'll need this for our implementation so I'll be taking a look at implementing this in our sprint starting tomorrow.

JohnLemmonMedely avatar Sep 05 '23 19:09 JohnLemmonMedely

@JohnLemmonMedely I am afraid snowflake does not support structured types on the server side. All semistructured types are currently returns as strings. We are working to support this in the next couple of quarters.

sfc-gh-madkins avatar Sep 05 '23 19:09 sfc-gh-madkins

@sfc-gh-madkins I was planning on using the method you suggested earlier and attempt to cast them to what they need to be and throwing errors when we can't. It'll be better to guarantee data types via Snowflake but until that's possible I can enforce those guarantees myself via the data pipeline.

We can certainly test an array if it complies with a certain data type that is supported or throw an error. If it does then execellent, if not we throw an error to remove the feature

JohnLemmonMedely avatar Sep 05 '23 21:09 JohnLemmonMedely

will look forward to the PR :)

On Tue, Sep 5, 2023 at 4:51 PM John Lemmon @.***> wrote:

@sfc-gh-madkins https://github.com/sfc-gh-madkins I was planning on using the method you suggested earlier and attempt to cast them to what they need to be and throwing errors when we can't. It'll be better to guarantee data types via Snowflake but until that's possible I can enforce those guarantees myself via the data pipeline.

We can certainly test an array if it complies with a certain data type that is supported or throw an error. If it does then execellent, if not we throw an error to remove the feature

— Reply to this email directly, view it on GitHub https://github.com/feast-dev/feast/issues/2280#issuecomment-1707355768, or unsubscribe https://github.com/notifications/unsubscribe-auth/ATSRCU3WGHHQXHAVBAE467LXY6NH7ANCNFSM5NPKRUQQ . You are receiving this because you were mentioned.Message ID: @.***>

sfc-gh-madkins avatar Sep 05 '23 22:09 sfc-gh-madkins

@sfc-gh-madkins I had to pause my work on the PR but we were able to use my fork in production. I'm trying to see if it makes sense at this point to get the PR ready to merge or if I should just wait on Snowflake adding structured types instead. Is that still on the Roadmap to add early next year?

JohnLemmonMedely avatar Dec 08 '23 17:12 JohnLemmonMedely

let me ping to see where this is at

On Fri, Dec 8, 2023 at 11:41 AM John Lemmon @.***> wrote:

@sfc-gh-madkins https://github.com/sfc-gh-madkins I had to pause my work on the PR but we were able to use my fork in production. I'm trying to see if it makes sense at this point to get the PR ready to merge or if I should just wait on Snowflake adding structured types instead. Is that still on the Roadmap to add early next year?

— Reply to this email directly, view it on GitHub https://github.com/feast-dev/feast/issues/2280#issuecomment-1847578811, or unsubscribe https://github.com/notifications/unsubscribe-auth/ATSRCU4FFUY62RAO4MRN3XTYINGNJAVCNFSM5NPKRUQ2U5DIOJSWCZC7NNSXTN2JONZXKZKDN5WW2ZLOOQ5TCOBUG42TOOBYGEYQ . You are receiving this because you were mentioned.Message ID: @.***>

sfc-gh-madkins avatar Dec 08 '23 18:12 sfc-gh-madkins

@sfc-gh-madkins just following up on if Snowflake still plans on supporting structured types soon. I just need to know if work will start on it over the next quarter or not.

JohnLemmonMedely avatar Dec 15 '23 16:12 JohnLemmonMedely

negative. this is continuing to be pushed out due to lack of customer demand. however, we do now have vector support capabilities for both fixed and floating point 32 bit numbers, however, the client arent ready yet

On Fri, Dec 15, 2023 at 10:09 AM John Lemmon @.***> wrote:

@sfc-gh-madkins https://github.com/sfc-gh-madkins just following up on if Snowflake still plans on supporting structured types soon. I just need to know if work will start on it over the next quarter or not.

— Reply to this email directly, view it on GitHub https://github.com/feast-dev/feast/issues/2280#issuecomment-1858122582, or unsubscribe https://github.com/notifications/unsubscribe-auth/ATSRCUZRMMJRFCX2LJLWSOLYJRY5JAVCNFSM5NPKRUQ2U5DIOJSWCZC7NNSXTN2JONZXKZKDN5WW2ZLOOQ5TCOBVHAYTEMRVHAZA . You are receiving this because you were mentioned.Message ID: @.***>

sfc-gh-madkins avatar Dec 16 '23 05:12 sfc-gh-madkins