From 9e140f94599d328e46f01e257a7162a2c799ae71 Mon Sep 17 00:00:00 2001 From: "NHUAN.TRAN" Date: Sat, 10 Sep 2022 11:07:10 +0700 Subject: [PATCH 1/2] Filter subset features Signed-off-by: NHUAN.TRAN Signed-off-by: NHUAN.TRAN --- .../infra/online_stores/contrib/postgres.py | 31 ++++++++++++------- 1 file changed, 20 insertions(+), 11 deletions(-) diff --git a/sdk/python/feast/infra/online_stores/contrib/postgres.py b/sdk/python/feast/infra/online_stores/contrib/postgres.py index 18f3b189e7d..80003a3faa4 100644 --- a/sdk/python/feast/infra/online_stores/contrib/postgres.py +++ b/sdk/python/feast/infra/online_stores/contrib/postgres.py @@ -114,17 +114,26 @@ def online_read( ) ) - cur.execute( - sql.SQL( - """ - SELECT entity_key, feature_name, value, event_ts - FROM {} WHERE entity_key = ANY(%s); - """ - ).format( - sql.Identifier(_table_id(project, table)), - ), - (keys,), - ) + if not requested_features: + cur.execute( + sql.SQL( + """ + SELECT entity_key, feature_name, value, event_ts + FROM {} WHERE entity_key = ANY(%s); + """ + ).format(sql.Identifier(_table_id(project, table)),), + (keys,), + ) + else: + cur.execute( + sql.SQL( + """ + SELECT entity_key, feature_name, value, event_ts + FROM {} WHERE entity_key = ANY(%s) and feature_name = ANY(%s); + """ + ).format(sql.Identifier(_table_id(project, table)),), + (keys, requested_features), + ) rows = cur.fetchall() From bc4b939312e3b657c8ae0acefa1b3198f56740ed Mon Sep 17 00:00:00 2001 From: "NHUAN.TRAN" Date: Tue, 13 Sep 2022 10:01:12 +0700 Subject: [PATCH 2/2] Fix python lint Signed-off-by: NHUAN.TRAN --- sdk/python/feast/infra/online_stores/contrib/postgres.py | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-) diff --git a/sdk/python/feast/infra/online_stores/contrib/postgres.py b/sdk/python/feast/infra/online_stores/contrib/postgres.py index 80003a3faa4..144b242a1d6 100644 --- a/sdk/python/feast/infra/online_stores/contrib/postgres.py +++ b/sdk/python/feast/infra/online_stores/contrib/postgres.py @@ -121,7 +121,9 @@ def online_read( SELECT entity_key, feature_name, value, event_ts FROM {} WHERE entity_key = ANY(%s); """ - ).format(sql.Identifier(_table_id(project, table)),), + ).format( + sql.Identifier(_table_id(project, table)), + ), (keys,), ) else: @@ -131,7 +133,9 @@ def online_read( SELECT entity_key, feature_name, value, event_ts FROM {} WHERE entity_key = ANY(%s) and feature_name = ANY(%s); """ - ).format(sql.Identifier(_table_id(project, table)),), + ).format( + sql.Identifier(_table_id(project, table)), + ), (keys, requested_features), )