Teradata Package for Python Function Reference on VantageCloud Lake - run - Teradata Package for Python - Look here for syntax, methods and examples for the functions included in the Teradata Package for Python.

Teradata® Package for Python Function Reference on VantageCloud Lake

Deployment
VantageCloud
Edition
Lake
Product
Teradata Package for Python
Release Number
20.00.00.11
Published
August 2026
ft:locale
en-US
ft:lastEdition
2026-08-13
dita:id
TeradataPython_FxRef_Lake_2000
Product Category
Teradata Vantage
teradataml.store.feature_store.models.FeatureProcess.run = run(self, filters=None, as_of=None, filter_manager=None, resume=False)
DESCRIPTION:
    Runs the feature process.
 
PARAMETERS:
    filters:
        Optional Argument.
        Specifies filters to be applied on data source while ingesting
        feature values for FeatureProcess.
        Note:
            * Mutually exclusive with "filter_manager" argument.
        Types: str or list of str or ColumnExpression or list of ColumnExpression.
 
    as_of:
        Optional Argument.
        Specifies the time period for which feature values are ingested.
        Note:
            * If "as_of" is specified as either string or datetime.datetime,
              then specified value is considered as starting time period and
              ending time period is considered as '31-DEC-9999 23:59:59.999999+00:00'.
        Types: str or datetime.datetime or tuple
 
    filter_manager:
        Optional Argument.
        Specifies the filter manager to be used for applying filters on data source while ingesting
        feature values for FeatureProcess.
        Note:
            * Mutually exclusive with "filters" argument.
        Types: FilterManager
 
    resume:
        Optional Argument.
        Specifies whether to resume a previously interrupted feature process.
        Notes:
            * The "resume" argument is applicable only when "filter_manager" is provided
              If "filter_manager" is not specified, the "resume" argument is ignored.
            * When "resume" is set to True and "filter_manager" is provided, processing
              resumes from the last interrupted filter_id in the filter manager.
        Default Value: False
        Types: bool
 
RETURNS:
    bool.
 
RAISES:
    TeradataMlException
 
EXAMPLES:
    >>> load_example_data('dataframe', ['sales', 'admissions_train'])
    >>> df = DataFrame("sales")
    >>> df2 = DataFrame("admissions_train")
 
    # Create a FeatureStore.
    >>> from teradataml import FeatureStore
    >>> fs = FeatureStore("vfs_test", data_domain='sales')
    Repo vfs_v1 does not exist. Run FeatureStore.setup() to create the repo and setup FeatureStore.
    >>> fs.setup()
    True
 
    # Example 1: Ingest the feature values using DataFrame 'df' to the repo "vfs_test".
    # Create FeatureProcess using DataFrame as source.
    >>> fp = FeatureProcess(repo="vfs_test",
    ...                     data_domain='sales',
    ...                     object=df,
    ...                     entity="accounts",
    ...                     features=["Jan", "Feb", "Mar", "Apr"])
    >>> fp.run()
    Process '76049397-6b8e-11f0-b77a-f020ffe7fe09' started.
    Process '76049397-6b8e-11f0-b77a-f020ffe7fe09' completed.
    True
    
    # Verify the FeatureProcess was recorded
    >>> fs.list_feature_processes()
                                         description data_domain       process_type  data_source    entity_id       feature_names feature_ids                     valid_start                       valid_end
    process_id                                                                                                                                                                                               
    a5de0230-6b8e-11f0-ae70-f020ffe7fe09                   sales      feature group  sales_group  sales_group  Apr, Feb, Jan, Mar        None  2025-07-28 08:41:42.460000+00:  9999-12-31 23:59:59.999999+00:
    76049397-6b8e-11f0-b77a-f020ffe7fe09                   sales  denormalized view      "sales"     accounts  Apr, Feb, Jan, Mar        None  2025-07-28 08:40:17.600000+00:  9999-12-31 23:59:59.999999+00:
 
    # Example 2: Ingest the feature values using feature group to the repo "vfs_test".
    #            Create FeatureGroup from DataFrame and use it as source for FeatureProcess.
    >>> from teradataml import FeatureGroup
    >>> fg = FeatureGroup.from_DataFrame(name="sales_group", 
    ...                                  entity_columns="accounts", 
    ...                                  df=df,
    ...                                  timestamp_column="datetime")
    >>> fs.apply(fg)
    True
    
    # Create FeatureProcess using FeatureGroup as source
    >>> fp = FeatureProcess(repo="vfs_test", 
    ...                     data_domain='sales',
    ...                     object=fg)
    >>> fp.run()
    Process 'b2c3d4e5-2345-11f0-8765-f020ffe7fe09' started.
    Process 'b2c3d4e5-2345-11f0-8765-f020ffe7fe09' completed.
    True
    
    # Verify the process was recorded
    >>> fs.list_feature_processes()
                                         description data_domain       process_type  data_source    entity_id       feature_names feature_ids                     valid_start                       valid_end
    process_id                                                                                                                                                                                               
    a5de0230-6b8e-11f0-ae70-f020ffe7fe09                   sales      feature group  sales_group  sales_group  Apr, Feb, Jan, Mar        None  2025-07-28 08:41:42.460000+00:  9999-12-31 23:59:59.999999+00:
    76049397-6b8e-11f0-b77a-f020ffe7fe09                   sales  denormalized view      "sales"     accounts  Apr, Feb, Jan, Mar        None  2025-07-28 08:40:17.600000+00:  9999-12-31 23:59:59.999999+00:
 
 
    # Example 3: Ingest the feature values using process id to the repo "vfs_test".
    #            Rerun an existing feature process using its process_id.
    # Create FeatureProcess using existing process_id as source
    >>> fp_rerun = FeatureProcess(repo="vfs_test", 
    ...                           data_domain='sales',
    ...                           object=fp.process_id,
    ...                           description="Rerun existing process")
    >>> fp_rerun.run()
    Process 'b2c3d4e5-2345-11f0-8765-f020ffe7fe09' started.
    Process 'b2c3d4e5-2345-11f0-8765-f020ffe7fe09' completed.
    True
    
    # Verify the process runs
    >>> fs.list_feature_processes()
                                                     description data_domain       process_type  data_source    entity_id       feature_names feature_ids                     valid_start                       valid_end
    process_id                                                                                                                                                                                                           
    a5de0230-6b8e-11f0-ae70-f020ffe7fe09                               sales      feature group  sales_group  sales_group  Apr, Feb, Jan, Mar        None  2025-07-28 08:41:42.460000+00:  9999-12-31 23:59:59.999999+00:
    76049397-6b8e-11f0-b77a-f020ffe7fe09                               sales  denormalized view      "sales"     accounts  Apr, Feb, Jan, Mar        None  2025-07-28 08:40:17.600000+00:  2025-07-28 08:44:52.220000+00:
    76049397-6b8e-11f0-b77a-f020ffe7fe09  Rerun existing process       sales  denormalized view      "sales"     accounts  Apr, Feb, Jan, Mar        None  2025-07-28 08:44:52.220000+00:  9999-12-31 23:59:59.999999+00:
 
    # Example 4: Ingest the sales features 'Mar' and 'Apr' for entities 'Alpha Co' and
    #            'Jones LLC' to the 'sales' data domain. Use 'accounts' column as entity.
    >>> fp = FeatureProcess(repo="vfs_test",
    ...                     data_domain='sales',
    ...                     object=df,
    ...                     entity='accounts',
    ...                     features=['Mar', 'Apr'])
    >>> fp.run(filters=[df.accounts=='Alpha Co', "accounts='Jones LLC'"])
    Process '2a5d5eee-738e-11f0-99c5-a30631e77953' started.
    Ingesting the features for filter 'accounts = 'Alpha Co'' to catalog.
    Ingesting the features for filter 'accounts='Jones LLC'' to catalog.
    Process '2a5d5eee-738e-11f0-99c5-a30631e77953' completed.
    True
 
    # Let's verify the ingested feature values.
    >>> fs.list_feature_catalogs()
                data_domain  feature_id                                 table_name                     valid_start                       valid_end
    entity_name
    accounts          sales           1  FS_T_a38baff6_821b_3bb7_0850_827fe5372e31  2025-08-07 12:58:41.250000+00:  9999-12-31 23:59:59.999999+00:
    accounts          sales           2  FS_T_a38baff6_821b_3bb7_0850_827fe5372e31  2025-08-07 12:58:41.250000+00:  9999-12-31 23:59:59.999999+00:
 
    # Verify the feature data.
    >>> dc = DatasetCatalog(repo='vfs_test', data_domain='sales')
    >>> dc.build_dataset(entity='accounts',
    ...                  selected_features={'Mar': fp.process_id,
    ...                                     'Apr': fp.process_id},
    ...                  view_name='sales_mar_data')
                Mar     Apr
    accounts
    Jones LLC   140     180
    Alpha Co    215     250
 
    # Example 5: Ingest feature values for a specific time using DataFrame as source.
    >>> from datetime import datetime, timezone
    >>> fp = FeatureProcess(repo="vfs_test",
    ...                     data_domain='sales',
    ...                     object=df,
    ...                     entity='accounts',
    ...                     features=['Jan', 'Feb'])
    >>> fp.run(as_of='2024-01-01 00:00:00+00:00')
    Process '2a5d5eee-738e-11f0-99c5-a30631e77953' started.
    Process '2a5d5eee-738e-11f0-99c5-a30631e77953' completed.
    True
 
    # Example 6: Ingest feature values for a specific time using feature group as source.
    >>> fg = FeatureGroup.from_DataFrame(name="sales_temporal",
    ...                                  entity_columns="accounts",
    ...                                  df=df)
    >>> fp = FeatureProcess(repo="vfs_test",
    ...                     data_domain='sales',
    ...                     object=fg)
    >>> fp.run(as_of='2024-01-01 00:00:00+00:00')
    Process '6e5a8da0-738f-11f0-99c5-a30631e77953' started.
    Process '6e5a8da0-738f-11f0-99c5-a30631e77953' completed.
    True
    
    # Example 7: Ingest the feature values using filters specified in a filter manager. 
    #            Create a filter manager and load filter definitions for the 'stats' feature. 
    #            Then run the feature process using the filter manager to ingest features for 
    #            different values of 'stats' feature separately.
    >>> from teradataml import FilterManager
    >>> fm = FilterManager(repo='vfs_v1', name='stats_filter_manager')
    >>> fm
    Filter Manager 'stats_filter_manager' does not exist. Run FilterManager.load_filter() to create it.
    FilterManager(repo=vfs_v1, name=stats_filter_manager, filters=None)
 
    # Load filter definitions for statistics features into the filter manager using a DataFrame.
    >>> fm.load_filter(df=df2.groupby('stats').count()[['stats']])
    True
 
    >>> fm
    FilterManager(repo=vfs_v1, name=stats_filter_manager, filters=3)
    
    >>> fp = FeatureProcess(repo="vfs_v1",
    ...                     data_domain='sales',
    ...                     object=df2,
    ...                     entity='id',
    ...                     features=['masters', 'gpa', 'stats', 'admitted'])
    
    >>> fp.run(filter_manager=fm)
    Process '07741d30-4d47-11f1-a487-cf2ce15f3444' started.
    Ingesting the features for filter_id=1: {"stats":"Advanced"} to catalog.
    Ingesting the features for filter_id=2: {"stats":"Beginner"} to catalog.
    Ingesting the features for filter_id=3: {"stats":"Novice"} to catalog.
    Process '07741d30-4d47-11f1-a487-cf2ce15f3444' completed.
    True
 
    # Let's verify the ingested feature values.
    >>> fs.list_feature_catalogs()
                data_domain  feature_id                                 table_name                     valid_start                       valid_end
    entity_name                                                                                                                                   
    id                sales          10  FS_T_11cc2784_e1c3_ac70_43d6_4cd711157202  2026-05-11 14:38:19.560000+00:  9999-12-31 23:59:59.999999+00:
    id                sales           9  FS_T_e3c886c5_4c14_e9ae_dece_78bb144bf54e  2026-05-11 14:38:19.560000+00:  9999-12-31 23:59:59.999999+00:
    id                sales          12  FS_T_e9b20a42_c625_414b_83e3_4882a2ffd424  2026-05-11 14:38:19.560000+00:  9999-12-31 23:59:59.999999+00:
    id                sales          11  FS_T_e3c886c5_4c14_e9ae_dece_78bb144bf54e  2026-05-11 14:38:19.560000+00:  9999-12-31 23:59:59.999999+00:
 
    # Verify the feature data.
    >>> dc = DatasetCatalog(repo='vfs_test', data_domain='sales')
    >>> dc.build_dataset(entity='id',
    ...                  selected_features={
    ...                  'masters': fp.process_id,
    ...                  'stats': fp.process_id,
    ...                  'gpa': fp.process_id},
    ...                  view_name='fm_view',
    ...                  description='Filter manager test')
       id masters     stats   gpa
    0  17      no  Advanced  3.83
    1   6     yes  Beginner  3.50
    2  38     yes  Advanced  2.65
    3  12      no    Novice  3.65
    4   7     yes    Novice  2.33
    5  15     yes  Advanced  4.00
    6  32     yes  Advanced  3.46
    7  19     yes  Advanced  1.98
    8  30     yes  Advanced  3.79
    9  36      no  Advanced  3.00
    
    # Example 8: Resume a previously interrupted feature process using filter manager.
    #            Let's assume the feature process run in example 7 got interrupted after processing filter_id=2.
    #            Now we want to resume the process for remaining filter_id's in the filter manager.
    >>> fp = FeatureProcess(repo="vfs_v1",
    ...                     data_domain='sales',
    ...                     object=df2,
    ...                     entity='id',
    ...                     features=['masters', 'gpa', 'stats', 'admitted'])
    >>> fp.run(filter_manager=fm, resume=True)
    Process '07741d30-4d47-11f1-a487-cf2ce15f3444' started.
    Resume enabled for ingesting features with FilterManager 'stats_filter_manager'
    Resuming from filter_id=3, last completed filter_id=2.
    Ingesting the features for filter_id=3: {"stats":"Novice"} to catalog.
    Process '07741d30-4d47-11f1-a487-cf2ce15f3444' completed.
    True
    
    # Incase all the features are ingested successfully and resume is set to True
    >>> fp = FeatureProcess(repo="vfs_v1",
    ...                     data_domain='sales',
    ...                     object=df2,
    ...                     entity='id',
    ...                     features=['masters', 'gpa', 'stats', 'admitted'])
    >>> fp.run(filter_manager=fm, resume=True)
    Process '07741d30-4d47-11f1-a487-cf2ce15f3444' started.
    Resume enabled for ingesting features with FilterManager 'stats_filter_manager'.
    All features are already ingested in catalog.
    Process '07741d30-4d47-11f1-a487-cf2ce15f3444' completed.
    True