publish.features_from_source_code()
Last updated
Was this helpful?
Last updated
Was this helpful?
data_source_id
:int:
ID of a Rasgo DataSource
source_code_type
:str:
Valid values are "sql" or "python"
sql_definition
:str: (Optional)
Valid SQL select statement that will be used to make a view in the DataWarehouse. Mandatory param if source_code_type = "sql"
python_function
:FunctionType: (Optional)
Valid python function that accepts a df as a param and returns a df of features. Mandatory param if source_code_type = "python"
features
:List[str]: (Optional)
A list of column names in the DataSource table that should be registered as Features. If no value is passed, all columns in the source that are not listed in the `dimensions` parameter will be registered as features.
dimensions
:List[str]:
A list of column names in the DataSource table that should be registered as Dimensions
granularity
:List[str]:
A list of strings that describes the grain of the dimensions
feature_set_name
:str: (Optional)
Name for this set of Features
sandbox
:bool: (Optional)
True = mark these features are Sandbox (not Production-ready) | False = mark these features are Production-ready (default is True)
if_exists
:str: (Optional)
fail - returns an error message if a featureset already exists against this table | return - returns the featureset without operating on it | edit - edits the existing featureset | new - creates a new featureset
Create features from an existing source
TIP: Feature name warning message
If you receive the error: "APIError: Failed to create Feature {___}. This name is already in use in your organization. Feature names must be unique." this is a sign that a feature already exists with this name.
Options to remedy are:
If the existing feature is simply an earlier run of this feature, instruct the function to overwrite it by passing in the param if_exists='edit'
If the existing feature is named incorrectly, navigate to the WebApp to change that feature's name, then re-upload
If the existing feature is named correctly and the feature you are trying to upload needs a new name: use the method to upload the feature with a different name.