Skip to content

Commit 1cb008d

Browse files
chore: Update docstrings for offline stores and retrieval jobs (#3062)
* Update offline store docstrings Signed-off-by: Felix Wang <wangfelix98@gmail.com> * Update docstrings for retrieval job Signed-off-by: Felix Wang <wangfelix98@gmail.com> * Clarify docstrings Signed-off-by: Felix Wang <wangfelix98@gmail.com> * Change type of on_demand_feature_views property Signed-off-by: Felix Wang <wangfelix98@gmail.com> Signed-off-by: Felix Wang <wangfelix98@gmail.com>
1 parent 5cebee8 commit 1cb008d

9 files changed

Lines changed: 141 additions & 124 deletions

File tree

sdk/python/feast/infra/offline_stores/bigquery.py

Lines changed: 10 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -399,9 +399,7 @@ def query_generator() -> Iterator[str]:
399399
self.client = client
400400
self.config = config
401401
self._full_feature_names = full_feature_names
402-
self._on_demand_feature_views = (
403-
on_demand_feature_views if on_demand_feature_views else []
404-
)
402+
self._on_demand_feature_views = on_demand_feature_views or []
405403
self._metadata = metadata
406404
if self.config.offline_store.gcs_staging_location:
407405
self._gcs_path = (
@@ -417,7 +415,7 @@ def full_feature_names(self) -> bool:
417415
return self._full_feature_names
418416

419417
@property
420-
def on_demand_feature_views(self) -> Optional[List[OnDemandFeatureView]]:
418+
def on_demand_feature_views(self) -> List[OnDemandFeatureView]:
421419
return self._on_demand_feature_views
422420

423421
def _to_df_internal(self) -> pd.DataFrame:
@@ -426,29 +424,27 @@ def _to_df_internal(self) -> pd.DataFrame:
426424
return df
427425

428426
def to_sql(self) -> str:
429-
"""
430-
Returns the SQL query that will be executed in BigQuery to build the historical feature table.
431-
"""
427+
"""Returns the underlying SQL query."""
432428
with self._query_generator() as query:
433429
return query
434430

435431
def to_bigquery(
436432
self,
437-
job_config: bigquery.QueryJobConfig = None,
433+
job_config: Optional[bigquery.QueryJobConfig] = None,
438434
timeout: int = 1800,
439435
retry_cadence: int = 10,
440436
) -> str:
441437
"""
442-
Triggers the execution of a historical feature retrieval query and exports the results to a BigQuery table.
443-
Runs for a maximum amount of time specified by the timeout parameter (defaulting to 30 minutes).
438+
Synchronously executes the underlying query and exports the result to a BigQuery table. The
439+
underlying BigQuery job runs for a limited amount of time (the default is 30 minutes).
444440
445441
Args:
446-
job_config: An optional bigquery.QueryJobConfig to specify options like destination table, dry run, etc.
447-
timeout: An optional number of seconds for setting the time limit of the QueryJob.
448-
retry_cadence: An optional number of seconds for setting how long the job should checked for completion.
442+
job_config (optional): A bigquery.QueryJobConfig to specify options like the destination table, dry run, etc.
443+
timeout (optional): The time limit of the BigQuery job in seconds. Defaults to 30 minutes.
444+
retry_cadence (optional): The number of seconds for setting how long the job should checked for completion.
449445
450446
Returns:
451-
Returns the destination table name or returns None if job_config.dry_run is True.
447+
Returns the destination table name or None if job_config.dry_run is True.
452448
"""
453449

454450
if not job_config:

sdk/python/feast/infra/offline_stores/contrib/athena_offline_store/athena.py

Lines changed: 2 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -333,17 +333,15 @@ def query_generator() -> Iterator[str]:
333333
self._s3_resource = s3_resource
334334
self._config = config
335335
self._full_feature_names = full_feature_names
336-
self._on_demand_feature_views = (
337-
on_demand_feature_views if on_demand_feature_views else []
338-
)
336+
self._on_demand_feature_views = on_demand_feature_views or []
339337
self._metadata = metadata
340338

341339
@property
342340
def full_feature_names(self) -> bool:
343341
return self._full_feature_names
344342

345343
@property
346-
def on_demand_feature_views(self) -> Optional[List[OnDemandFeatureView]]:
344+
def on_demand_feature_views(self) -> List[OnDemandFeatureView]:
347345
return self._on_demand_feature_views
348346

349347
def get_temp_s3_path(self) -> str:

sdk/python/feast/infra/offline_stores/contrib/postgres_offline_store/postgres.py

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -247,15 +247,15 @@ def query_generator() -> Iterator[str]:
247247
self._query_generator = query_generator
248248
self.config = config
249249
self._full_feature_names = full_feature_names
250-
self._on_demand_feature_views = on_demand_feature_views
250+
self._on_demand_feature_views = on_demand_feature_views or []
251251
self._metadata = metadata
252252

253253
@property
254254
def full_feature_names(self) -> bool:
255255
return self._full_feature_names
256256

257257
@property
258-
def on_demand_feature_views(self) -> Optional[List[OnDemandFeatureView]]:
258+
def on_demand_feature_views(self) -> List[OnDemandFeatureView]:
259259
return self._on_demand_feature_views
260260

261261
def _to_df_internal(self) -> pd.DataFrame:

sdk/python/feast/infra/offline_stores/contrib/spark_offline_store/spark.py

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -245,15 +245,15 @@ def __init__(
245245
self.spark_session = spark_session
246246
self.query = query
247247
self._full_feature_names = full_feature_names
248-
self._on_demand_feature_views = on_demand_feature_views
248+
self._on_demand_feature_views = on_demand_feature_views or []
249249
self._metadata = metadata
250250

251251
@property
252252
def full_feature_names(self) -> bool:
253253
return self._full_feature_names
254254

255255
@property
256-
def on_demand_feature_views(self) -> Optional[List[OnDemandFeatureView]]:
256+
def on_demand_feature_views(self) -> List[OnDemandFeatureView]:
257257
return self._on_demand_feature_views
258258

259259
def to_spark_df(self) -> pyspark.sql.DataFrame:

sdk/python/feast/infra/offline_stores/contrib/trino_offline_store/trino.py

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -74,15 +74,15 @@ def __init__(
7474
self._client = client
7575
self._config = config
7676
self._full_feature_names = full_feature_names
77-
self._on_demand_feature_views = on_demand_feature_views
77+
self._on_demand_feature_views = on_demand_feature_views or []
7878
self._metadata = metadata
7979

8080
@property
8181
def full_feature_names(self) -> bool:
8282
return self._full_feature_names
8383

8484
@property
85-
def on_demand_feature_views(self) -> Optional[List[OnDemandFeatureView]]:
85+
def on_demand_feature_views(self) -> List[OnDemandFeatureView]:
8686
return self._on_demand_feature_views
8787

8888
def _to_df_internal(self) -> pd.DataFrame:

sdk/python/feast/infra/offline_stores/file.py

Lines changed: 2 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -59,17 +59,15 @@ def __init__(
5959
# The evaluation function executes a stored procedure to compute a historical retrieval.
6060
self.evaluation_function = evaluation_function
6161
self._full_feature_names = full_feature_names
62-
self._on_demand_feature_views = (
63-
on_demand_feature_views if on_demand_feature_views else []
64-
)
62+
self._on_demand_feature_views = on_demand_feature_views or []
6563
self._metadata = metadata
6664

6765
@property
6866
def full_feature_names(self) -> bool:
6967
return self._full_feature_names
7068

7169
@property
72-
def on_demand_feature_views(self) -> Optional[List[OnDemandFeatureView]]:
70+
def on_demand_feature_views(self) -> List[OnDemandFeatureView]:
7371
return self._on_demand_feature_views
7472

7573
@log_exceptions_and_usage

0 commit comments

Comments
 (0)