Skip to content
This repository was archived by the owner on Apr 15, 2022. It is now read-only.

Commit b36aacf

Browse files
author
sergioferragut
committed
upper case for all schema name table name parameters to address DB case (2nd pass)
1 parent e2740bf commit b36aacf

File tree

1 file changed

+21
-4
lines changed

1 file changed

+21
-4
lines changed

splicemachine/features/feature_store.py

Lines changed: 21 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -413,13 +413,17 @@ def list_training_sets(self) -> Dict[str, Optional[str]]:
413413
"""
414414
raise NotImplementedError("To see available training views, run fs.describe_training_views()")
415415

416-
def _validate_feature_set(self, schema_name, table_name):
416+
def _validate_feature_set(self, schema_name: str, table_name: str):
417417
"""
418418
Asserts a feature set doesn't already exist in the database
419419
:param schema_name: schema name of the feature set
420420
:param table_name: table name of the feature set
421421
:return: None
422422
"""
423+
# database stores object names in upper case
424+
schema_name = schema_name.upper()
425+
table_name = table_name.upper()
426+
423427
str = f'Feature Set {schema_name}.{table_name} already exists. Use a different schema and/or table name.'
424428
# Validate Table
425429
assert not self.splice_ctx.tableExists(schema_name, table_name=table_name), str
@@ -502,6 +506,7 @@ def create_feature(self, schema_name: str, table_name: str, name: str, feature_d
502506
# database stores object names in upper case
503507
schema_name = schema_name.upper()
504508
table_name = table_name.upper()
509+
505510
if self.splice_ctx.tableExists(schema_name, table_name):
506511
raise SpliceMachineException(f"Feature Set {schema_name}.{table_name} is already deployed. You cannot "
507512
f"add features to a deployed feature set.")
@@ -612,7 +617,7 @@ def _process_features(self, features: List[Union[Feature, str]]) -> List[Feature
612617
" a feature name (string) or a Feature object"
613618
return all_features
614619

615-
def deploy_feature_set(self, schema_name, table_name):
620+
def deploy_feature_set(self, schema_name: str, table_name: str):
616621
"""
617622
Deploys a feature set to the database. This persists the feature stores existence.
618623
As of now, once deployed you cannot delete the feature set or add/delete features.
@@ -622,6 +627,9 @@ def deploy_feature_set(self, schema_name, table_name):
622627
:param table_name: The table of the created feature set
623628
"""
624629
try:
630+
# database stores object names in upper case
631+
schema_name = schema_name.upper()
632+
table_name = table_name.upper()
625633
fset = self.get_feature_sets(_filter={'schema_name': schema_name, 'table_name': table_name})[0]
626634
except:
627635
raise SpliceMachineException(
@@ -701,13 +709,17 @@ def describe_training_view(self, training_view: str) -> None:
701709
def set_feature_description(self):
702710
raise NotImplementedError
703711

704-
def get_training_set_from_deployment(self, schema_name, table_name):
712+
def get_training_set_from_deployment(self, schema_name: str, table_name: str):
705713
"""
706714
Reads Feature Store metadata to rebuild orginal training data set used for the given deployed model.
707715
:param schema_name: model schema name
708716
:param table_name: model table name
709717
:return:
710718
"""
719+
# database stores object names in upper case
720+
schema_name = schema_name.upper()
721+
table_name = table_name.upper()
722+
711723
metadata = self._retrieve_training_set_metadata_from_deployement(schema_name, table_name)
712724
features = metadata['FEATURES'].split(',')
713725
tv_name = metadata['NAME']
@@ -720,13 +732,17 @@ def get_training_set_from_deployment(self, schema_name, table_name):
720732
training_set_df = self.get_training_set(features=features, start_time=start_time, end_time=end_time)
721733
return training_set_df
722734

723-
def _retrieve_model_data_sets(self, schema_name, table_name):
735+
def _retrieve_model_data_sets(self, schema_name: str, table_name: str):
724736
"""
725737
Returns the training set dataframe and model table dataframe for a given deployed model.
726738
:param schema_name: model schema name
727739
:param table_name: model table name
728740
:return:
729741
"""
742+
# database stores object names in upper case
743+
schema_name = schema_name.upper()
744+
table_name = table_name.upper()
745+
730746
training_set_df = self.get_training_set_from_deployment(schema_name, table_name)
731747
model_table_df = self.splice_ctx.df(f'SELECT * FROM {schema_name}.{table_name}')
732748
return training_set_df, model_table_df
@@ -785,6 +801,7 @@ def display_model_drift(self, schema_name: str, table_name: str, time_intervals:
785801
# database stores object names in upper case
786802
schema_name = schema_name.upper()
787803
table_name = table_name.upper()
804+
788805
# set default timeframe if not specified
789806
if not start_time:
790807
start_time = datetime(1900, 1, 1, 0, 0, 0)

0 commit comments

Comments
 (0)