From 94295a0e5f9158078364189c38a479d994133c12 Mon Sep 17 00:00:00 2001 From: Miles Adkins Date: Wed, 6 Apr 2022 17:10:22 -0500 Subject: [PATCH 1/3] fixed bug in passing config file params to snowflake python connector Signed-off-by: Miles Adkins --- sdk/python/feast/infra/offline_stores/snowflake.py | 2 +- sdk/python/feast/infra/utils/snowflake_utils.py | 9 ++++++++- 2 files changed, 9 insertions(+), 2 deletions(-) diff --git a/sdk/python/feast/infra/offline_stores/snowflake.py b/sdk/python/feast/infra/offline_stores/snowflake.py index 968055fcee..c88e1b1844 100644 --- a/sdk/python/feast/infra/offline_stores/snowflake.py +++ b/sdk/python/feast/infra/offline_stores/snowflake.py @@ -82,7 +82,7 @@ class SnowflakeOfflineStoreConfig(FeastConfigBaseModel): database: Optional[str] = None """ Snowflake database name """ - schema_: Optional[str] = Field("PUBLIC", alias="schema") + schema_: Optional[str] = Field(None, alias="schema") """ Snowflake schema name """ class Config: diff --git a/sdk/python/feast/infra/utils/snowflake_utils.py b/sdk/python/feast/infra/utils/snowflake_utils.py index 065a4bad46..5327d8ebbf 100644 --- a/sdk/python/feast/infra/utils/snowflake_utils.py +++ b/sdk/python/feast/infra/utils/snowflake_utils.py @@ -53,13 +53,20 @@ def get_snowflake_conn(config, autocommit=True) -> SnowflakeConnection: else: kwargs = {} + if "schema" in kwargs.keys(): + kwargs["schema_"] = kwargs.pop("schema") + kwargs.update((k, v) for k, v in config_dict.items() if v is not None) [ kwargs.update({k: '"' + v + '"'}) for k, v in kwargs.items() if k in ["role", "warehouse", "database", "schema_"] ] - kwargs["schema"] = kwargs.pop("schema_") + + if "schema" in kwargs.keys(): + kwargs["schema"] = kwargs.pop("schema_") + else: + kwargs["schema"] = '"PUBLIC"' try: conn = snowflake.connector.connect( From b071d722795985d1def7ef7d1f9b392869c7fef2 Mon Sep 17 00:00:00 2001 From: Miles Adkins Date: Wed, 6 Apr 2022 17:54:39 -0500 Subject: [PATCH 2/3] removed .keys() bug Signed-off-by: Miles Adkins --- sdk/python/feast/infra/utils/snowflake_utils.py | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/sdk/python/feast/infra/utils/snowflake_utils.py b/sdk/python/feast/infra/utils/snowflake_utils.py index 5327d8ebbf..417f0d9b8d 100644 --- a/sdk/python/feast/infra/utils/snowflake_utils.py +++ b/sdk/python/feast/infra/utils/snowflake_utils.py @@ -53,7 +53,7 @@ def get_snowflake_conn(config, autocommit=True) -> SnowflakeConnection: else: kwargs = {} - if "schema" in kwargs.keys(): + if "schema" in kwargs: kwargs["schema_"] = kwargs.pop("schema") kwargs.update((k, v) for k, v in config_dict.items() if v is not None) @@ -63,7 +63,7 @@ def get_snowflake_conn(config, autocommit=True) -> SnowflakeConnection: if k in ["role", "warehouse", "database", "schema_"] ] - if "schema" in kwargs.keys(): + if "schema" in kwargs: kwargs["schema"] = kwargs.pop("schema_") else: kwargs["schema"] = '"PUBLIC"' From 3d19ee6d45e50c210e3c3e99989bb0f9e86ca2da Mon Sep 17 00:00:00 2001 From: Miles Adkins Date: Thu, 7 Apr 2022 12:50:21 -0500 Subject: [PATCH 3/3] fixed schema assignment error Signed-off-by: Miles Adkins --- sdk/python/feast/infra/utils/snowflake_utils.py | 11 +++++------ 1 file changed, 5 insertions(+), 6 deletions(-) diff --git a/sdk/python/feast/infra/utils/snowflake_utils.py b/sdk/python/feast/infra/utils/snowflake_utils.py index 417f0d9b8d..3513daa878 100644 --- a/sdk/python/feast/infra/utils/snowflake_utils.py +++ b/sdk/python/feast/infra/utils/snowflake_utils.py @@ -57,13 +57,12 @@ def get_snowflake_conn(config, autocommit=True) -> SnowflakeConnection: kwargs["schema_"] = kwargs.pop("schema") kwargs.update((k, v) for k, v in config_dict.items() if v is not None) - [ - kwargs.update({k: '"' + v + '"'}) - for k, v in kwargs.items() - if k in ["role", "warehouse", "database", "schema_"] - ] - if "schema" in kwargs: + for k, v in kwargs.items(): + if k in ["role", "warehouse", "database", "schema_"]: + kwargs[k] = f'"{v}"' + + if "schema_" in kwargs: kwargs["schema"] = kwargs.pop("schema_") else: kwargs["schema"] = '"PUBLIC"'