diff --git a/infra/charts/feast-feature-server/Chart.yaml b/infra/charts/feast-feature-server/Chart.yaml index 15cb614123..a88a067f9d 100644 --- a/infra/charts/feast-feature-server/Chart.yaml +++ b/infra/charts/feast-feature-server/Chart.yaml @@ -2,7 +2,7 @@ apiVersion: v2 name: feast-feature-server description: Feast Feature Server in Go or Python type: application -version: 0.42.0 +version: 0.42.1 keywords: - machine learning - big data diff --git a/infra/charts/feast-feature-server/README.md b/infra/charts/feast-feature-server/README.md index a1578196b9..1c3e17993f 100644 --- a/infra/charts/feast-feature-server/README.md +++ b/infra/charts/feast-feature-server/README.md @@ -60,4 +60,5 @@ See [here](https://github.com/feast-dev/feast/tree/master/examples/python-helm-d | service.port | int | `80` | | | service.type | string | `"ClusterIP"` | | | serviceAccount.name | string | `""` | | -| tolerations | list | `[]` | | \ No newline at end of file +| tolerations | list | `[]` | | +| route.enabled | bool | `false` | | \ No newline at end of file diff --git a/infra/charts/feast-feature-server/templates/route.yaml b/infra/charts/feast-feature-server/templates/route.yaml new file mode 100644 index 0000000000..2f4d36d9e5 --- /dev/null +++ b/infra/charts/feast-feature-server/templates/route.yaml @@ -0,0 +1,18 @@ +{{- if and (.Values.route.enabled) (eq .Values.feast_mode "ui") }} +--- +kind: Route +apiVersion: route.openshift.io/v1 +metadata: + name: {{ include "feast-feature-server.fullname" . }} + labels: + {{- include "feast-feature-server.labels" . | nindent 4 }} +spec: + to: + kind: Service + name: {{ include "feast-feature-server.fullname" . }} + port: + targetPort: http + tls: + termination: edge + insecureEdgeTerminationPolicy: Redirect +{{- end}} \ No newline at end of file diff --git a/infra/charts/feast-feature-server/values.yaml b/infra/charts/feast-feature-server/values.yaml index ed54d328d1..9a0d298663 100644 --- a/infra/charts/feast-feature-server/values.yaml +++ b/infra/charts/feast-feature-server/values.yaml @@ -74,3 +74,7 @@ livenessProbe: readinessProbe: initialDelaySeconds: 20 periodSeconds: 10 + +# to create OpenShift Route object for UI +route: + enabled: false \ No newline at end of file diff --git a/sdk/python/feast/infra/online_stores/milvus_online_store/milvus.py b/sdk/python/feast/infra/online_stores/milvus_online_store/milvus.py index 8d5405c428..f2283387a0 100644 --- a/sdk/python/feast/infra/online_stores/milvus_online_store/milvus.py +++ b/sdk/python/feast/infra/online_stores/milvus_online_store/milvus.py @@ -108,12 +108,16 @@ class MilvusOnlineStore(OnlineStore): def _connect(self, config: RepoConfig) -> MilvusClient: if not self.client: - self.client = MilvusClient( - url=f"{config.online_store.host}:{config.online_store.port}", - token=f"{config.online_store.username}:{config.online_store.password}" - if config.online_store.username and config.online_store.password - else "", - ) + if config.provider == "local": + print("Connecting to Milvus in local mode using ./milvus_demo.db") + self.client = MilvusClient("./milvus_demo.db") + else: + self.client = MilvusClient( + url=f"{config.online_store.host}:{config.online_store.port}", + token=f"{config.online_store.username}:{config.online_store.password}" + if config.online_store.username and config.online_store.password + else "", + ) return self.client def _get_collection(self, config: RepoConfig, table: FeatureView) -> Dict[str, Any]: @@ -247,7 +251,8 @@ def online_write_batch( progress(1) self.client.insert( - collection_name=collection["collection_name"], data=entity_batch_to_insert + collection_name=collection["collection_name"], + data=entity_batch_to_insert, ) def online_read( diff --git a/sdk/python/feast/type_map.py b/sdk/python/feast/type_map.py index 000e9cdae4..7e2b8a5362 100644 --- a/sdk/python/feast/type_map.py +++ b/sdk/python/feast/type_map.py @@ -815,6 +815,7 @@ def spark_to_feast_value_type(spark_type_as_str: str) -> ValueType: "float": ValueType.FLOAT, "boolean": ValueType.BOOL, "timestamp": ValueType.UNIX_TIMESTAMP, + "date": ValueType.UNIX_TIMESTAMP, "array": ValueType.BYTES_LIST, "array": ValueType.STRING_LIST, "array": ValueType.INT32_LIST, @@ -824,6 +825,7 @@ def spark_to_feast_value_type(spark_type_as_str: str) -> ValueType: "array": ValueType.FLOAT_LIST, "array": ValueType.BOOL_LIST, "array": ValueType.UNIX_TIMESTAMP_LIST, + "array": ValueType.UNIX_TIMESTAMP_LIST, } if spark_type_as_str.startswith("decimal"): spark_type_as_str = "decimal"