Skip to content

Commit 9cbd4dc

Browse files
Merge pull request #13 from sailpoint/brijesh.vora/SAASMLOPS-1113
Sync upstream repo
2 parents 2dafa44 + d77f215 commit 9cbd4dc

65 files changed

Lines changed: 806 additions & 207 deletions

File tree

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

.github/workflows/pr_integration_tests.yml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -86,7 +86,7 @@ jobs:
8686
strategy:
8787
fail-fast: false
8888
matrix:
89-
python-version: [ "3.8" ]
89+
python-version: [ "3.8", "3.10" ]
9090
os: [ ubuntu-latest ]
9191
env:
9292
OS: ${{ matrix.os }}

.github/workflows/pr_local_integration_tests.yml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -19,7 +19,7 @@ jobs:
1919
strategy:
2020
fail-fast: false
2121
matrix:
22-
python-version: [ "3.8" ]
22+
python-version: [ "3.8", "3.10" ]
2323
os: [ ubuntu-latest ]
2424
env:
2525
OS: ${{ matrix.os }}

.github/workflows/unit_tests.yml

Lines changed: 0 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -12,8 +12,6 @@ jobs:
1212
exclude:
1313
- os: macOS-latest
1414
python-version: "3.9"
15-
- os: macOS-latest
16-
python-version: "3.10"
1715
env:
1816
OS: ${{ matrix.os }}
1917
PYTHON: ${{ matrix.python-version }}

Makefile

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -310,7 +310,7 @@ format-python:
310310
cd ${ROOT_DIR}/sdk/python; python -m black --target-version py38 feast tests
311311

312312
lint-python:
313-
cd ${ROOT_DIR}/sdk/python; python -m mypy
313+
cd ${ROOT_DIR}/sdk/python; python -m mypy --exclude=/tests/ --follow-imports=skip feast
314314
cd ${ROOT_DIR}/sdk/python; python -m isort feast/ tests/ --check-only
315315
cd ${ROOT_DIR}/sdk/python; python -m flake8 feast/ tests/
316316
cd ${ROOT_DIR}/sdk/python; python -m black --check feast tests

community/maintainers.md

Lines changed: 6 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -9,7 +9,12 @@ In alphabetical order
99
| Name | GitHub Username | Email | Organization |
1010
| -------------- | ---------------- |-----------------------------| ------------------ |
1111
| Achal Shah | `achals` | [email protected] | Tecton |
12-
| Willem Pienaar | `woop` | [email protected] | Tecton |
12+
| Edson Tirelli | `etirelli` | [email protected] | Red Hat |
13+
| Francisco Javier Arceo | `franciscojavierarceo` | [email protected] | Affirm |
14+
| Hao Xu | `HaoXuAI` | [email protected] | JPMorgan |
15+
| Jeremy Ary | `jeremyary` | [email protected] | Red Hat |
16+
| Shuchu Han | `shuchu` | [email protected] | Independent |
17+
| Willem Pienaar | `woop` | [email protected] | Cleric |
1318
| Zhiling Chen | `zhilingc` | [email protected] | GetGround |
1419

1520
## Emeritus Maintainers

docs/SUMMARY.md

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -99,6 +99,7 @@
9999
* [MySQL (contrib)](reference/online-stores/mysql.md)
100100
* [Rockset (contrib)](reference/online-stores/rockset.md)
101101
* [Hazelcast (contrib)](reference/online-stores/hazelcast.md)
102+
* [ScyllaDB (contrib)](reference/online-stores/scylladb.md)
102103
* [Providers](reference/providers/README.md)
103104
* [Local](reference/providers/local.md)
104105
* [Google Cloud Platform](reference/providers/google-cloud-platform.md)

docs/project/development-guide.md

Lines changed: 10 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -154,6 +154,16 @@ pip install -e ".[dev]"
154154

155155
This will allow the installed feast version to automatically reflect changes to your local development version of Feast without needing to reinstall everytime you make code changes.
156156

157+
10. Compile the protubufs
158+
```sh
159+
make compile-protos-python
160+
```
161+
162+
11. Spin up Docker Image
163+
```sh
164+
docker build -t docker-whale -f ./sdk/python/feast/infra/feature_servers/multicloud/Dockerfile .
165+
```
166+
157167
### Code Style & Linting
158168
Feast Python SDK / CLI codebase:
159169
- Conforms to [Black code style](https://black.readthedocs.io/en/stable/the_black_code_style/current_style.html)

docs/reference/online-stores/README.md

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -54,4 +54,6 @@ Please see [Online Store](../../getting-started/architecture-and-components/onli
5454
[hazelcast.md](hazelcast.md)
5555
{% endcontent-ref %}
5656

57-
57+
{% content-ref url="scylladb.md" %}
58+
[scylladb.md](scylladb.md)
59+
{% endcontent-ref %}
Lines changed: 94 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,94 @@
1+
# ScyllaDB Cloud online store
2+
3+
## Description
4+
5+
ScyllaDB is a low-latency and high-performance Cassandra-compatible (uses CQL) database. You can use the existing Cassandra connector to use ScyllaDB as an online store in Feast.
6+
7+
The [ScyllaDB](https://www.scylladb.com/) online store provides support for materializing feature values into a ScyllaDB or [ScyllaDB Cloud](https://www.scylladb.com/product/scylla-cloud/) cluster for serving online features real-time.
8+
9+
## Getting started
10+
11+
Install Feast with Cassandra support:
12+
```bash
13+
pip install "feast[cassandra]"
14+
```
15+
16+
Create a new Feast project:
17+
```bash
18+
feast init REPO_NAME -t cassandra
19+
```
20+
21+
### Example (ScyllaDB)
22+
23+
{% code title="feature_store.yaml" %}
24+
```yaml
25+
project: scylla_feature_repo
26+
registry: data/registry.db
27+
provider: local
28+
online_store:
29+
type: cassandra
30+
hosts:
31+
- 172.17.0.2
32+
keyspace: feast
33+
username: scylla
34+
password: password
35+
```
36+
{% endcode %}
37+
38+
### Example (ScyllaDB Cloud)
39+
40+
{% code title="feature_store.yaml" %}
41+
```yaml
42+
project: scylla_feature_repo
43+
registry: data/registry.db
44+
provider: local
45+
online_store:
46+
type: cassandra
47+
hosts:
48+
- node-0.aws_us_east_1.xxxxxxxx.clusters.scylla.cloud
49+
- node-1.aws_us_east_1.xxxxxxxx.clusters.scylla.cloud
50+
- node-2.aws_us_east_1.xxxxxxxx.clusters.scylla.cloud
51+
keyspace: feast
52+
username: scylla
53+
password: password
54+
```
55+
{% endcode %}
56+
57+
58+
The full set of configuration options is available in [CassandraOnlineStoreConfig](https://rtd.feast.dev/en/master/#feast.infra.online_stores.contrib.cassandra_online_store.cassandra_online_store.CassandraOnlineStoreConfig).
59+
For a full explanation of configuration options please look at file
60+
`sdk/python/feast/infra/online_stores/contrib/cassandra_online_store/README.md`.
61+
62+
Storage specifications can be found at `docs/specs/online_store_format.md`.
63+
64+
## Functionality Matrix
65+
66+
The set of functionality supported by online stores is described in detail [here](overview.md#functionality).
67+
Below is a matrix indicating which functionality is supported by the Cassandra plugin.
68+
69+
| | Cassandra |
70+
| :-------------------------------------------------------- | :-------- |
71+
| write feature values to the online store | yes |
72+
| read feature values from the online store | yes |
73+
| update infrastructure (e.g. tables) in the online store | yes |
74+
| teardown infrastructure (e.g. tables) in the online store | yes |
75+
| generate a plan of infrastructure changes | yes |
76+
| support for on-demand transforms | yes |
77+
| readable by Python SDK | yes |
78+
| readable by Java | no |
79+
| readable by Go | no |
80+
| support for entityless feature views | yes |
81+
| support for concurrent writing to the same key | no |
82+
| support for ttl (time to live) at retrieval | no |
83+
| support for deleting expired data | no |
84+
| collocated by feature view | yes |
85+
| collocated by feature service | no |
86+
| collocated by entity key | no |
87+
88+
To compare this set of functionality against other online stores, please see the full [functionality matrix](overview.md#functionality-matrix).
89+
90+
## Resources
91+
92+
* [Sample application with ScyllaDB](https://feature-store.scylladb.com/stable/)
93+
* [ScyllaDB website](https://www.scylladb.com/)
94+
* [ScyllaDB Cloud documentation](https://cloud.docs.scylladb.com/stable/)

0 commit comments

Comments
 (0)