Skip to content

Commit d2012d9

Browse files
committed
Update feature_group.py
1 parent 9213962 commit d2012d9

File tree

3 files changed

+28
-9
lines changed

3 files changed

+28
-9
lines changed

src/sagemaker/feature_store/feature_group.py

Lines changed: 7 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -511,8 +511,13 @@ def as_hive_ddl(self, database: str = "sagemaker_featurestore", table_name: str
511511
"""
512512
if not table_name:
513513
table_name = self.name
514-
515-
resolved_output_s3_uri = self.describe().get("OfflineStoreConfig").get("S3StorageConfig").get("ResolvedOutputS3Uri")
514+
515+
resolved_output_s3_uri = (
516+
self.describe()
517+
.get("OfflineStoreConfig")
518+
.get("S3StorageConfig")
519+
.get("ResolvedOutputS3Uri")
520+
)
516521

517522
ddl = f"CREATE EXTERNAL TABLE IF NOT EXISTS {database}.{table_name} (\n"
518523
for definition in self.feature_definitions:

tests/integ/test_feature_store.py

Lines changed: 8 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -179,8 +179,7 @@ def test_create_feature_store(
179179
):
180180
feature_group = FeatureGroup(name=feature_group_name, sagemaker_session=feature_store_session)
181181
feature_group.load_feature_definitions(data_frame=pandas_data_frame)
182-
resolved_output_s3_uri = feature_group.describe().get("OfflineStoreConfig").get("S3StorageConfig").get("ResolvedOutputS3Uri")
183-
182+
184183
with cleanup_feature_group(feature_group):
185184
output = feature_group.create(
186185
s3_uri=offline_store_s3_uri,
@@ -191,6 +190,12 @@ def test_create_feature_store(
191190
)
192191
_wait_for_feature_group_create(feature_group)
193192

193+
resolved_output_s3_uri = (
194+
feature_group.describe()
195+
.get("OfflineStoreConfig")
196+
.get("S3StorageConfig")
197+
.get("ResolvedOutputS3Uri")
198+
)
194199
# Ingest data
195200
feature_group.put_record(record=record)
196201
ingestion_manager = feature_group.ingest(
@@ -225,7 +230,7 @@ def test_create_feature_store(
225230
feature_group_name=feature_group_name,
226231
region=feature_store_session.boto_session.region_name,
227232
account=feature_store_session.account_id(),
228-
resolved_output_s3_uri=resolved_output_s3_uri
233+
resolved_output_s3_uri=resolved_output_s3_uri,
229234
)
230235
== feature_group.as_hive_ddl()
231236
)

tests/unit/sagemaker/feature_store/test_feature_store.py

Lines changed: 13 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -66,8 +66,7 @@ def create_table_ddl():
6666
" STORED AS\n"
6767
" INPUTFORMAT 'parquet.hive.DeprecatedParquetInputFormat'\n"
6868
" OUTPUTFORMAT 'parquet.hive.DeprecatedParquetOutputFormat'\n"
69-
"LOCATION 's3://some-bucket"
70-
"/{account}/sagemaker/{region}/offline-store/{feature_group_name}'"
69+
"LOCATION 's3://resolved_output_s3_uri'"
7170
)
7271

7372

@@ -217,7 +216,12 @@ def test_as_hive_ddl_with_default_values(
217216
create_table_ddl, feature_group_dummy_definitions, sagemaker_session_mock
218217
):
219218
sagemaker_session_mock.describe_feature_group.return_value = {
220-
"OfflineStoreConfig": {"S3StorageConfig": {"S3Uri": "s3://some-bucket"}}
219+
"OfflineStoreConfig": {
220+
"S3StorageConfig": {
221+
"S3Uri": "s3://some-bucket",
222+
"ResolvedOutputS3Uri": "s3://resolved_output_s3_uri",
223+
}
224+
}
221225
}
222226
sagemaker_session_mock.account_id.return_value = "1234"
223227
sagemaker_session_mock.boto_session.region_name = "us-west-2"
@@ -238,7 +242,12 @@ def test_as_hive_ddl_with_default_values(
238242

239243
def test_as_hive_ddl(create_table_ddl, feature_group_dummy_definitions, sagemaker_session_mock):
240244
sagemaker_session_mock.describe_feature_group.return_value = {
241-
"OfflineStoreConfig": {"S3StorageConfig": {"S3Uri": "s3://some-bucket"}}
245+
"OfflineStoreConfig": {
246+
"S3StorageConfig": {
247+
"S3Uri": "s3://some-bucket",
248+
"ResolvedOutputS3Uri": "s3://resolved_output_s3_uri",
249+
}
250+
}
242251
}
243252
sagemaker_session_mock.account_id.return_value = "1234"
244253
sagemaker_session_mock.boto_session.region_name = "us-west-2"

0 commit comments

Comments
 (0)