Pular para o conteúdo principal

Databricks Feature Store and legacy Workspace Feature Store release notes

This page lists releases of the Databricks Feature Engineering in Unity Catalog client and the Databricks Workspace Feature Store client. Both clients are available on PyPI: databricks-feature-engineering and databricks-feature-store.

The libraries are used to:

  • Create, read, and write feature tables.
  • Train models on feature data.
  • Publish feature tables to online stores for real-time serving.

For usage documentation, see Databricks Feature Store. For Python API documentation, see Feature Engineering Python API.

The Feature Engineering in Unity Catalog client works for features and feature tables in Unity Catalog. The Workspace Feature Store client works for features and feature tables in Workspace Feature Store. Both clients are pre-installed in Databricks Runtime for Machine Learning. They can also run on Databricks Runtime after installing databricks-feature-engineering from PyPI (pip install databricks-feature-engineering). For unit testing only, both clients can be used locally or in CI/CD environments.

For a table showing client version compatibility with Databricks Runtime and Databricks Runtime ML versions, see Feature Engineering compatibility matrix. Older versions of Databricks Workspace Feature Store client are available on PyPI as databricks-feature-store.

databricks-feature-engineering 0.16.1

  • create_training_set and score_batch now reuse offline materialized aggregation features when available, speeding up training set creation and batch inference. See Materialize Feature Views.
  • RequestSource features no longer require entity and timeseries columns.
  • Fixed incorrect First and Last results in create_training_set. These aggregations now include nulls by default; add a filter_condition to exclude null input columns.
  • Fixed compute_features returning zeros or nulls when source rows contain nulls.
  • Bug fixes and improvements.

databricks-feature-engineering 0.16.0

  • Feature Views Public Preview:
    • Feature Views are now in Public Preview. The is_beta_feature_view() and list_beta_feature_views() utilities on FeatureEngineeringClient identify features that were registered under the Beta API and need migration to the Public Preview representation.
    • Feature.clone() method assists with migrating Beta Feature Views to Public Preview.
    • create_pipeline is deprecated for Feature Views; use the materialized features API instead.
  • Streaming features:
    • StreamSource is now supported in create_feature() for defining streaming features backed by Kafka or Delta sources.
    • create_training_set now supports training on features defined with a StreamSource.
    • New create_stream, get_stream, update_stream, delete_stream, and list_streams methods on FeatureEngineeringClient for managing streaming feature sources.
    • StreamingMode trigger for materialize_features selects micro-batch materialization.
  • Other improvements:
    • New list_features() API on FeatureEngineeringClient lists features in a catalog or schema.
    • New grant_feature_serving_access() utility grants the permissions required for online serving of materialized features, with a dry_run mode to preview access before applying.
    • DeltaTableSource.from_sql() now accepts a SparkSession directly.
    • DeltaTableSource.dataframe_schema replaces the deprecated schema_json parameter.
    • RollingWindow replaces the removed ContinuousWindow alias.
    • Removed deprecated offset parameter from RollingWindow; use delay instead.
    • Removed support for 2-part Unity Catalog names with a default catalog.
    • Bug fixes and improvements.

databricks-feature-engineering 0.15.0

  • RequestSource (Beta):
    • New RequestSource class enables features computed at request time from data passed directly to the model, without requiring a feature table lookup.
    • create_feature(), create_training_set(), score_batch(), and compute_features() all support RequestSource-backed features.
    • log_model wires RequestSource features into the model signature automatically.
  • ColumnSelection (Beta):
    • New ColumnSelection class allows selecting specific output columns from a feature source, enabling more granular feature definitions.
    • Supported in create_feature(), create_training_set(), compute_features(), and log_model.
  • Other improvements:
    • New TableTrigger trigger type for materialize_features triggers materialization on Delta table updates.
    • score_batch now runs on Databricks Runtime Serverless runtimes.
    • DeltaTableSource.from_sql() now rejects unsupported SQL clauses such as GROUP BY and ORDER BY.
    • RequestSource.from_dataframe() infers the request schema from an existing DataFrame.
    • Removed Flask dependency from databricks-feature-engineering.
    • Bug fixes and improvements.

databricks-feature-engineering 0.14.0

  • Batch Declarative Features (Beta):
    • Declarative features API to store declarative feature definitions as Unity Catalog functions with aggregations and time windows.
    • Materialized features API schedules automatic batch materialization of features to online stores using configurable cron schedules.
    • Materialized features can be used in online serving for registered models in Unity Catalog.
    • Sliding and tumbling window support using SlidingWindow and TumblingWindow classes for point-in-time correct feature computation in create_training_set().
    • filter_condition parameter allows filtering source data when computing features.
  • Other improvements:
    • New list_online_stores() API lists all online stores in a catalog or schema.
    • Support for usage_policy_id for billing tracking when creating or updating online stores.
    • Improved error messages when online stores are deleted or unavailable.
    • Bug fixes and performance improvements.

databricks-feature-engineering 0.13.0

  • APIs for managing Databricks-managed online feature stores.
  • publish_table() now accepts source_table_name, online_table_name, and publish_mode parameters for clearer table specification.
  • Support for read_replica_count when creating or updating online stores for improved read scalability.
  • Bug fixes and improvements.

databricks-feature-engineering 0.12.1

  • Support default values for feature lookups.
  • Bug fixes and improvements.

databricks-feature-engineering 0.11.0

  • Add support for mlflow version 3.0.
  • Bug fixes and improvements.

databricks-feature-engineering 0.10.2

  • Add support for mlflow version 2.20.0 and above.
  • Add support for numpy version 2.x.
  • Bug fixes and improvements.

databricks-feature-engineering 0.9.0

  • Support using prebuilt_env in score_batch invocations.
  • Point-in-time feature joining performance improvements with Photon.
  • Bug fixes and improvements.

databricks-feature-engineering 0.8.0

  • Support using params in score_batch invocations, which allows additional parameters to be passed to the model for inference.
  • Bug fixes and improvements.

databricks-feature-engineering 0.7.0

databricks-feature-engineering 0.6.0

  • Running point-in-time joins with native Spark is now supported, in addition to existing support with Tempo. Huge thanks to Semyon Sinchenko for suggesting the idea!
  • StructType is now supported as a PySpark data type. StructType is not supported for online serving.
  • write_table now supports writing to tables that have liquid clustering enabled.
  • The timeseries_columns parameter for create_table has been renamed to timeseries_column. Existing workflows can continue to use the timeseries_columns parameter.
  • score_batch now supports the env_manager parameter. See the MLflow documentation for more information.

databricks-feature-engineering 0.5.0

  • New API update_feature_spec in databricks-feature-engineering that allows users to update the owner of a FeatureSpec in Unity Catalog.

databricks-feature-engineering 0.4.0

  • Small bug fixes and improvements.

databricks-feature-engineering 0.3.0

  • log_model now uses the new databricks-feature-lookup PyPI package, which includes performance improvements for online model serving.

databricks-feature-store 0.17.0

  • databricks-feature-store is deprecated. All existing modules in this package are available in databricks-feature-engineering version 0.2.0 and above. For details, see Python API.

databricks-feature-engineering 0.2.0

  • databricks-feature-engineering now contains all modules from databricks-feature-store. For details, see Python API.

databricks-feature-store 0.16.3

  • Fixes timeout bug when using AutoML with feature tables.

databricks-feature-engineering 0.1.3

  • Small improvements in the UpgradeClient.

databricks-feature-store 0.16.2

  • Small bug fixes and improvements.

databricks-feature-store 0.16.1

  • Small bug fixes and improvements.

databricks-feature-engineering 0.1.2 & databricks-feature-store 0.16.0

  • Small bug fixes and improvements.
    • Fixed incorrect job lineage URLs logged with certain workspace setups.

databricks-feature-engineering 0.1.1

  • Small bug fixes and improvements.

databricks-feature-engineering 0.1.0

  • GA release of Feature Engineering in Unity Catalog Python client to PyPI

databricks-feature-store 0.15.1

  • Small bug fixes and improvements.

databricks-feature-store 0.15.0

  • You can now automatically infer and log an input example when you log a model. To do this, set infer_model_example to True when you call log_model. The example is based on the training data specified in the training_set parameter.

databricks-feature-store 0.14.2

  • Fix bug in publishing to Aurora MySQL from MariaDB Connector/J >=2.7.5.

databricks-feature-store 0.14.1

  • Small bug fixes and improvements.

databricks-feature-store 0.14.0

Starting with 0.14.0, you must specify timestamp key columns in the primary_keys argument. Timestamp keys are part of the “primary keys” that uniquely identify each row in the feature table. Like other primary key columns, timestamp key columns cannot contain NULL values.

In the following example, the DataFrame user_features_df contains the following columns: user_id, ts, purchases_30d, and is_free_trial_active.

0.14.0 and above

fs = FeatureStoreClient()

fs.create_table(
name="ads_team.user_features",
primary_keys=["user_id", "ts"],
timestamp_keys="ts",
features_df=user_features_df,
)

0.13.1 and below

fs = FeatureStoreClient()

fs.create_table(
name="ads_team.user_features",
primary_keys="user_id",
timestamp_keys="ts",
features_df=user_features_df,
)

databricks-feature-store 0.13.1

  • Small bug fixes and improvements.

databricks-feature-store 0.13.0

  • The minimum required mlflow-skinny version is now 2.4.0.
  • Creating a training set fails if the provided DataFrame does not contain all required lookup keys.
  • When logging a model that uses feature tables in Unity Catalog, an MLflow signature is automatically logged with the model.

databricks-feature-store 0.12.0

  • You can now delete an online store by using the drop_online_table API.

databricks-feature-store 0.11.0

  • In Unity Catalog-enabled workspaces, you can now publish both workspace and Unity Catalog feature tables to Cosmos DB online stores. This requires Databricks Runtime 13.0 ML or above.

databricks-feature-store 0.10.0

  • Small bug fixes and improvements.

databricks-feature-store 0.9.0

  • Small bug fixes and improvements.

databricks-feature-store 0.8.0

  • Small bug fixes and improvements.

databricks-feature-store 0.7.1

  • Add flask as a dependency to fix missing dependency issue when scoring models with score_batch.

databricks-feature-store 0.7.0

  • Small bug fixes and improvements.

databricks-feature-store 0.6.1

  • Initial public release of the Databricks Feature Store client to PyPI.