Comments (15)
So the question here is
- Do we allow toggling of the warehouse storage option at the feature level
- or at the system level (Feast deployment)
- or both?
I think we should have the option to both disable warehouse storage on specific features, as well as deploy a Feast instance without a warehouse (serving only)
from feast.
My pull request fixes a typo.. But basically ingestion already supports setting a "no operation" store, for either serving or ingestion. The core api would still need to implement sending it of course.
from feast.
My pull request fixes a typo.. But basically ingestion already supports setting a "no operation" store, for either serving or ingestion. The core api would still need to implement sending it of course.
So the next step is a PR which adds this functionality to core
?
@zhilingc, possible to have a look at this?
from feast.
I'm also working on a PR to make ingestion accept an empty storage spec. Though in reality, that will interpreted as a StorageSpec.defaultInstance(). With empty string as the storeid. Ingestion will then treat this as a noop store.
from feast.
Ok. You might want to remove the validation check that makes declaring a store mandatory when registering a feature as well.
from feast.
Aren't you worried people will register features and they will just all go to noop when they leave it out though? We do need to implement inheriting a system default first.
And then a user needs to be able to override the default to a noop.
Which now that I think about might be a pain. As if they set the store id to an empty string, it will look the same as the default instance, so how will you know when to override it with the default or not?
Remember protos not having optional values means that there's no such thing as a null store id.
from feast.
Aren't you worried people will register features and they will just all go to noop when they leave it out though? We do need to implement inheriting a system default first.
And then a user needs to be able to override the default to a noop.
Which now that I think about might be a pain. As if they set the store id to an empty string, it will look the same as the default instance, so how will you know when to override it with the default or not?
Remember protos not having optional values means that there's no such thing as a null store id.
Isn't a better approach simply to have an option to switch off either store? That we we don't have to look at the value and try to guess whether it should be on or off. I think the default should be inheritance.
from feast.
When is the default declared? Should it be in the configuration when deploying core Feast? Or is it a necessary step that has to be done by the user before registering features (but after deployment)?
from feast.
When is the default declared? Should it be in the configuration when deploying core Feast? Or is it a necessary step that has to be done by the user before registering features (but after deployment)?
I think it should be done during initial installation. That way the user could theoretically have all data storage abstracted away from them.
from feast.
@zhilingc yes it should be a system default. So it should come with the system.
Users shouldn't even be creating new stores? I think we made store specs creatable accidentally to be honest, because all the others are. They should probably only ever be created by the person who deploys a feast instance.
from feast.
Can we close this issue now?
from feast.
Closing, but reopen if I missed something.
from feast.
Reopening the issue, core is still checking for presence of warehouse store. I am crafting a PR
from feast.
I am still having this error when trying to ingest data for feature having no warehouse store.
The feature spec looks like as follow:
id: "myentity.minute.feature_1"
name: "feature_1"
owner: "[email protected]"
description: "Test feature"
uri: "NA"
granularity: "MINUTE"
valueType: "DOUBLE"
entity: "myentity"
dataStores:
serving:
id: "REDIS1"
Exception:
Optional[Exception in thread "main" java.lang.IllegalArgumentException: no write transforms found
at com.google.common.base.Preconditions.checkArgument(Preconditions.java:141)
at feast.ingestion.transform.SplitOutputByStore.expand(SplitOutputByStore.java:57)
at feast.ingestion.transform.SplitOutputByStore.expand(SplitOutputByStore.java:45)
at org.apache.beam.sdk.Pipeline.applyInternal(Pipeline.java:537)
at org.apache.beam.sdk.Pipeline.applyTransform(Pipeline.java:488)
at feast.ingestion.values.PFeatureRows.apply(PFeatureRows.java:109)
at feast.ingestion.transform.WarehouseStoreTransform.expand(WarehouseStoreTransform.java:45)
at feast.ingestion.transform.WarehouseStoreTransform.expand(WarehouseStoreTransform.java:30)
at org.apache.beam.sdk.Pipeline.applyInternal(Pipeline.java:537)
at org.apache.beam.sdk.Pipeline.applyTransform(Pipeline.java:488)
at feast.ingestion.values.PFeatureRows.apply(PFeatureRows.java:109)
at feast.ingestion.ImportJob.expand(ImportJob.java:184)
at feast.ingestion.ImportJob.mainWithResult(ImportJob.java:126)
at feast.ingestion.ImportJob.main(ImportJob.java:110)]
from feast.
Apparently the ingestion job succeed but all feature row didn't pass validation
from feast.
Related Issues (20)
- Remove numpy <1.25 dependency in setup.py HOT 2
- Export the Usage data (like traces) into an Observability Solution
- Feature Server image won't start in an OpenShift cluster HOT 1
- Feature() method should say it is depreciated and to use Field() instead
- NameError: name 'driver_hourly_stats_view' is not defined HOT 2
- Support for Computer vision and Self driving space
- feast serve convert number to INT64 HOT 1
- Add possibility to choose database name when using DatastoreOnlineStore HOT 2
- Support all offline stores in spark materialization engine
- Add `remote-http` online store HOT 7
- S3 doesn't work if AWS metadata is blocked on kubernetes. HOT 1
- mysql test case(test_sql_registry.py) on mac environment is failing due to the container is not starting correctly. HOT 1
- SnowflakeSource does not properly construct table query string
- Azure blob storage a registry in python feature server
- Feature View's ttl is misleading HOT 9
- Multicloud Dockerfile uses latest published version of Feast instead of version under testing HOT 1
- GPG needed passphrase update causing failures in publish-java-sdk workflow
- Support easier feature serving and model serving with KServe HOT 12
- Instrument the performance of Feast Python Feature Server by OpenTelemetry HOT 1
- File Registry based on `fsspec`
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from feast.