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

feat: Feature/upgrade 3.11 and remove bytewax #4046

Closed
Show file tree
Hide file tree
Changes from 20 commits
Commits
Show all changes
26 commits
Select commit Hold shift + click to select a range
408f400
Upgrading the python version to 3.11 and also removing the bytewax de…
lokeshrangineni Mar 27, 2024
1214f71
Removing missing bytewax dependencies from the previous commit.
lokeshrangineni Mar 27, 2024
2dd2051
Merge branch 'feast-dev:master' into feature/upgrade-3.11-remove-bytewax
lokeshrangineni Mar 27, 2024
228e3b4
Merge branch 'feast-dev:master' into feature/upgrade-3.11-remove-bytewax
lokeshrangineni Mar 27, 2024
f0971a8
Removing duplicate dependency ibis which was added by mistake. this s…
lokeshrangineni Mar 27, 2024
1cfa4d5
Removing the bytewax materialization engine.
lokeshrangineni Apr 1, 2024
822cd67
Removing the bytewax documentation.
lokeshrangineni Apr 1, 2024
43ef03b
Merge branch 'feast-dev:master' into feature/upgrade-3.11-remove-bytewax
lokeshrangineni Apr 1, 2024
10ddd01
Adding missed duckdb dependencies.
lokeshrangineni Apr 2, 2024
68da3f0
Merge branch 'feature/origin-master' into feature/upgrade-3.11-remove…
lokeshrangineni Apr 2, 2024
6a66539
Merge remote-tracking branch 'origin/master' into feature/upgrade-3.1…
lokeshrangineni Apr 25, 2024
b8fdfbd
updating the requirements.txt files as per the latest code.
lokeshrangineni Apr 25, 2024
4bec6b0
updating the requirements.txt files as per the latest code.
lokeshrangineni Apr 25, 2024
fb6d0e5
Revert "updating the requirements.txt files as per the latest code."
lokeshrangineni Apr 25, 2024
d089b0b
fix: Changed the code the way mysql container is initialized. (#4140)
lokeshrangineni Apr 25, 2024
d9d59af
just checking if this resolves the issue with dask incompatibility.
lokeshrangineni Apr 25, 2024
89ba1d8
updating 3.9 dependencies to make it work with 3.11 as well.
lokeshrangineni Apr 25, 2024
2bfedcf
updating 3.10 dependencies to make it work with 3.11 as well.
lokeshrangineni Apr 25, 2024
29585f2
Revert "updating 3.10 dependencies to make it work with 3.11 as well."
lokeshrangineni Apr 25, 2024
bada729
updating dask version so that it can work on python 3.11
lokeshrangineni Apr 25, 2024
95355c4
fix: Update doc (#4153)
HaoXuAI Apr 26, 2024
e7dddd3
Upgrading the python version to 3.11 and also removing the bytewax de…
lokeshrangineni Mar 27, 2024
5d4c322
updating 3.10 dependencies to make it work with 3.11 as well.
lokeshrangineni Apr 25, 2024
e7b9c13
Revert "updating 3.10 dependencies to make it work with 3.11 as well."
lokeshrangineni Apr 25, 2024
3d005b0
updating dask version so that it can work on python 3.11
lokeshrangineni Apr 25, 2024
61d3319
Merge remote-tracking branch 'refs/remotes/origin/master' into featur…
lokeshrangineni Apr 29, 2024
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
12 changes: 6 additions & 6 deletions .github/fork_workflows/fork_pr_integration_tests_aws.yml
Original file line number Diff line number Diff line change
Expand Up @@ -33,21 +33,21 @@ jobs:
id: image-tag
run: echo "::set-output name=DOCKER_IMAGE_TAG::`git rev-parse HEAD`"
- name: Cache Public ECR Image
id: lambda_python_3_9
id: lambda_python_3_11
uses: actions/cache@v2
with:
path: ~/cache
key: lambda_python_3_9
key: lambda_python_3_11
- name: Handle Cache Miss (pull public ECR image & save it to tar file)
if: steps.cache-primes.outputs.cache-hit != 'true'
run: |
mkdir -p ~/cache
docker pull public.ecr.aws/lambda/python:3.9
docker save public.ecr.aws/lambda/python:3.9 -o ~/cache/lambda_python_3_9.tar
docker pull public.ecr.aws/lambda/python:3.11
docker save public.ecr.aws/lambda/python:3.11 -o ~/cache/lambda_python_3_11.tar
- name: Handle Cache Hit (load docker image from tar file)
if: steps.cache-primes.outputs.cache-hit == 'true'
run: |
docker load -i ~/cache/lambda_python_3_9.tar
docker load -i ~/cache/lambda_python_3_11.tar
- name: Build and push
env:
ECR_REGISTRY: ${{ steps.login-ecr.outputs.registry }}
Expand All @@ -67,7 +67,7 @@ jobs:
strategy:
fail-fast: false
matrix:
python-version: [ "3.9" ]
python-version: [ "3.11" ]
os: [ ubuntu-latest ]
env:
OS: ${{ matrix.os }}
Expand Down
2 changes: 1 addition & 1 deletion .github/fork_workflows/fork_pr_integration_tests_gcp.yml
Original file line number Diff line number Diff line change
Expand Up @@ -9,7 +9,7 @@ jobs:
strategy:
fail-fast: false
matrix:
python-version: [ "3.9" ]
python-version: [ "3.11" ]
os: [ ubuntu-latest ]
env:
OS: ${{ matrix.os }}
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -9,7 +9,7 @@ jobs:
strategy:
fail-fast: false
matrix:
python-version: [ "3.9" ]
python-version: [ "3.11" ]
os: [ ubuntu-latest ]
env:
OS: ${{ matrix.os }}
Expand Down
6 changes: 3 additions & 3 deletions .github/workflows/build_wheels.yml
Original file line number Diff line number Diff line change
Expand Up @@ -59,7 +59,7 @@ jobs:
- name: Setup Python
uses: actions/setup-python@v3
with:
python-version: "3.9"
python-version: "3.11"
architecture: x64
- name: Setup Node
uses: actions/setup-node@v3
Expand All @@ -86,7 +86,7 @@ jobs:
id: setup-python
uses: actions/setup-python@v3
with:
python-version: "3.10"
python-version: "3.11"
architecture: x64
- name: Setup Node
uses: actions/setup-node@v3
Expand Down Expand Up @@ -137,7 +137,7 @@ jobs:
strategy:
matrix:
os: [ubuntu-latest, macos-12 ]
python-version: ["3.9", "3.10"]
python-version: ["3.9", "3.10", "3.11"]
from-source: [ True, False ]
env:
# this script is for testing servers
Expand Down
6 changes: 3 additions & 3 deletions .github/workflows/java_master_only.yml
Original file line number Diff line number Diff line change
Expand Up @@ -25,7 +25,7 @@ jobs:
uses: actions/setup-python@v3
id: setup-python
with:
python-version: "3.9"
python-version: "3.11"
architecture: x64
- name: Authenticate to Google Cloud
uses: 'google-github-actions/auth@v1'
Expand Down Expand Up @@ -95,7 +95,7 @@ jobs:
if: github.repository == 'feast-dev/feast'
runs-on: ubuntu-latest
env:
PYTHON: 3.9
PYTHON: 3.11
steps:
- uses: actions/checkout@v4
with:
Expand All @@ -110,7 +110,7 @@ jobs:
uses: actions/setup-python@v3
id: setup-python
with:
python-version: 3.9
python-version: 3.11
architecture: x64
- name: Get pip cache dir
id: pip-cache
Expand Down
8 changes: 4 additions & 4 deletions .github/workflows/java_pr.yml
Original file line number Diff line number Diff line change
Expand Up @@ -88,7 +88,7 @@ jobs:
uses: actions/setup-python@v3
id: setup-python
with:
python-version: "3.9"
python-version: "3.11"
architecture: x64
- name: Authenticate to Google Cloud
uses: 'google-github-actions/auth@v1'
Expand All @@ -111,7 +111,7 @@ jobs:
runs-on: ubuntu-latest
needs: unit-test-java
env:
PYTHON: 3.9
PYTHON: 3.11
steps:
- uses: actions/checkout@v4
with:
Expand All @@ -128,7 +128,7 @@ jobs:
architecture: x64
- uses: actions/setup-python@v3
with:
python-version: '3.9'
python-version: '3.11'
architecture: 'x64'
- uses: actions/cache@v2
with:
Expand Down Expand Up @@ -158,7 +158,7 @@ jobs:
uses: actions/setup-python@v3
id: setup-python
with:
python-version: 3.9
python-version: 3.11
architecture: x64
- name: Get pip cache dir
id: pip-cache
Expand Down
4 changes: 2 additions & 2 deletions .github/workflows/linter.yml
Original file line number Diff line number Diff line change
Expand Up @@ -6,14 +6,14 @@ jobs:
lint-python:
runs-on: [ubuntu-latest]
env:
PYTHON: 3.9
PYTHON: 3.11
steps:
- uses: actions/checkout@v4
- name: Setup Python
id: setup-python
uses: actions/setup-python@v5
with:
python-version: "3.9"
python-version: "3.11"
architecture: x64
- name: Upgrade pip version
run: |
Expand Down
2 changes: 1 addition & 1 deletion .github/workflows/master_only.yml
Original file line number Diff line number Diff line change
Expand Up @@ -65,7 +65,7 @@ jobs:
strategy:
fail-fast: false
matrix:
python-version: ["3.9", "3.10" ]
python-version: ["3.9", "3.10", "3.11"]
os: [ ubuntu-latest ]
env:
OS: ${{ matrix.os }}
Expand Down
18 changes: 9 additions & 9 deletions .github/workflows/nightly-ci.yml
Original file line number Diff line number Diff line change
Expand Up @@ -36,7 +36,7 @@ jobs:
uses: actions/setup-python@v5
id: setup-python
with:
python-version: "3.9"
python-version: "3.11"
architecture: x64
- name: Set up AWS SDK
uses: aws-actions/configure-aws-credentials@v1
Expand Down Expand Up @@ -89,21 +89,21 @@ jobs:
id: image-tag
run: echo "::set-output name=DOCKER_IMAGE_TAG::`git rev-parse HEAD`"
- name: Cache Public ECR Image
id: lambda_python_3_9
id: lambda_python_3_11
uses: actions/cache@v4
with:
path: ~/cache
key: lambda_python_3_9
key: lambda_python_3_11
- name: Handle Cache Miss (pull public ECR image & save it to tar file)
if: steps.lambda_python_3_9.outputs.cache-hit != 'true'
if: steps.lambda_python_3_11.outputs.cache-hit != 'true'
run: |
mkdir -p ~/cache
docker pull public.ecr.aws/lambda/python:3.9
docker save public.ecr.aws/lambda/python:3.9 -o ~/cache/lambda_python_3_9.tar
docker pull public.ecr.aws/lambda/python:3.11
docker save public.ecr.aws/lambda/python:3.11 -o ~/cache/lambda_python_3_11.tar
- name: Handle Cache Hit (load docker image from tar file)
if: steps.lambda_python_3_9.outputs.cache-hit == 'true'
if: steps.lambda_python_3_11.outputs.cache-hit == 'true'
run: |
docker load -i ~/cache/lambda_python_3_9.tar
docker load -i ~/cache/lambda_python_3_11.tar
- name: Build and push
env:
ECR_REGISTRY: ${{ steps.login-ecr.outputs.registry }}
Expand All @@ -124,7 +124,7 @@ jobs:
strategy:
fail-fast: false
matrix:
python-version: [ "3.9" ]
python-version: [ "3.11" ]
os: [ ubuntu-latest ]
env:
OS: ${{ matrix.os }}
Expand Down
12 changes: 6 additions & 6 deletions .github/workflows/pr_integration_tests.yml
Original file line number Diff line number Diff line change
Expand Up @@ -47,21 +47,21 @@ jobs:
id: image-tag
run: echo "::set-output name=DOCKER_IMAGE_TAG::`git rev-parse HEAD`"
- name: Cache Public ECR Image
id: lambda_python_3_9
id: lambda_python_3_11
uses: actions/cache@v2
with:
path: ~/cache
key: lambda_python_3_9
key: lambda_python_3_11
- name: Handle Cache Miss (pull public ECR image & save it to tar file)
if: steps.cache-primes.outputs.cache-hit != 'true'
run: |
mkdir -p ~/cache
docker pull public.ecr.aws/lambda/python:3.9
docker save public.ecr.aws/lambda/python:3.9 -o ~/cache/lambda_python_3_9.tar
docker pull public.ecr.aws/lambda/python:3.11
docker save public.ecr.aws/lambda/python:3.11 -o ~/cache/lambda_python_3_11.tar
- name: Handle Cache Hit (load docker image from tar file)
if: steps.cache-primes.outputs.cache-hit == 'true'
run: |
docker load -i ~/cache/lambda_python_3_9.tar
docker load -i ~/cache/lambda_python_3_11.tar
- name: Build and push
env:
ECR_REGISTRY: ${{ steps.login-ecr.outputs.registry }}
Expand All @@ -86,7 +86,7 @@ jobs:
strategy:
fail-fast: false
matrix:
python-version: [ "3.10" ]
python-version: [ "3.9", "3.10", "3.11" ]
os: [ ubuntu-latest ]
env:
OS: ${{ matrix.os }}
Expand Down
2 changes: 1 addition & 1 deletion .github/workflows/pr_local_integration_tests.yml
Original file line number Diff line number Diff line change
Expand Up @@ -19,7 +19,7 @@ jobs:
strategy:
fail-fast: false
matrix:
python-version: [ "3.10" ]
python-version: [ "3.9", "3.10", "3.11" ]
os: [ ubuntu-latest ]
env:
OS: ${{ matrix.os }}
Expand Down
2 changes: 1 addition & 1 deletion .github/workflows/publish.yml
Original file line number Diff line number Diff line change
Expand Up @@ -160,7 +160,7 @@ jobs:
architecture: x64
- uses: actions/setup-python@v3
with:
python-version: '3.9'
python-version: '3.11'
architecture: 'x64'
- uses: actions/cache@v2
with:
Expand Down
4 changes: 2 additions & 2 deletions .github/workflows/unit_tests.yml
Original file line number Diff line number Diff line change
Expand Up @@ -7,8 +7,8 @@ jobs:
strategy:
fail-fast: false
matrix:
python-version: [ "3.9", "3.10" ]
os: [ ubuntu-latest, macos-12 ]
python-version: [ "3.9", "3.10", "3.11"]
os: [ ubuntu-latest, macOS-12 ]
Copy link
Collaborator

Choose a reason for hiding this comment

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

SUPER nitpicky of me, but casing here is fine in lowercase which is how GitHub references them too

exclude:
- os: macos-12
python-version: "3.9"
Expand Down
2 changes: 1 addition & 1 deletion Makefile
Original file line number Diff line number Diff line change
Expand Up @@ -351,7 +351,7 @@ kill-trino-locally:
cd ${ROOT_DIR}; docker stop trino

install-protoc-dependencies:
pip install --ignore-installed protobuf==4.23.4 "grpcio-tools>=1.56.2,<2" mypy-protobuf==3.1.0
pip install --ignore-installed protobuf==4.24.0 "grpcio-tools>=1.56.2,<2" mypy-protobuf==3.1.0

install-feast-ci-locally:
pip install -e ".[ci]"
Expand Down
1 change: 0 additions & 1 deletion docs/SUMMARY.md
Original file line number Diff line number Diff line change
Expand Up @@ -107,7 +107,6 @@
* [Amazon Web Services](reference/providers/amazon-web-services.md)
* [Azure](reference/providers/azure.md)
* [Batch Materialization Engines](reference/batch-materialization/README.md)
* [Bytewax](reference/batch-materialization/bytewax.md)
* [Snowflake](reference/batch-materialization/snowflake.md)
* [AWS Lambda (alpha)](reference/batch-materialization/lambda.md)
* [Spark (contrib)](reference/batch-materialization/spark.md)
Expand Down
22 changes: 1 addition & 21 deletions docs/how-to-guides/running-feast-in-production.md
Original file line number Diff line number Diff line change
Expand Up @@ -57,29 +57,9 @@ To keep your online store up to date, you need to run a job that loads feature d
Out of the box, Feast's materialization process uses an in-process materialization engine. This engine loads all the data being materialized into memory from the offline store, and writes it into the online store.

This approach may not scale to large amounts of data, which users of Feast may be dealing with in production.
In this case, we recommend using one of the more [scalable materialization engines](./scaling-feast.md#scaling-materialization), such as the [Bytewax Materialization Engine](../reference/batch-materialization/bytewax.md), or the [Snowflake Materialization Engine](../reference/batch-materialization/snowflake.md).
In this case, we recommend using one of the more [scalable materialization engines](./scaling-feast.md#scaling-materialization), such as the [Snowflake Materialization Engine](../reference/batch-materialization/snowflake.md).
Users may also need to [write a custom materialization engine](../how-to-guides/customizing-feast/creating-a-custom-materialization-engine.md) to work on their existing infrastructure.

The Bytewax materialization engine can run materialization on an existing Kubernetes cluster. An example configuration of this in a `feature_store.yaml` is as follows:

```yaml
batch_engine:
type: bytewax
namespace: bytewax
image: bytewax/bytewax-feast:latest
env:
- name: AWS_ACCESS_KEY_ID
valueFrom:
secretKeyRef:
name: aws-credentials
key: aws-access-key-id
- name: AWS_SECRET_ACCESS_KEY
valueFrom:
secretKeyRef:
name: aws-credentials
key: aws-secret-access-key
```

### 2.2 Scheduled materialization with Airflow

> See also [data ingestion](../getting-started/concepts/data-ingestion.md#batch-data-ingestion) for code snippets
Expand Down
Loading
Loading