Notas de la versión de Databricks Feature Store y del Workspace Feature Store heredado

En esta página se enumeran las versiones del cliente de Databricks Feature Engineering en el cliente del catálogo de Unity y el cliente del Almacén de características del área de trabajo de Databricks. Ambos clientes están disponibles en PyPI: databricks-feature-engineering y databricks-feature-store.

Las bibliotecas se usan para:

  • Crear, leer y escribir tablas de características.
  • Entrenar modelos en datos de atributos.
  • Publicar tablas de características en tiendas en línea para el servicio en tiempo real.

Para obtener documentación de uso, consulte Almacén de características de Databricks. Para consultar la documentación de la API de Python, consulte Feature Engineering Python API.

El cliente de ingeniería de características en el catálogo de Unity funciona para características y tablas de características en el catálogo de Unity. El cliente del Almacén de características del área de trabajo funciona para características y tablas de características en el Almacén de características del área de trabajo. Ambos clientes están preinstalados en Databricks Runtime para Machine Learning. También se pueden ejecutar en Databricks Runtime después de instalar databricks-feature-engineering desde PyPI (pip install databricks-feature-engineering). Ambos clientes se pueden usar localmente o en entornos de CI/CD solo para pruebas unitarias.

Para ver una tabla que muestra la compatibilidad de versiones de cliente con Databricks Runtime y las versiones de Databricks Runtime ML, consulte Matriz de compatibilidad de la ingeniería de características. Las versiones anteriores del cliente de Databricks Workspace Feature Store están disponibles en PyPI como databricks-feature-store.

databricks-feature-engineering 0.18.1

Esta versión incluye las siguientes mejoras en Feature Views:

  • El serving online con Lakebase ahora admite nombres de características de más de 64 caracteres.
  • RollingWindow ahora acepta window_duration=None para la agregación Last de por vida en fuentes Delta con materialización basada en activadores de tabla solo en línea.
  • Las características basadas en FeatureViewSource pueden ahora previsualizarse usando compute_features(), incluyendo dependencias que abarcan múltiples tablas fuente.
  • SawtoothWindow ahora soporta ventanas de agregación de duración indefinida (window_duration=None) en create_training_set() y compute_features().
  • Correcciones de errores y mejoras.

databricks-feature-engineering 0.18.0

  • FeatureViewSource:
    • FeatureViewSource define una característica compuesta por otras características, aplicando un CustomUDF fila por fila a sus valores. Apoyado a lo largo de todo el ciclo de vida de entrenamiento y servicio, excepto para compute_features().
  • Características de CustomUDF:
    • create_feature() valida CustomUDFinput_bindings contra la firma de función del Catálogo de Unity y comprueba los tipos de columnas vinculados con los tipos de parámetros de función, informando de desajustes cuando se crea la característica en lugar de en tiempo de entrenamiento o servicio.
  • Características de streaming:
    • create_stream() añade record_type_filter, un predicado SQL que conserva solo los registros coincidentes tras la decodificación, y excluded_columns, que excluye columnas de la ingesta. update_stream() también acepta excluded_columns.
  • Materialización:
    • materialize_features() acepta tags y budget_policy_id para seguimiento y atribución de costes.
    • CronSchedule admite un modo de programación derivada que se genera a partir de las ventanas de agregación y la temporización de una funcionalidad, además de una expresión cron definida manualmente.
  • Función start_time ventanas para bloquear:
    • Las características con ventana ahora siempre aplican start_time. Se excluyen las filas de entrenamiento cuyo final de ventana queda antes del start_time de una característica, de modo que los conjuntos de entrenamiento sin conexión coincidan con los valores proporcionados en línea. Configura start_time en una función con ventana para controlar el valor de corte.
  • Otros cambios:
    • Las funciones de agregación rechazan DATE las columnas de series temporales al crearse. Usa una TIMESTAMP columna en su lugar.
    • Las funciones de ColumnSelection aplican el retardo de estabilización del origen en create_training_set() y compute_features(), excluyendo las filas de origen que todavía no se han estabilizado.
    • Se añadió compatibilidad con los tipos de cadena de Databricks Runtime 18 en las entradas y salidas de UDF de atributos.
    • Los campos de temporización de funciones, como start_time, el retardo de agregación y el retardo de estabilización de la fuente, ahora se conservan tras las operaciones de lectura y escritura del cliente.
    • Correcciones de errores y mejoras.

Databricks-Feature-Engineering 0.17.1

  • Correcciones de errores y mejoras.

databricks-feature-engineering 0.17.0

  • Agregaciones de SawtoothWindow (versión preliminar):
    • La nueva SawtoothWindow clase de intervalo temporal mantiene siempre actualizadas las ventanas largas de agregación (por ejemplo, de 30, 60 o 90 días): el borde trasero de la ventana avanza en pasos diarios fijos, mientras que el borde delantero se mantiene al día con los últimos eventos en flujo, lo que evita un recálculo completo con cada evento. Compatible con las agregaciones Sum, Avg, Count, Min y Max. window_duration debe ser mayor de dos días; úsalo RollingWindow para ventanas más cortas.
  • LastN Agregación (Vista previa):
    • La nueva LastN agregación devuelve los valores N más recientes en una ventana como un array, ordenados por la columna de la serie temporal de la característica. Compatible con ventanas de tiempo SlidingWindow y RollingWindow.
  • Ventanas de agregación de por vida:
    • SlidingWindow Ahora soporta ventanas de por vida (infinitas) que se agregan a lo largo de todo el historial. Las ventanas de duración indefinida solo están disponibles para las funcionalidades por lotes; establece window_duration en None para definir una en create_training_set() y compute_features().
  • Características de CustomUDF (Vista previa):
    • El nuevo tipo de función CustomUDF para create_feature() aplica una función registrada en el catálogo de Unity fila por fila a las columnas de origen. input_bindings asigna cada parámetro de función UC a la columna fuente que lo llena. CustomUDF opera directamente solo sobre características de RequestSource en tiempo de solicitud; no puede aplicarse a otros tipos de características.
  • Transformaciones de orígenes de streaming (Vista previa):
    • StreamSource ahora acepta una transformation_sql expresión SQL SELECT , aplicada tras la conversión del esquema del flujo, para transformar los registros antes del cálculo de características. Si está activado, proporcione el esquema de salida transformado mediante dataframe_schema.
  • Registro de esquemas para fuentes en streaming (Vista previa):
    • create_stream() ahora puede resolver esquemas de clave y carga útil de streaming desde un registro de esquemas externo (por ejemplo, Confluent) a través de una Unity Catalog Connection, usando SchemaRegistryConfig en lugar de suministrar esquemas en línea. Se soportan formatos Avro y Protobuf.
  • Dependencias personalizadas de servicio (Vista previa):
    • Ahora puede declarar dependencias adicionales de pip para el servicio de atributos. create_feature_spec() y log_model() aceptar extra_pip_requirements, una lista de paquetes pip (o rutas de volúmenes .whl de catálogo de Unity) para instalar en el entorno de servicio de modelos para bibliotecas que tus UDF de características necesiten pero que no estén disponibles por defecto. Las dependencias declaradas en la especificación de característica se mantienen cuando se sirve el modelo.
  • Otras mejoras:
    • Correcciones de errores y mejoras.

Databricks-Feature-Engineering 0.16.1

  • create_training_set y score_batch ahora reutilizan funciones de agregación materializadas fuera de línea cuando están disponibles, lo que acelera la creación del conjunto de datos de entrenamiento y la inferencia por lotes. Consulte Materializar vistas de atributos.
  • RequestSource las funciones ya no requieren las columnas de entidad y de series temporales.
  • Se corrigieron los resultados incorrectos de First y Last en create_training_set. Estas agregaciones ahora incluyen valores NULL de forma predeterminada; agregue un filter_condition para excluir columnas de entrada nulas.
  • Se ha corregido un problema por el que compute_features devolvía ceros o valores nulos cuando las filas de origen contenían valores nulos.
  • Correcciones de errores y mejoras.

databricks-feature-engineering 0.16.0

  • Vista previa pública de Feature Views:
    • Las vistas de características ahora están en versión preliminar pública. Las utilidades is_beta_feature_view() y list_beta_feature_views() de FeatureEngineeringClient identifican las funcionalidades que se registraron en la API beta y deben migrarse a la representación de Vista previa pública.
    • Feature.clone() el método ayuda con la migración de vistas de características beta a la versión preliminar pública.
    • create_pipeline ha quedado obsoleto para Feature Views; utilice la API de características materializadas en su lugar.
  • Características de streaming:
    • StreamSource ya es compatible con create_feature() para definir funciones de streaming basadas en fuentes de Kafka o Delta.
    • create_training_set ahora permite entrenar con características definidas con un StreamSource.
    • Nuevos métodos create_stream, get_stream, update_stream, delete_stream y list_streams en FeatureEngineeringClient para gestionar orígenes de funciones de streaming.
    • StreamingModeEl disparador para materialize_features selecciona la materialización en microlotés.
  • Otras mejoras:
    • Nueva list_features() API en FeatureEngineeringClient enumera funcionalidades en un catálogo o esquema.
    • La nueva utilidad grant_feature_serving_access() concede los permisos necesarios para la publicación en línea de características materializadas, con un modo dry_run para previsualizar el acceso antes de aplicarlo.
    • DeltaTableSource.from_sql() ahora acepta un elemento SparkSession directamente.
    • DeltaTableSource.dataframe_schema reemplaza el parámetro en desuso schema_json .
    • RollingWindow reemplaza el alias quitado ContinuousWindow .
    • Se ha quitado el parámetro en desuso offset de RollingWindow; use delay en su lugar.
    • Se ha eliminado la compatibilidad con nombres de catálogos de Unity de dos partes con un catálogo predeterminado.
    • Correcciones de errores y mejoras.

Databricks-Feature-Engineering 0.15.0

  • RequestSource (Beta):
    • La nueva RequestSource clase habilita las características calculadas en el momento de la solicitud de los datos pasados directamente al modelo, sin necesidad de una búsqueda de tabla de características.
    • create_feature(), create_training_set(), score_batch() y compute_features() admiten funciones basadas en RequestSource.
    • log_model integra RequestSource características en la firma del modelo automáticamente.
  • ColumnSelection (Beta):
    • La nueva ColumnSelection clase permite seleccionar columnas de salida específicas de un origen de características, lo que permite definiciones de características más granulares.
    • Se admite en create_feature(), create_training_set(), compute_features()y log_model.
  • Otras mejoras:
    • El nuevo TableTrigger tipo de activador para materialize_features desencadena la materialización al actualizarse las tablas Delta.
    • score_batch ahora se ejecuta en entornos de ejecución de Databricks Runtime sin servidor.
    • DeltaTableSource.from_sql() ahora rechaza cláusulas SQL no admitidas como GROUP BY y ORDER BY.
    • RequestSource.from_dataframe() deduce el esquema de solicitud de un dataframe existente.
    • Se eliminó la dependencia de Flask de databricks-feature-engineering.
    • Correcciones de errores y mejoras.

databricks-feature-engineering 0.14.0

  • Características declarativas de lote (beta):
    • API de características declarativas para almacenar definiciones de características declarativas como funciones del catálogo de Unity con agregaciones y ventanas de tiempo.
    • Características materializadas API programa la materialización automática por lotes de características en tiendas en línea mediante programaciones cron configurables.
    • Las características materializadas se pueden usar en servicio en línea para los modelos registrados en el catálogo de Unity.
    • El soporte de ventanas deslizantes y de volteo using las clases SlidingWindow y TumblingWindow para el cálculo correcto de características en un punto en el tiempo en create_training_set().
    • filter_condition el parámetro permite filtrar los datos de origen al calcular características.
  • Otras mejoras:
    • La nueva list_online_stores() API enumera todas las tiendas en línea dentro de un catálogo o esquema.
    • Compatibilidad con el seguimiento de facturación de usage_policy_id al crear o actualizar tiendas en línea.
    • Se han mejorado los mensajes de error cuando las tiendas en línea se eliminan o no están disponibles.
    • Correcciones de errores y mejoras de rendimiento.

Databricks-Feature-Engineering 0.13.0

  • API para administrar almacenes de características en línea administrados por Databricks.
  • publish_table() ahora acepta los parámetros source_table_name, online_table_namey publish_mode para obtener una especificación de tabla más clara.
  • Soporte para read_replica_count cuando se crea o actualiza tiendas en línea para mejorar la escalabilidad de lectura.
  • Correcciones de errores y mejoras.

Databricks-Feature-Engineering 0.12.1

  • Admite valores predeterminados para búsquedas de características.
  • Correcciones de errores y mejoras.

Databricks-Feature-Engineering 0.11.0

  • Añadir compatibilidad con la versión 3.0 de mlflow.
  • Correcciones de errores y mejoras.

databricks-feature-engineering 0.10.2

  • Agregue compatibilidad con la versión mlflow 2.20.0 y posteriores.
  • Agregue compatibilidad con la numpy versión 2.x.
  • Correcciones de errores y mejoras.

databricks-feature-engineering 0.9.0

  • Compatibilidad con el uso prebuilt_env en score_batch invocaciones.
  • Características a un momento dado que combinan mejoras de rendimiento con Photon.
  • Correcciones de errores y mejoras.

databricks-feature-engineering 0.8.0

  • Soporte con el uso params de score_batchinvocación, que permite pasar parámetros adicionales al modelo para la inferencia.
  • Correcciones de errores y mejoras.

Databricks-Feature-Engineering 0.7.0

databricks-feature-engineering 0.6.0

  • Ahora se admite la ejecución de combinaciones a un momento dado con Spark nativo, además de la compatibilidad existente con Tempo. Mil gracias a Semyon Sinchenko por sugerir la idea.
  • StructType ya se admite como tipo de datos de PySpark. StructType no se admite para el servicio en línea.
  • write_table ya admite la escritura en tablas que tengan habilitada la agrupación en clústeres líquidos.
  • Se cambió el nombre del parámetro timeseries_columns para create_table a timeseries_column. Los flujos de trabajo existentes pueden seguir usando el parámetro timeseries_columns.
  • score_batch ya admite el parámetro env_manager. Para obtener más información, consulte la documentación de MLflow.

databricks-feature-engineering 0.5.0

  • Nueva API update_feature_spec en databricks-feature-engineering que permite a los usuarios cambiar el propietario de un FeatureSpec en el catálogo de Unity.

databricks-feature-engineering 0.4.0

  • Mejoras y correcciones de errores pequeños.

databricks-feature-engineering 0.3.0

  • log_model ahora usa el nuevo paquete PyPI databricks-feature-lookup, que incluye mejoras de rendimiento para el servicio de modelo en línea.

databricks-feature-store 0.17.0

  • databricks-feature-store está en desuso. Todos los módulos existentes de este paquete están disponibles en databricks-feature-engineering en la versión 0.2.0 y posteriores. Para obtener más información, consulte API de Python.

Databricks-Feature-Engineering 0.2.0

  • databricks-feature-engineering ahora contiene todos los módulos de databricks-feature-store. Para obtener más información, consulte API de Python.

databricks-feature-store 0.16.3

  • Corrige el error del tiempo de espera al usar AutoML con tablas de características.

Databricks-Feature-Engineering 0.1.3

  • Pequeñas mejoras en UpgradeClient.

databricks-feature-store 0.16.2

  • Ahora puede crear puntos de conexión de característica y Function Serving. Para obtener más información, consulte Feature & Function Serving.

databricks-feature-store 0.16.1

  • Mejoras y correcciones de errores pequeños.

databricks-feature-engineering 0.1.2 y databricks-feature-store 0.16.0

  • Mejoras y correcciones de errores pequeños.
    • Se han corregido direcciones URL de linaje de trabajos incorrectas registradas con determinadas configuraciones del área de trabajo.

Databricks-Feature-Engineering 0.1.1

  • Mejoras y correcciones de errores pequeños.

databricks-feature-engineering 0.1.0

  • Versión de disponibilidad general del cliente Python del catálogo de Unity en PyPI

databricks-feature-store 0.15.1

  • Mejoras y correcciones de errores pequeños.

databricks-feature-store versión 0.15.0

  • Ahora puede deducir y registrar automáticamente un ejemplo de entrada al registrar un modelo. Para ello, establezca infer_model_example en True cuando llame a log_model. El ejemplo se basa en los datos de entrenamiento especificados en el parámetro training_set.

databricks-feature-store 0.14.2

  • Corregir error en la publicación a Aurora MySQL desde MariaDB Connector/J >=2.7.5.

databricks-feature-store 0.14.1

  • Mejoras y correcciones de errores pequeños.

databricks-feature-store 0.14.0

A partir de la 0.14.0, es necesario especificar columnas de clave de marca de tiempo en el argumento primary_keys. Las claves de marca de tiempo forman parte de las "claves principales" que identifican de forma única cada fila de la tabla de características. Al igual que otras columnas de clave principal, las columnas de clave de marca de tiempo no pueden contener valores NULL.

En el ejemplo siguiente, el DataFrame user_features_df contiene las columnas siguientes: user_id, ts, purchases_30d y is_free_trial_active.

0.14.0 y versiones posteriores

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 y versiones anteriores

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

  • Mejoras y correcciones de errores pequeños.

databricks-feature-store 0.13.0

  • La mlflow-skinny versión mínima necesaria es 2.4.0.
  • Se produce un error al crear un conjunto de entrenamiento si el elemento DataFrame proporcionado no contiene todas las claves de búsqueda necesarias.
  • Al registrar un modelo que usa tablas de características en el catálogo de Unity, se registra automáticamente una firma de MLflow con el modelo.

databricks-feature-store 0.12.0

  • Ahora puede eliminar una tienda en línea mediante la API drop_online_table.

databricks-feature-store 0.11.0

  • En áreas de trabajo habilitadas para catálogos de Unity, ahora puede publicar tablas de características del área de trabajo y catálogo de Unity en tiendas en línea de Cosmos DB. Esto requiere Databricks Runtime 13.0 ML o posterior.

databricks-feature-store 0.10.0

  • Mejoras y correcciones de errores pequeños.

databricks-feature-store 0.9.0

  • Mejoras y correcciones de errores pequeños.

databricks-feature-store 0.8.0

  • Mejoras y correcciones de errores pequeños.

databricks-feature-store 0.7.1

  • Agregue flask como una dependencia para corregir el problema de dependencia que falta al puntuar modelos con score_batch.

databricks-feature-store 0.7.0

  • Mejoras y correcciones de errores pequeños.

databricks-feature-store 0.6.1

  • Versión pública inicial del cliente de Feature Store de Databricks en PyPI.