From ace2817977f724657bd914197902f7ac33a87060 Mon Sep 17 00:00:00 2001 From: Huib Keemink Date: Sat, 4 Jun 2022 14:55:51 +0200 Subject: [PATCH 1/3] Added Spark support for Delta and Avro Signed-off-by: Huib Keemink --- .../offline_stores/contrib/spark_offline_store/spark_source.py | 2 ++ 1 file changed, 2 insertions(+) diff --git a/sdk/python/feast/infra/offline_stores/contrib/spark_offline_store/spark_source.py b/sdk/python/feast/infra/offline_stores/contrib/spark_offline_store/spark_source.py index c94b1913598..daf3cd252ad 100644 --- a/sdk/python/feast/infra/offline_stores/contrib/spark_offline_store/spark_source.py +++ b/sdk/python/feast/infra/offline_stores/contrib/spark_offline_store/spark_source.py @@ -25,6 +25,8 @@ class SparkSourceFormat(Enum): csv = "csv" json = "json" parquet = "parquet" + delta = "delta" + avro = "avro" class SparkSource(DataSource): From 2ba4e2e93a24f93d224b80b2bc7fd38522fe005c Mon Sep 17 00:00:00 2001 From: Huib Keemink Date: Tue, 14 Jun 2022 17:36:08 +0200 Subject: [PATCH 2/3] Added a section about using env variables in the yaml config Signed-off-by: Huib Keemink --- docs/how-to-guides/running-feast-in-production.md | 13 +++++++++++++ 1 file changed, 13 insertions(+) diff --git a/docs/how-to-guides/running-feast-in-production.md b/docs/how-to-guides/running-feast-in-production.md index 53808326091..6faad2bd189 100644 --- a/docs/how-to-guides/running-feast-in-production.md +++ b/docs/how-to-guides/running-feast-in-production.md @@ -310,6 +310,19 @@ We use an [InfluxDB-style extension](https://github.com/prometheus/statsd_export We chose StatsD since it's a de-facto standard with various implementations (eg, [1](https://github.com/prometheus/statsd_exporter), [2](https://github.com/influxdata/telegraf/blob/master/plugins/inputs/statsd/README.md)) and metrics can be easily exported to Prometheus, InfluxDB, AWS CloudWatch, etc. +## 7. Using environment variables in your yaml configuration + +You might want to dynamically set parts of your configuration from your environment. For instance to deploy Feast to production and development with the same configuration, but a different server. Or to inject secrets without exposing them in your git repo. To do this, it is possible to use the `${ENV_VAR}` syntax in your `feature_store.yaml` file. For instance: + +```yaml +project: my_project +registry: data/registry.db +provider: local +online_store: + type: redis + connection_string: ${REDIS_CONNECTION_STRING} +``` + --- ## Summary From aea5b0e476366de03bf44f39a30c878bf4134bf7 Mon Sep 17 00:00:00 2001 From: Huib Keemink Date: Wed, 15 Jun 2022 08:42:09 +0200 Subject: [PATCH 3/3] Added info on adding defaults when using env var in yaml Signed-off-by: Huib Keemink --- docs/how-to-guides/running-feast-in-production.md | 11 +++++++++++ 1 file changed, 11 insertions(+) diff --git a/docs/how-to-guides/running-feast-in-production.md b/docs/how-to-guides/running-feast-in-production.md index 6faad2bd189..fa9f1a0193b 100644 --- a/docs/how-to-guides/running-feast-in-production.md +++ b/docs/how-to-guides/running-feast-in-production.md @@ -323,6 +323,17 @@ online_store: connection_string: ${REDIS_CONNECTION_STRING} ``` +It is possible to set a default value if the environment variable is not set, with `${ENV_VAR:"default"}`. For instance: + +```yaml +project: my_project +registry: data/registry.db +provider: local +online_store: + type: redis + connection_string: ${REDIS_CONNECTION_STRING:"0.0.0.0:6379"} +``` + --- ## Summary