Skip to main content

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:

  1. (assuming both feast and this plugin are installed)
  2. creating a feature repository, feast init feature_repo;
  3. cd feature_repo;
  4. editing the feature_store.yaml as detailed below;
  5. 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

feast-cassandra-0.1.1.tar.gz (11.1 kB view details)

Uploaded Source

Built Distribution

feast_cassandra-0.1.1-py3-none-any.whl (11.3 kB view details)

Uploaded Python 3

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

Hashes for feast-cassandra-0.1.1.tar.gz
Algorithm Hash digest
SHA256 e49919aac56fb7e590d50f9451f5ca8c683efa13845e32804f61e09cf36a5db2
MD5 0ea46b7d0065c39a79036acd3be4279c
BLAKE2b-256 6581ca8e97512ff5c82324a142078ecd6c69a92b3d96e98a0c173fac9886cb3b

See more details on using hashes here.

File details

Details for the file feast_cassandra-0.1.1-py3-none-any.whl.

File metadata

File hashes

Hashes for feast_cassandra-0.1.1-py3-none-any.whl
Algorithm Hash digest
SHA256 ed6fd11353cf01c1078045d6acd40183a1d55e0c042d571acb738877f4c1e2b4
MD5 028cac20a7e5705cdb9e5804e021782a
BLAKE2b-256 c95081c1ebae35fcbcceb1472bc7b58b4e34ae2844e57057d6dadc6c8d7d6418

See more details on using hashes here.

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page