Skip to content

Commit

Permalink
Dealing with conflicts
Browse files Browse the repository at this point in the history
  • Loading branch information
oliveirabruno92 committed May 2, 2022
2 parents ae71913 + 33429a1 commit 1419106
Show file tree
Hide file tree
Showing 22 changed files with 131 additions and 165 deletions.
111 changes: 9 additions & 102 deletions CHANGELOG.md

Large diffs are not rendered by default.

40 changes: 19 additions & 21 deletions CONTRIBUTING.md
Original file line number Diff line number Diff line change
Expand Up @@ -37,6 +37,20 @@ A quick list of things to keep in mind as you're making changes:
- Please run tests locally before submitting a PR (e.g. for Python, the [local integration tests](#local-integration-tests))
- Try to keep PRs smaller. This makes them easier to review.

### Pull request checklist
A quick list of things to keep in mind as you're making changes:
- As you make changes
- Make your changes in a [forked repo](#forking-the-repo) (instead of making a branch on the main Feast repo)
- [Sign your commits](#signing-off-commits) as you go (to avoid DCO checks failing)
- [Rebase from master](#incorporating-upstream-changes-from-master) instead of using `git pull` on your PR branch
- Install [pre-commit hooks](#pre-commit-hooks) to ensure all the default linters / formatters are run when you push.
- When you make the PR
- Make a pull request from the forked repo you made
- Ensure you add a GitHub **label** (i.e. a kind tag to the PR (e.g. `kind/bug` or `kind/housekeeping`)) or else checks will fail.
- Ensure you leave a release note for any user facing changes in the PR. There is a field automatically generated in the PR request. You can write `NONE` in that field if there are no user facing changes.
- Please run tests locally before submitting a PR (e.g. for Python, the [local integration tests](#local-integration-tests))
- Try to keep PRs smaller. This makes them easier to review.

### Forking the repo
Fork the Feast Github repo and clone your fork locally. Then make changes to a local branch to the fork.

Expand All @@ -53,10 +67,10 @@ pre-commit install --hook-type pre-commit --hook-type pre-push
3. On push, the pre-commit hook will run. This runs `make format` and `make lint`.

### Signing off commits
> :warning: Warning: using the default integrations with IDEs like VSCode or IntelliJ will not sign commits.
> :warning: Warning: using the default integrations with IDEs like VSCode or IntelliJ will not sign commits.
> When you submit a PR, you'll have to re-sign commits to pass the DCO check.
Use git signoffs to sign your commits. See
Use git signoffs to sign your commits. See
https://docs.github.com/en/github/authenticating-to-github/managing-commit-signature-verification for details

Then, you can sign off commits with the `-s` flag:
Expand Down Expand Up @@ -139,10 +153,12 @@ Redis

Now run `make test-python-universal-local`

Now run `make test-python-universal-local`

#### Full integration tests
To test across clouds, on top of setting up Redis, you also need GCP / AWS / Snowflake setup.

> Note: you can manually control what tests are run today by inspecting
> Note: you can manually control what tests are run today by inspecting
> [RepoConfiguration](https://github.com/feast-dev/feast/blob/master/sdk/python/tests/integration/feature_repos/repo_configuration.py)
> and commenting out tests that are added to `DEFAULT_FULL_REPO_CONFIGS`
Expand All @@ -164,24 +180,6 @@ To test across clouds, on top of setting up Redis, you also need GCP / AWS / Sno

Then run `make test-python-integration`. Note that for Snowflake / GCP / AWS, this will create new temporary tables / datasets.

#### (Experimental) Run full integration tests against containerized services
Test across clouds requires existing accounts on GCP / AWS / Snowflake, and may incur costs when using these services.

For this approach of running tests, you'll need to have docker set up locally: [Get Docker](https://docs.docker.com/get-docker/)

It's possible to run some integration tests against emulated local versions of these services, using ephemeral containers.
These tests create new temporary tables / datasets locally only, and they are cleaned up. when the containers are torn down.

The services with containerized replacements currently implemented are:
- Datastore
- DynamoDB
- Redis
- Trino
- HBase

You can run `make test-python-integration-container` to run tests against the containerized versions of dependencies.


## Feast Java Serving
See [Java contributing guide](java/CONTRIBUTING.md)

Expand Down
6 changes: 6 additions & 0 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -156,9 +156,15 @@ The list below contains the functionality that contributors are planning to deve
* [x] [BigQuery](https://docs.feast.dev/reference/offline-stores/bigquery)
* [x] [Synapse (community plugin)](https://github.com/Azure/feast-azure)
* [x] [Hive (community plugin)](https://github.com/baineng/feast-hive)
<<<<<<< HEAD
* [x] [Postgres (contrib plugin)](https://docs.feast.dev/reference/offline-stores/postgres)
* [x] [Trino (contrib plugin)](https://github.com/Shopify/feast-trino)
* [x] [Spark (contrib plugin)](https://docs.feast.dev/reference/offline-stores/spark)
=======
* [x] [Postgres (community plugin)](https://github.com/nossrannug/feast-postgres)
* [x] [Trino (community plugin)](https://github.com/Shopify/feast-trino)
* [x] [Spark (community plugin)](https://github.com/Adyen/feast-spark-offline-store)
>>>>>>> 33429a1f0c314c29901b17c9b9e2032b4163c4c9
* [x] [In-memory / Pandas](https://docs.feast.dev/reference/offline-stores/file)
* [x] [Custom offline store support](https://docs.feast.dev/how-to-guides/adding-a-new-offline-store)
* **Online Stores**
Expand Down
6 changes: 3 additions & 3 deletions docs/getting-started/third-party-integrations.md
Original file line number Diff line number Diff line change
Expand Up @@ -31,9 +31,9 @@ Don't see your offline store or online store of choice here? Check out our guide
* [x] [BigQuery](https://docs.feast.dev/reference/offline-stores/bigquery)
* [x] [Synapse (community plugin)](https://github.com/Azure/feast-azure)
* [x] [Hive (community plugin)](https://github.com/baineng/feast-hive)
* [x] [Postgres (contrib plugin)](https://docs.feast.dev/reference/offline-stores/postgres)
* [x] [Trino (contrib plugin)](https://github.com/Shopify/feast-trino)
* [x] [Spark (contrib plugin)](https://docs.feast.dev/reference/offline-stores/spark)
* [x] [Postgres (community plugin)](https://github.com/nossrannug/feast-postgres)
* [x] [Trino (community plugin)](https://github.com/Shopify/feast-trino)
* [x] [Spark (community plugin)](https://github.com/Adyen/feast-spark-offline-store)
* [x] [In-memory / Pandas](https://docs.feast.dev/reference/offline-stores/file)
* [x] [Custom offline store support](https://docs.feast.dev/how-to-guides/adding-a-new-offline-store)

Expand Down
6 changes: 3 additions & 3 deletions docs/roadmap.md
Original file line number Diff line number Diff line change
Expand Up @@ -24,9 +24,9 @@ The list below contains the functionality that contributors are planning to deve
* [x] [BigQuery](https://docs.feast.dev/reference/offline-stores/bigquery)
* [x] [Synapse (community plugin)](https://github.com/Azure/feast-azure)
* [x] [Hive (community plugin)](https://github.com/baineng/feast-hive)
* [x] [Postgres (contrib plugin)](https://docs.feast.dev/reference/offline-stores/postgres)
* [x] [Trino (contrib plugin)](https://github.com/Shopify/feast-trino)
* [x] [Spark (contrib plugin)](https://docs.feast.dev/reference/offline-stores/spark)
* [x] [Postgres (community plugin)](https://github.com/nossrannug/feast-postgres)
* [x] [Trino (community plugin)](https://github.com/Shopify/feast-trino)
* [x] [Spark (community plugin)](https://github.com/Adyen/feast-spark-offline-store)
* [x] [In-memory / Pandas](https://docs.feast.dev/reference/offline-stores/file)
* [x] [Custom offline store support](https://docs.feast.dev/how-to-guides/adding-a-new-offline-store)
* **Online Stores**
Expand Down
52 changes: 21 additions & 31 deletions examples/java-demo/feature_repo/driver_repo.py
Original file line number Diff line number Diff line change
@@ -1,29 +1,25 @@
import pandas as pd
from feast.data_source import RequestSource
from feast.field import Field
from feast import Entity, Feature, FeatureView, FileSource, ValueType
from feast.data_source import RequestDataSource
from feast.on_demand_feature_view import on_demand_feature_view
from feast.request_feature_view import RequestFeatureView
from feast.types import Float32, Float64, Int64, String
from google.protobuf.duration_pb2 import Duration
from feast.field import Field

from feast import Entity, Feature, BatchFeatureView, FileSource, ValueType

driver_hourly_stats = FileSource(
path="data/driver_stats_with_string.parquet",
timestamp_field="event_timestamp",
event_timestamp_column="event_timestamp",
created_timestamp_column="created",
)
driver = Entity(name="driver_id", value_type=ValueType.INT64, description="driver id",)
driver_hourly_stats_view = BatchFeatureView(
driver_hourly_stats_view = FeatureView(
name="driver_hourly_stats",
entities=["driver_id"],
ttl=Duration(seconds=86400000),
schema=[
Field(name="conv_rate", dtype=Float32),
Field(name="acc_rate", dtype=Float32),
Field(name="avg_daily_trips", dtype=Int64),
Field(name="string_feature", dtype=String),
features=[
Feature(name="conv_rate", dtype=ValueType.FLOAT),
Feature(name="acc_rate", dtype=ValueType.FLOAT),
Feature(name="avg_daily_trips", dtype=ValueType.INT64),
Feature(name="string_feature", dtype=ValueType.STRING),
],
online=True,
batch_source=driver_hourly_stats,
Expand All @@ -32,24 +28,21 @@

# Define a request data source which encodes features / information only
# available at request time (e.g. part of the user initiated HTTP request)
input_request = RequestSource(
input_request = RequestDataSource(
name="vals_to_add",
schema=[
Field(name="val_to_add", dtype=Int64),
Field(name="val_to_add_2", dtype=Int64),
],
schema={"val_to_add": ValueType.INT64, "val_to_add_2": ValueType.INT64},
)

# Define an on demand feature view which can generate new features based on
# existing feature views and RequestSource features
# existing feature views and RequestDataSource features
@on_demand_feature_view(
sources=[
driver_hourly_stats_view,
input_request,
],
schema=[
Field(name="conv_rate_plus_val1", dtype=Float64),
Field(name="conv_rate_plus_val2", dtype=Float64),
inputs={
"driver_hourly_stats": driver_hourly_stats_view,
"vals_to_add": input_request,
},
features=[
Feature(name="conv_rate_plus_val1", dtype=ValueType.DOUBLE),
Feature(name="conv_rate_plus_val2", dtype=ValueType.DOUBLE),
],
)
def transformed_conv_rate(inputs: pd.DataFrame) -> pd.DataFrame:
Expand All @@ -62,10 +55,7 @@ def transformed_conv_rate(inputs: pd.DataFrame) -> pd.DataFrame:
# Define request feature view
driver_age_request_fv = RequestFeatureView(
name="driver_age",
request_data_source=RequestSource(
name="driver_age",
schema=[
Field(name="driver_age", dtype=Int64),
],
request_data_source=RequestDataSource(
name="driver_age", schema={"driver_age": ValueType.INT64,}
),
)
4 changes: 4 additions & 0 deletions infra/charts/feast-python-server/Chart.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,11 @@ apiVersion: v2
name: feast-python-server
description: Feast Feature Server in Python
type: application
<<<<<<< HEAD
version: 0.20.0
=======
version: 0.18.1
>>>>>>> 33429a1f0c314c29901b17c9b9e2032b4163c4c9
keywords:
- machine learning
- big data
Expand Down
4 changes: 4 additions & 0 deletions infra/charts/feast-python-server/README.md
Original file line number Diff line number Diff line change
@@ -1,6 +1,10 @@
# feast-python-server

<<<<<<< HEAD
![Version: 0.20.0](https://img.shields.io/badge/Version-0.20.0-informational?style=flat-square) ![Type: application](https://img.shields.io/badge/Type-application-informational?style=flat-square)
=======
![Version: 0.18.1](https://img.shields.io/badge/Version-0.1.0-informational?style=flat-square) ![Type: application](https://img.shields.io/badge/Type-application-informational?style=flat-square)
>>>>>>> 33429a1f0c314c29901b17c9b9e2032b4163c4c9
Feast Feature Server in Python

Expand Down
4 changes: 4 additions & 0 deletions infra/charts/feast/Chart.yaml
Original file line number Diff line number Diff line change
@@ -1,7 +1,11 @@
apiVersion: v1
description: Feature store for machine learning
name: feast
<<<<<<< HEAD
version: 0.20.0
=======
version: 0.18.1
>>>>>>> 33429a1f0c314c29901b17c9b9e2032b4163c4c9
keywords:
- machine learning
- big data
Expand Down
9 changes: 9 additions & 0 deletions infra/charts/feast/README.md
Original file line number Diff line number Diff line change
Expand Up @@ -8,7 +8,11 @@ This repo contains Helm charts for Feast components that are being installed on

## Chart: Feast

<<<<<<< HEAD
Feature store for machine learning Current chart version is `0.20.0`
=======
Feature store for machine learning Current chart version is `0.18.1`
>>>>>>> 33429a1f0c314c29901b17c9b9e2032b4163c4c9
## Installation

Expand Down Expand Up @@ -55,8 +59,13 @@ For more details, please see: https://docs.feast.dev/how-to-guides/running-feast
| Repository | Name | Version |
|------------|------|---------|
| https://charts.helm.sh/stable | redis | 10.5.6 |
<<<<<<< HEAD
| https://feast-helm-charts.storage.googleapis.com | feature-server(feature-server) | 0.20.0 |
| https://feast-helm-charts.storage.googleapis.com | transformation-service(transformation-service) | 0.20.0 |
=======
| https://feast-helm-charts.storage.googleapis.com | feature-server(feature-server) | 0.18.1 |
| https://feast-helm-charts.storage.googleapis.com | transformation-service(transformation-service) | 0.18.1 |
>>>>>>> 33429a1f0c314c29901b17c9b9e2032b4163c4c9
## Values

Expand Down
5 changes: 5 additions & 0 deletions infra/charts/feast/charts/feature-server/Chart.yaml
Original file line number Diff line number Diff line change
@@ -1,8 +1,13 @@
apiVersion: v1
description: "Feast Feature Server: Online feature serving service for Feast"
name: feature-server
<<<<<<< HEAD
version: 0.20.0
appVersion: v0.20.0
=======
version: 0.18.1
appVersion: v0.18.1
>>>>>>> 33429a1f0c314c29901b17c9b9e2032b4163c4c9
keywords:
- machine learning
- big data
Expand Down
8 changes: 8 additions & 0 deletions infra/charts/feast/charts/feature-server/README.md
Original file line number Diff line number Diff line change
@@ -1,6 +1,10 @@
# feature-server

<<<<<<< HEAD
![Version: 0.20.0](https://img.shields.io/badge/Version-0.20.0-informational?style=flat-square) ![AppVersion: v0.20.0](https://img.shields.io/badge/AppVersion-v0.20.0-informational?style=flat-square)
=======
![Version: 0.18.1](https://img.shields.io/badge/Version-0.18.1-informational?style=flat-square) ![AppVersion: v0.18.1](https://img.shields.io/badge/AppVersion-v0.18.1-informational?style=flat-square)
>>>>>>> 33429a1f0c314c29901b17c9b9e2032b4163c4c9
Feast Feature Server: Online feature serving service for Feast

Expand All @@ -17,7 +21,11 @@ Feast Feature Server: Online feature serving service for Feast
| envOverrides | object | `{}` | Extra environment variables to set |
| image.pullPolicy | string | `"IfNotPresent"` | Image pull policy |
| image.repository | string | `"feastdev/feature-server-java"` | Docker image for Feature Server repository |
<<<<<<< HEAD
| image.tag | string | `"0.20.0"` | Image tag |
=======
| image.tag | string | `"0.18.1"` | Image tag |
>>>>>>> 33429a1f0c314c29901b17c9b9e2032b4163c4c9
| ingress.grpc.annotations | object | `{}` | Extra annotations for the ingress |
| ingress.grpc.auth.enabled | bool | `false` | Flag to enable auth |
| ingress.grpc.class | string | `"nginx"` | Which ingress controller to use |
Expand Down
4 changes: 4 additions & 0 deletions infra/charts/feast/charts/feature-server/values.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -5,7 +5,11 @@ image:
# image.repository -- Docker image for Feature Server repository
repository: feastdev/feature-server-java
# image.tag -- Image tag
<<<<<<< HEAD
tag: 0.20.0
=======
tag: 0.18.1
>>>>>>> 33429a1f0c314c29901b17c9b9e2032b4163c4c9
# image.pullPolicy -- Image pull policy
pullPolicy: IfNotPresent

Expand Down
5 changes: 5 additions & 0 deletions infra/charts/feast/charts/transformation-service/Chart.yaml
Original file line number Diff line number Diff line change
@@ -1,8 +1,13 @@
apiVersion: v1
description: "Transformation service: to compute on-demand features"
name: transformation-service
<<<<<<< HEAD
version: 0.20.0
appVersion: v0.20.0
=======
version: 0.18.1
appVersion: v0.18.1
>>>>>>> 33429a1f0c314c29901b17c9b9e2032b4163c4c9
keywords:
- machine learning
- big data
Expand Down
8 changes: 8 additions & 0 deletions infra/charts/feast/charts/transformation-service/README.md
Original file line number Diff line number Diff line change
@@ -1,6 +1,10 @@
# transformation-service

<<<<<<< HEAD
![Version: 0.20.0](https://img.shields.io/badge/Version-0.20.0-informational?style=flat-square) ![AppVersion: v0.20.0](https://img.shields.io/badge/AppVersion-v0.20.0-informational?style=flat-square)
=======
![Version: 0.18.1](https://img.shields.io/badge/Version-0.18.1-informational?style=flat-square) ![AppVersion: v0.18.1](https://img.shields.io/badge/AppVersion-v0.18.1-informational?style=flat-square)
>>>>>>> 33429a1f0c314c29901b17c9b9e2032b4163c4c9
Transformation service: to compute on-demand features

Expand All @@ -13,7 +17,11 @@ Transformation service: to compute on-demand features
| envOverrides | object | `{}` | Extra environment variables to set |
| image.pullPolicy | string | `"IfNotPresent"` | Image pull policy |
| image.repository | string | `"feastdev/feature-transformation-server"` | Docker image for Transformation Server repository |
<<<<<<< HEAD
| image.tag | string | `"0.20.0"` | Image tag |
=======
| image.tag | string | `"0.18.1"` | Image tag |
>>>>>>> 33429a1f0c314c29901b17c9b9e2032b4163c4c9
| nodeSelector | object | `{}` | Node labels for pod assignment |
| podLabels | object | `{}` | Labels to be added to Feast Serving pods |
| replicaCount | int | `1` | Number of pods that will be created |
Expand Down
4 changes: 4 additions & 0 deletions infra/charts/feast/charts/transformation-service/values.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -5,7 +5,11 @@ image:
# image.repository -- Docker image for Transformation Server repository
repository: feastdev/feature-transformation-server
# image.tag -- Image tag
<<<<<<< HEAD
tag: 0.20.0
=======
tag: 0.18.1
>>>>>>> 33429a1f0c314c29901b17c9b9e2032b4163c4c9
# image.pullPolicy -- Image pull policy
pullPolicy: IfNotPresent

Expand Down
8 changes: 8 additions & 0 deletions infra/charts/feast/requirements.yaml
Original file line number Diff line number Diff line change
@@ -1,12 +1,20 @@
dependencies:
- name: feature-server
alias: feature-server
<<<<<<< HEAD
version: 0.20.0
=======
version: 0.18.1
>>>>>>> 33429a1f0c314c29901b17c9b9e2032b4163c4c9
condition: feature-server.enabled
repository: https://feast-helm-charts.storage.googleapis.com
- name: transformation-service
alias: transformation-service
<<<<<<< HEAD
version: 0.20.0
=======
version: 0.18.1
>>>>>>> 33429a1f0c314c29901b17c9b9e2032b4163c4c9
condition: transformation-service.enabled
repository: https://feast-helm-charts.storage.googleapis.com
- name: redis
Expand Down
4 changes: 4 additions & 0 deletions java/pom.xml
Original file line number Diff line number Diff line change
Expand Up @@ -38,7 +38,11 @@
</modules>

<properties>
<<<<<<< HEAD
<revision>0.20.0</revision>
=======
<revision>0.18.1</revision>
>>>>>>> 33429a1f0c314c29901b17c9b9e2032b4163c4c9
<github.url>https://github.com/feast-dev/feast</github.url>

<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
Expand Down
Loading

0 comments on commit 1419106

Please sign in to comment.