Skip to content

featurebyte.FeatureStore.create

create(
name: str,
source_type: SourceType,
details: Union[SnowflakeDetails, SparkDetails, SQLiteDetails, DatabricksDetails, TestDatabaseDetails],
database_credential: Union[Annotated[Union[UsernamePasswordCredential, AccessTokenCredential]], NoneType]=None,
storage_credential: Union[Annotated[Union[S3StorageCredential, GCSStorageCredential]], NoneType]=None
) -> FeatureStore

Description

Creates and saves a Feature Store object to enable FeatureByte to work with a data warehouse. FeatureByte leverages a data warehouse as both a data source and a feature store.

To create a feature store, you need to specify the connection details and credentials to use.

Note that featurestore is one-off task. Only one feature store can be created for a specific set of database details.

Parameters

  • name: str
    Name of the feature store.

  • source_type: SourceType
    Type of the feature store.

  • details: Union[SnowflakeDetails, SparkDetails, SQLiteDetails, DatabricksDetails, TestDatabaseDetails]
    Details of the database to use for the feature store.

  • database_credential: Union[Annotated[Union[UsernamePasswordCredential, AccessTokenCredential]], NoneType]
    Credential details to use when connecting to the database.

  • storage_credential: Union[Annotated[Union[S3StorageCredential, GCSStorageCredential]], NoneType]
    Credential details to use when connecting to the storage.

Returns

  • FeatureStore

Examples

>>> feature_store = fb.FeatureStore.create(
...     name="playground",
...     source_type=SourceType.SPARK,
...     details=fb.SparkDetails(
...         host="spark-thrift",
...         http_path="cliservice",
...         port=10000,
...         storage_type="file",
...         storage_url="/data/staging/featurebyte",
...         storage_spark_url="file:///opt/spark/data/staging/featurebyte",
...         featurebyte_catalog="spark_catalog",
...         featurebyte_schema="playground",
...     )
... )