Find features in your feature groups
With Amazon SageMaker Feature Store, you can search for the features that you created in your feature groups. You can search through all of your features without needing to select a feature group first. The search functionality helps find the features that are relevant to your use case.
Note
The feature groups where you're searching for features must be within your AWS Region and AWS account. For shared feature groups, the feature groups must be made discoverable to your AWS account. For more instructions on how to share the feature group catalog and grant discoverability, see Share your feature group catalog.
If you're on a team, and teammates are looking for features to use in their models, they can search through the features in all of the feature groups.
You can add searchable parameters and descriptions to make your features more discoverable. For more information, see Adding searchable metadata to your features.
You can search for features using either the console or by using the Search
API operation in SageMaker. The following table lists all of
the searchable metadata and whether you can search for it in the console or with the
API.
Searchable metadata | API field name | Searchable in the console? |
---|---|---|
All Parameters | AllParameters | Yes |
Creation time | CreationTime | Yes |
Description | Description | Yes |
Feature group name | FeatureGroupName | No |
Feature name | FeatureName | Yes |
Feature type | FeatureType | No |
Last modified time | LastModifiedTime | No |
Parameters | Parameters.key |
Yes |
How to search for your features
The instructions for using Feature Store through the console depends on whether you have enabled Amazon SageMaker Studio or Amazon SageMaker Studio Classic as your default experience. Choose one of the following instructions based on your use case.
-
Open the Studio console by following the instructions in Launch Amazon SageMaker Studio.
-
Choose Data in the left navigation pane to expand the dropdown list.
-
From the dropdown list, choose Feature Store.
-
(Optional) To view your features, choose My account. To view shared features, choose Cross account.
-
Under the Feature Catalog tab, choose My account to view your feature groups.
-
Under the Feature Catalog tab, choose Cross account to view feature groups that others made discoverable to you. Under Created by, you can view the resource owner account ID.
-
You can search for your feature in the Search dropdown list:
-
(Optional) To filter your search, choose the filter icon next to the Search dropdown list. You can use filters to specify parameters or date ranges in your search results. If you search for a parameter, specify both its key and value. To find your features, specify time ranges, or clear (deselect) columns that you don't want to query.
-
For shared resources, you can only edit feature group metadata or feature definitions if you have the proper access permission granted from the resource owner account. The discoverability permission alone won't allow you to edit metadata or feature definitions. For more information about granting access permissions, seeEnabling cross account access.
-
Use the latest version of Amazon SageMaker Studio Classic so that you have the most recent version of the search functionality. For information about updating Studio Classic, see Shut down and Update SageMaker Studio Classic.
-
Open the Studio Classic console by following the instructions in Launch Amazon SageMaker Studio Classic.
-
Choose the Home icon ( ) in the left navigation pane.
-
Choose Data.
-
From the dropdown list, choose Feature Store.
-
(Optional) To view your features, choose My account. To view shared features, choose Cross account.
-
Under the Feature Catalog tab, choose My account to view your feature groups.
-
Under the Feature Catalog tab, choose Cross account to view feature groups that others made discoverable to you. Under Created by, you can view the resource owner account ID.
-
You can search for your feature in the Search dropdown list:
-
(Optional) To filter your search, choose the filter icon next to the Search dropdown list. You can use filters to specify parameters or date ranges in your search results. If you search for a parameter, specify both its key and value. To find your features, specify time ranges, or clear (deselect) columns that you don't want to query.
-
For shared resources, you can only edit feature group metadata or feature definitions if you have the proper access permission granted from the resource owner account. The discoverability permission alone won't allow you to edit metadata or feature definitions. For more information about granting access permissions, seeEnabling cross account access.
-
The code in this section uses the Search
operation in the AWS SDK for Python (Boto3) to run the
search query to find features in your feature groups. For information about the
other languages to submit a query, see See
Also in the Amazon SageMaker API
Reference.
For more Feature Store examples and resources, see Amazon SageMaker Feature Store resources.
The following code shows different example search queries using the API:
# Return all features in your feature groups sagemaker_client.search( Resource="FeatureMetadata", ) # Search for all features that belong to a feature group that contain the "ver" substring sagemaker_client.search( Resource="FeatureMetadata", SearchExpression={ 'Filters': [ { 'Name': 'FeatureGroupName', 'Operator': 'Contains', 'Value': 'ver' }, ] } ) # Search for all features that belong to a feature group that have the EXACT name "airport" sagemaker_client.search( Resource="FeatureMetadata", SearchExpression={ 'Filters': [ { 'Name': 'FeatureGroupName', 'Operator': 'Equals', 'Value': 'airport' }, ] } ) # Search for all features that belong to a feature group that contains the name "ver" AND have a name that contains "wha" AND have a parameter (key or value) that contains "hea" sagemaker_client.search( Resource="FeatureMetadata", SearchExpression={ 'Filters': [ { 'Name': 'FeatureGroupName', 'Operator': 'Contains', 'Value': 'ver' }, { 'Name': 'FeatureName', 'Operator': 'Contains', 'Value': 'wha' }, { 'Name': 'AllParameters', 'Operator': 'Contains', 'Value': 'hea' }, ] } ) # Search for all features that belong to a feature group with substring "ver" in its name OR features that have a name that contain "wha" OR features that have a parameter (key or value) that contains "hea" sagemaker_client.search( Resource="FeatureMetadata", SearchExpression={ 'Filters': [ { 'Name': 'FeatureGroupName', 'Operator': 'Contains', 'Value': 'ver' }, { 'Name': 'FeatureName', 'Operator': 'Contains', 'Value': 'wha' }, { 'Name': 'AllParameters', 'Operator': 'Contains', 'Value': 'hea' }, ], 'Operator': 'Or' # note that this is explicitly set to "Or"- the default is "And" } ) # Search for all features that belong to a feature group with substring "ver" in its name OR features that have a name that contain "wha" OR parameters with the value 'Sage' for the 'org' key sagemaker_client.search( Resource="FeatureMetadata", SearchExpression={ 'Filters': [ { 'Name': 'FeatureGroupName', 'Operator': 'Contains', 'Value': 'ver' }, { 'Name': 'FeatureName', 'Operator': 'Contains', 'Value': 'wha' }, { 'Name': 'Parameters.org', 'Operator': 'Contains', 'Value': 'Sage' }, ], 'Operator': 'Or' # note that this is explicitly set to "Or"- the default is "And" } )