Cassandra/Astra DB support for Feast online store
Project description
Feast Cassandra / Astra DB online store plugin
A Feast plugin to use Apache Cassandra™ / Astra DB as online store.
Installation
Install the plugin alongside Feast with:
pip install feast-cassandra
Quick usage
Once the package is installed, switching online store to Cassandra / Astra DB
is a matter of altering the online_store
key in feature_store.yaml
.
With reference to the Feast quickstart, the minimal steps are:
- (assuming both
feast
and this plugin are installed) - creating a feature repository,
feast init feature_repo
; cd feature_repo
;- editing the
feature_store.yaml
as detailed below; - all subsequent steps proceed as usual.
Cassandra setup
The only required settings are hosts
and type
. The port number
is to be provided only if different than the default (9042),
and username/password only if the database requires authentication.
[...]
online_store:
type: feast_cassandra_online_store.cassandra_online_store.CassandraOnlineStore
hosts:
- 192.168.1.1
- 192.168.1.2
- 192.168.1.3
keyspace: KeyspaceName
port: 9042 # optional
username: user # optional
password: secret # optional
Astra DB setup:
To point Feast to using an Astra DB instance as online store, an Astra DB token with "Database Administrator" role is required: provide the Client ID and Client Secret in the token as username and password.
The "secure connect bundle" for connecting to the database is also needed: its full path must be given in the configuration below:
[...]
online_store:
type: feast_cassandra_online_store.cassandra_online_store.CassandraOnlineStore
secure_bundle_path: /path/to/secure/bundle.zip
keyspace: KeyspaceName
username: Client_ID
password: Client_Secret
More info
For a more detailed walkthrough, please see the Awesome Astra page on the Feast integration.
Features
The plugin leverages the architecture of Cassandra for optimal performance:
- table partitioning tailored to data access pattern;
- prepared statements.
Credits
The author of this plugin acknowledges prior exploratory work by
hamzakpt
and B. Mortimore,
on which this implementation is loosely based.
Project details
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
File details
Details for the file feast-cassandra-0.1.1.tar.gz
.
File metadata
- Download URL: feast-cassandra-0.1.1.tar.gz
- Upload date:
- Size: 11.1 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/4.0.0 CPython/3.9.12
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | e49919aac56fb7e590d50f9451f5ca8c683efa13845e32804f61e09cf36a5db2 |
|
MD5 | 0ea46b7d0065c39a79036acd3be4279c |
|
BLAKE2b-256 | 6581ca8e97512ff5c82324a142078ecd6c69a92b3d96e98a0c173fac9886cb3b |
File details
Details for the file feast_cassandra-0.1.1-py3-none-any.whl
.
File metadata
- Download URL: feast_cassandra-0.1.1-py3-none-any.whl
- Upload date:
- Size: 11.3 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/4.0.0 CPython/3.9.12
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | ed6fd11353cf01c1078045d6acd40183a1d55e0c042d571acb738877f4c1e2b4 |
|
MD5 | 028cac20a7e5705cdb9e5804e021782a |
|
BLAKE2b-256 | c95081c1ebae35fcbcceb1472bc7b58b4e34ae2844e57057d6dadc6c8d7d6418 |