From e3f691770f5f0d7d89b88d8d163efe12eae3ef60 Mon Sep 17 00:00:00 2001 From: Laurynas Stasys Date: Wed, 9 Apr 2025 00:20:33 +0300 Subject: [PATCH 1/2] added clickhouse to OFFLINE_STORE_CLASS_FOR_TYPE map Signed-off-by: Laurynas Stasys --- sdk/python/feast/repo_config.py | 1 + 1 file changed, 1 insertion(+) diff --git a/sdk/python/feast/repo_config.py b/sdk/python/feast/repo_config.py index 8b90974233b..e8cd453c791 100644 --- a/sdk/python/feast/repo_config.py +++ b/sdk/python/feast/repo_config.py @@ -100,6 +100,7 @@ "duckdb": "feast.infra.offline_stores.duckdb.DuckDBOfflineStore", "remote": "feast.infra.offline_stores.remote.RemoteOfflineStore", "couchbase.offline": "feast.infra.offline_stores.contrib.couchbase_offline_store.couchbase.CouchbaseColumnarOfflineStore", + "clickhouse": "feast.infra.offline_stores.contrib.clickhouse_offline_store.clickhouse.ClickhouseOfflineStore", } FEATURE_SERVER_CONFIG_CLASS_FOR_TYPE = { From 0d017f14977eb1e878440f5caaa72e7f67a57b2e Mon Sep 17 00:00:00 2001 From: Laurynas Stasys Date: Sun, 13 Apr 2025 23:48:17 +0300 Subject: [PATCH 2/2] removing redundant brackets from from_expression Signed-off-by: Laurynas Stasys --- .../contrib/clickhouse_offline_store/clickhouse.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/sdk/python/feast/infra/offline_stores/contrib/clickhouse_offline_store/clickhouse.py b/sdk/python/feast/infra/offline_stores/contrib/clickhouse_offline_store/clickhouse.py index dad5b470cd8..bca6339fb15 100644 --- a/sdk/python/feast/infra/offline_stores/contrib/clickhouse_offline_store/clickhouse.py +++ b/sdk/python/feast/infra/offline_stores/contrib/clickhouse_offline_store/clickhouse.py @@ -176,7 +176,7 @@ def pull_latest_from_table_or_query( FROM ( SELECT {a_field_string}, ROW_NUMBER() OVER({partition_by_join_key_string} ORDER BY {timestamp_desc_string}) AS _feast_row - FROM ({from_expression}) a + FROM {from_expression} a WHERE a."{timestamp_field}" BETWEEN toDateTime64('{start_date.replace(tzinfo=None)!s}', 6, '{start_date.tzinfo!s}') AND toDateTime64('{end_date.replace(tzinfo=None)!s}', 6, '{end_date.tzinfo!s}')