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

Feast integration WIP #1163

Merged
merged 3 commits into from
Jul 25, 2024
Merged

Feast integration WIP #1163

merged 3 commits into from
Jul 25, 2024

Conversation

rebekah-lawrence
Copy link
Contributor

Making this available for review - I'll be back on the 22nd, and we can pick this up again; I have not started the tutorials, but this covers the majority of the other work identified in the doc plan

Sorry, @oliverhowell with no sprint active, I couldn't find a way to create a ticket on the doc board for this; we can jimmy rig it to connect the two later

Making this available for review - I'll be back on the 22nd, and we can pick this up again; I have not started the tutorials, but this covers the majority of the other work identified in the doc plan
Copy link

netlify bot commented Jul 4, 2024

Deploy Preview for hardcore-allen-f5257d ready!

Name Link
🔨 Latest commit 8a0a583
🔍 Latest deploy log https://app.netlify.com/sites/hardcore-allen-f5257d/deploys/66a2239acb81f90009e82730
😎 Deploy Preview https://deploy-preview-1163--hardcore-allen-f5257d.netlify.app
📱 Preview on mobile
Toggle QR Code...

QR Code

Use your smartphone camera to open QR code link.

To edit notification comments on pull requests, go to your Netlify site configuration.

@oliverhowell
Copy link
Contributor

Sorry, @oliverhowell with no sprint active, I couldn't find a way to create a ticket on the doc board for this; we can jimmy rig it to connect the two later

We can use the existing Feast ticket Fawaz created: https://hazelcast.atlassian.net/browse/AI-62

Copy link
Contributor

@yuce yuce left a comment

Choose a reason for hiding this comment

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

Here are some ideas, will continue to review.

:description: To use a Feast project, you must configure the feature store. The configuration is defined in a YAML configuration file.

{description}

Copy link
Contributor

Choose a reason for hiding this comment

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

It would also be great to introduce the "feature repository" concept.
It's actually a directory that stores configuration and feature definitions.
The user is able to change the feature repository (by default the current dir) using the -c DIRECTORY flag.
https://docs.feast.dev/reference/feature-repository

Comment on lines 46 to 53
cluster_name: <YOUR_CLUSTER_NAME>
cluster_members: [<YOUR_CLUSTER_MEMBERS>]
creds_username: <YOUR_CRED_USERNAME>
creds_password: <YOUR_CRED_PASSWORD>
ca_path: <YOUR_CA_PATH_HERE>
cert_path: <YOUR_CERT_PATH_HERE>
key_path: <YOUR_KEY_PATH_HERE>
ssl_password: <YOUR_SSL_PASSWORD_HERE>
Copy link
Contributor

Choose a reason for hiding this comment

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

The list above seems to be not accurate.
These are the actual configuration keys:

type: "Online store type selector"
cluster_name: default: "Name of the cluster you want to connect. The default cluster name is `dev`"
cluster_members: "List of member addresses which is connected to your cluster default: ['localhost:5701']"
discovery_token: "The discovery token of your Hazelcast Cloud cluster"
ssl_cafile_path: "Absolute path of CA certificates in PEM format"
ssl_certfile_path: "Absolute path of the client certificate in PEM format"
ssl_keyfile_path: "Absolute path of the private key file for the client certificate in the PEM format"
ssl_password: "Password for decrypting the keyfile if it is encrypted"
key_ttl_seconds: "Hazelcast key bin TTL (in seconds) for expiring entities"


* One-to-one mapping of each feature view to a specific IMap data structure
+
This means that every feature view corresponds to an IMap in the Hazelcast cluster, and the entries in that IMap correspond to features of entitites. Each feature value is stored separately, and can be retrieved individually.
Copy link
Contributor

Choose a reason for hiding this comment

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

This paragraph sounds like the user is able to use their pre-existing IMaps and the entries in those with Feast. That's not the case. Feast creates a new IMap for each feature, and the user has no control over the entries in those IMaps.

Copy link
Contributor

@yuce yuce left a comment

Choose a reason for hiding this comment

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

A few more ideas...

Comment on lines 63 to 68
type: hazelcast
cluster_name: <YOUR_CLUSTER_NAME>
ca_path: <YOUR_CA_PATH_HERE>
cert_path: <YOUR_CERT_PATH_HERE>
key_path: <YOUR_KEY_PATH_HERE>
ssl_password: <YOUR_SSL_PASSWORD_HERE>
Copy link
Contributor

Choose a reason for hiding this comment

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

This section needs an update once the configuration keys in the following section are updated.

@oliverhowell oliverhowell changed the title Work in progress Feast integration WIP Jul 12, 2024
Integrating Feast with Hazelcast allows you to do the following:

* Use a Hazelcast cluster for your online data store. An IMap in the cluster contains the feature values, identified by the project and feature view names. You can push data to, and retrieve data from, the IMap to provide a real-time online store
* Connect a gRPC server to stream data. This avoids the need for a temporary IMap sink, provides a real-time solution, and ensures that your data is formatted as expected
Copy link
Contributor

Choose a reason for hiding this comment

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

Suggested change
* Connect a gRPC server to stream data. This avoids the need for a temporary IMap sink, provides a real-time solution, and ensures that your data is formatted as expected
* Connect a Feast feature server to stream data. This provides a real-time solution, and ensures that your features are always fresh.

Copy link
Contributor

@yuce yuce left a comment

Choose a reason for hiding this comment

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

Looks good!

@rebekah-lawrence rebekah-lawrence merged commit ff84d11 into main Jul 25, 2024
5 of 6 checks passed
@rebekah-lawrence rebekah-lawrence deleted the DOCS-Feast-WIP branch July 25, 2024 10:13
oliverhowell pushed a commit to oliverhowell/hz-docs that referenced this pull request Jul 29, 2024
Making this available for review - I'll be back on the 22nd, and we can
pick this up again; I have not started the tutorials, but this covers
the majority of the other work identified in the doc plan

Sorry, @oliverhowell with no sprint active, I couldn't find a way to
create a ticket on the doc board for this; we can jimmy rig it to
connect the two later
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

3 participants