Skip to content

featurebyte.EventTable.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
) -> EventView

Description

Gets an EventView object from an EventTable object. Event views are typically used to create Lookup features for the event entity, to create Aggregate Over a Window features for other entities or enrich the item data by joining to the related Item view.

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 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 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

  • EventView
    EventView object constructed from the source table.

Examples

Get an EventView in automated mode.

>>> event_table = catalog.get_table("GROCERYINVOICE")
>>> event_view = event_table.get_view()
Get an EventView in manual mode.

>>> event_table = catalog.get_table("GROCERYINVOICE")
>>> event_view = event_table.get_view(
...     view_mode="manual",
...     drop_column_names=["record_available_at"],
...     column_cleaning_operations=[
...         fb.ColumnCleaningOperation(
...             column_name="Amount",
...             cleaning_operations=[
...                 fb.MissingValueImputation(imputed_value=0),
...                 fb.ValueBeyondEndpointImputation(
...                     type="less_than", end_point=0, imputed_value=None
...                 ),
...             ],
...         )
...     ],
... )