Skip to content

featurebyte.SCDTable.get_view

get_view(
view_mode: Literal[ViewMode.AUTO, ViewMode.MANUAL]="auto",
drop_column_names: Optional[List[str]]=None,
column_cleaning_operations: Optional[List[ColumnCleaningOperation]]=None
) -> SCDView

Description

Gets an SCDView object from a SCDTable object that represents a Slowly Changing Dimension (SCD) table. SCD views are typically used to create Lookup features for the entity represented by the natural key of the table or to create Aggregate As At features for other entities. They can also be used to enrich views of event or item tables through joins.

You have the option to choose between two view construction modes: auto and manual, with auto being the default mode.

When using the auto mode, the data accessed through the view is cleaned based on the default cleaning operations specified in the catalog table and special columns such as the record creation timestamp, the active flag and the experiation timestamp that are not intended for feature engineering are not included in the view columns.

In manual mode, the default cleaning operations are not applied, and you have the flexibility to define your own cleaning operations.

Parameters

  • view_mode: Literal[ViewMode.AUTO, ViewMode.MANUAL]
    default: "auto"
    View mode to use. When auto, the view will be constructed with cleaning operations from the table, the surrogate key, the end timestamp column, the active flag and the record creation timestamp column will be dropped.

  • drop_column_names: Optional[List[str]]
    List of column names to drop (manual mode only).

  • column_cleaning_operations: Optional[List[ColumnCleaningOperation]]
    List of cleaning operations to apply per column in manual mode only. Each element in the list indicates the cleaning operations for a specific column. The association between this column and the cleaning operations is established via the ColumnCleaningOperation constructor.

Returns

  • SCDView
    SCDView object constructed from the source table.

Examples

Get a SCDView in automated mode.

>>> scd_table = catalog.get_table("GROCERYCUSTOMER")
>>> scd_view = scd_table.get_view()
Get a SCDView in manual mode.

>>> scd_table = catalog.get_table("GROCERYCUSTOMER")
>>> scd_view = scd_table.get_view(
...     view_mode="manual",
...     drop_column_names=["record_available_at", "CurrentRecord"],
...     column_cleaning_operations=[
...         fb.ColumnCleaningOperation(
...             column_name="Gender",
...             cleaning_operations=[
...                 fb.MissingValueImputation(imputed_value="Unknown"),
...             ],
...         )
...     ],
... )