Nota:
El acceso a esta página requiere autorización. Puede intentar iniciar sesión o cambiar directorios.
El acceso a esta página requiere autorización. Puede intentar cambiar los directorios.
Importante
Esta característica está en versión preliminar pública. Los administradores del área de trabajo pueden controlar el acceso a esta característica desde la página Vistas previas . Consulte Administrar versiones preliminares de Azure Databricks.
Después de crear las definiciones de la vista de características, que se almacenan en el catálogo de Unity, puede generar datos de características de la tabla de origen mediante las definiciones de características. Este proceso se denomina materialización de las características. Azure Databricks crea y administra canalizaciones de Lakeflow para rellenar tablas en Unity Catalog con el fin de entrenar modelos y realizar evaluaciones por lotes o servir resultados en línea.
Para obtener información sobre cómo servir vistas de características, vea Servir vistas de características.
Requisitos
- Las características se deben crear como vistas de características y almacenarse en el catálogo de Unity.
- Para conocer los requisitos de versión, consulte Requisitos.
Soporte de materialización por tipo de característica
Si una característica puede materializarse y dónde depende de su tipo:
-
ColumnSelectionlas características pueden implementarse en tiendas en línea. Consulte Materialización de ColumnSelection. - Las funciones por lotes
Lastcon unRollingWindowpueden materializarse en tiendas online. Consulta Materialize valores más recientes con límites de frescura. - Las funciones
RequestSource,FeatureViewSourceyCustomUDFno se pueden materializar. Ver Características bajo demanda y materialización.
Las funcionalidades que solo se materializan en almacenes en línea siguen siendo utilizables sin conexión: create_training_set y compute_features calculan sus valores para un momento dado directamente del origen, por lo que no es necesaria la materialización sin conexión.
Materialización de ColumnSelection
ColumnSelection las características seleccionan el valor más reciente de una sola columna por clave de entidad sin agregación. Solo pueden materializarse en tiendas en línea. En el caso de casos de uso sin conexión (inferencia por lotes y entrenamiento), ColumnSelection las características se capturan directamente de los datos de origen en el momento de la consulta, por lo que no se necesita materialización sin conexión.
Comportamiento de materialización
- La pipeline escribe la fila más reciente por clave de entidad en la tabla en línea, sin ventana de agregación.
- La materialización en línea rellena la tabla en línea con el valor más reciente actual por clave de entidad.
Ejemplo
from databricks.feature_engineering import FeatureEngineeringClient
from databricks.feature_engineering.entities import (
DeltaTableSource, Feature, ColumnSelection, TableTrigger, OnlineStoreConfig,
)
fe = FeatureEngineeringClient()
delta_source = DeltaTableSource(
catalog_name="catalog",
schema_name="schema",
table_name="transactions",
)
amount_feature = Feature(
source=delta_source,
function=ColumnSelection("amount"),
entity=["user_id"],
timeseries_column="transaction_time",
name="latest_transaction_amount",
)
# Register before materializing
amount_feature = fe.register_feature(
feature=amount_feature,
catalog_name="catalog",
schema_name="schema",
)
mfs = fe.materialize_features(
features=[amount_feature],
online_config=OnlineStoreConfig(
catalog_name="catalog",
schema_name="feats_online",
table_name_prefix="txn_",
online_store_name="lb_usw2"
),
trigger=TableTrigger(),
)
ColumnSelection las características usan TableTrigger, que ejecuta la canalización cada vez que la tabla Delta de origen recibe una nueva confirmación. No offline_config es necesario porque las características de ColumnSelection se leen directamente desde el origen para casos de uso sin conexión (entrenamiento e inferencia por lotes).
Note
RequestSource Las características no se pueden materializar porque representan los datos proporcionados por el llamador en el momento de la inferencia (o extraídos del DataFrame etiquetado en tiempo de entrenamiento). No hay ninguna tabla de origen desde la que leer. Los valores solo existen en el cuerpo de la solicitud o en el DataFrame de entrenamiento.
Materializa los valores más recientes con límites de frescura
Una agregación por lotes Last con una RollingWindow proporciona a una función online un tiempo de vida (TTL): su valor expira en la tienda online cuando no hay valor fuente dentro de la ventana. Esto es útil cuando la antigüedad de un valor determina si es seguro servirlo. Por ejemplo, se puede servir un estado de dispositivo de la última hora, mientras que un estado anterior se resuelve a nulo en lugar de permanecer disponible indefinidamente.
A RollingWindow define una duración explícita que confiere a la funcionalidad un comportamiento similar al TTL. Por ejemplo, si la fuente publica valores a diario y quieres conservar solo los valores de los últimos siete días, usa a RollingWindow con una duración de siete días. En cada activación, la materialización realiza una sustitución completa de la tabla en línea, por lo que los valores que quedan fuera de la ventana se eliminan según una programación predecible. Esto produce el mismo resultado que una transmisión Last con un RollingWindow, pero cuesta menos porque no ejecuta procesamiento de forma continua.
Este patrón de publicación es similar a una tabla de características con un TTL que se publica en modo instantánea. Si mantienes un conjunto de tablas de características y quieres usarlas junto con otras Vistas de Características, puedes adaptarlas al framework de creación de Vistas de Características. Usa un lote Last con un RollingWindow y un TableTrigger.
Esta combinación cuenta con un modo especial de materialización solo online con los siguientes requisitos:
- La fuente debe ser de tipo
DeltaTableSource. - La función de agregación debe ser
Last, y su ventana debe ser unRollingWindow. - La materialización debe proporcionar un
OnlineStoreConfig, omitirOfflineStoreConfig, y usarTableTrigger.
En el siguiente ejemplo, latest_device_state_1h hay una Característica registrada que cumple estos requisitos:
from databricks.feature_engineering import FeatureEngineeringClient
from databricks.feature_engineering.entities import OnlineStoreConfig, TableTrigger
fe = FeatureEngineeringClient()
materialized = fe.materialize_features(
features=[latest_device_state_1h],
online_config=OnlineStoreConfig(
catalog_name="main",
schema_name="feature_store",
table_name_prefix="latest_device_state_serving",
online_store_name="device_state_store",
),
trigger=TableTrigger(),
)
Para el entrenamiento sin conexión y la calificación por lotes, el cliente de ingeniería de variables calcula directamente de la fuente el valor correspondiente a un momento dado. No detecta una materialización offline para esta función.
Considerations
- La expiración solo avanza con una activación. El valor en línea y su vencimiento avanzan cuando un commit de la tabla de origen desencadena una actualización de la materialización. El paso del tiempo por sí solo no provoca una actualización. Si el código fuente deja de publicarse, el último valor materializado permanece en la tienda online hasta que un commit posterior desencadena una actualización.
- Alinea la columna de la serie temporal con la hora de publicación de la fuente. La columna de la serie temporal debe reflejar cuándo publicó los datos la fuente. En caso contrario, los valores en línea y offline divergen, porque el almacén en línea realiza la unión en el momento del desencadenador, mientras que las lecturas offline la realizan en el momento de la serie temporal.
- Establece la duración de la ventana a múltiplo de la cadencia de publicación. Si la duración de
RollingWindowno es un múltiplo de la frecuencia de publicación de origen, algunos valores se consideran caducados durante el entrenamiento sin conexión, aunque siguen siendo visibles en línea.
Funciones bajo demanda y materialización
RequestSource los valores provienen del DataFrame de entrenamiento o de la solicitud de inferencia, por lo que no hay una tabla de origen que se materialice.
FeatureViewSource Las funciones aplican un CustomUDF a los valores de las funciones de origen durante el entrenamiento o la publicación. No almacenan un resultado precomputado. Tampoco se admite la materialización para las características de CustomUDF basadas en una tabla Delta.
Para un grafo de dependencias como revenue_sum_7d y cost_sum_7d que alimenta una margin característica:
- Para la formación sin conexión, llama a
create_training_setconmargin. Resuelve las funcionalidades de origen y calcula valores en un momento dado, utilizando materializaciones sin conexión compatibles cuando están disponibles. - Para el servicio online, integra las características de ingresos y costes soportadas a una tienda online. El endpoint los busca y calcula
marginpara cada solicitud. - Pasa solo las funcionalidades upstream compatibles a
materialize_features, no amarginni a ninguna funcionalidad respaldada por solicitudes. La materialización no materializa recursivamente las dependencias de una característica derivada.
Un gráfico que solo utiliza funciones respaldadas por peticiones no necesita una tienda online. Consulte Entrenar con características de FeatureViewSource y Servir características derivadas.
Permissions
La materialización requiere privilegios sobre la característica y sobre los recursos de origen y destino. Para las descripciones completas de privilegios del Catálogo de Unity, consulte la referencia de privilegios del Catálogo de Unity.
La materialización de una característica requiere
MANAGE. Llamar amaterialize_featurescrea y gestiona las canalizaciones de Lakeflow y las tablas de Unity Catalog subyacentes, por lo que es una operación de gestión. Debe contar conMANAGEen la funcionalidad, junto conREAD FEATUREpara leer la definición de la funcionalidad que se va a materializar.Eliminar una característica materializada está restringido a su creador. Solo el usuario que ha creado una función materializada puede eliminarla con
delete_materialized_feature. Esta restricción es independiente de los privilegios del Catálogo de Unity:MANAGEen la característica o en su esquema padre no permite que otro usuario la elimine.Leer datos fuente requiere
SELECT. Para una función que usa una tabla Delta como origen, debes tenerSELECTen la tabla de origen. Para una característica que usa un origen de datos de Stream, debes tenerSELECTen la tabla de ingesta del Stream.Para otros permisos requeridos por la configuración de autenticación de un Stream, véase autenticación Kafka.
Crear tablas de destino requiere
CREATE TABLE. Debes tenerCREATE TABLEen cada esquema especificado porOfflineStoreConfigoOnlineStoreConfig. Los destinos offline y online pueden estar en esquemas o catálogos diferentes, y la materialización requiere privilegios en cada destino.Para materializarse en una tienda online se requiere
CAN USE. Debes tenerCAN USEen la instancia o proyecto de Lakebase que usa la tienda online. Para información sobre los permisos de Lakebase, consulte Conceder permisos de proyecto.Para listar características materializadas, se requiere
READ FEATUREen la característica principal. Para usarlist_materialized_features, debes disponer deREAD FEATUREen la función que se materializó.La lectura de datos materializados requiere
SELECT. Debes tenerSELECTen cada tabla de salida sin conexión o en línea a la que accedas.READ FEATUREen la función principal no se concede acceso a estas tablas.
Para cada recurso de Unity Catalog implicado en la materialización, también necesitas USE CATALOG en su catálogo principal y USE SCHEMA en su esquema principal. Este requisito se aplica a la característica, a cada fuente o tabla de ingestión de Stream, y a cada destino configurado.
READ FEATURE y MANAGE que se conceden sobre un esquema o catálogo se aplican a todos los objetos actuales y futuros que contiene.
Estructuras de datos de API
OfflineStoreConfig
Configuración del almacén offline donde se escribirán las funcionalidades concretas. Cuando materialize_features se llama, el backend del almacén de características crea tablas con este prefijo. Cada ejecución del flujo de trabajo materializa los valores más recientes de las características en la tabla según el cronograma de materialización.
OfflineStoreConfig(
catalog_name: str, # Catalog name for the offline table where materialized features will be stored
schema_name: str, # Schema name for the offline table
table_name_prefix: str # Table name prefix for the offline table. The pipeline may create multiple tables with this prefix, each updated at different cadences
)
from databricks.feature_engineering.entities import OfflineStoreConfig
offline_store = OfflineStoreConfig(
catalog_name="main",
schema_name="feature_store",
table_name_prefix="customer_features"
)
OnlineStoreConfig
Configuración de la tienda en línea, que almacena las características usadas por el servicio de modelos. La materialización crea tablas Delta con el catalog.schema.table_name_prefix y transmite las tablas al almacén de características en línea con el mismo nombre.
from databricks.feature_engineering.entities import OnlineStoreConfig
online_store = OnlineStoreConfig(
catalog_name="main",
schema_name="feature_store",
table_name_prefix="customer_features_serving",
online_store_name="customer_features_store"
)
MaterializedFeature
Representa una vista de características que se ha materializado, es decir, que tiene una representación precomputada disponible en el catálogo de Unity. Hay características materializadas independientes para la tabla sin conexión y la tabla en línea. Normalmente, los usuarios no instanciarán un MaterializedFeature directamente.
Llamadas a funciones de API
materialize_features()
Materializa una lista de Feature Views en una tabla Delta offline o en un Online Feature Store. Las características deben registrarse en el Catálogo de Unity antes de llamar a esta función (por ejemplo, mediante create_feature o register_feature). Las características construidas localmente que no se han registrado no funcionarán.
FeatureEngineeringClient.materialize_features(
*, # Arguments are keyword-only
features: List[Feature], # List of Feature Views to materialize
offline_config: Optional[OfflineStoreConfig] = None, # Offline store config (aggregation features only)
online_config: Optional[OnlineStoreConfig] = None, # Online store config
trigger: Union[CronSchedule, TableTrigger, StreamingMode], # Materialization trigger
tags: Optional[Dict[str, str]] = None, # Custom tags for cost attribution
budget_policy_id: Optional[str] = None, # Serverless usage policy for cost attribution
) -> List[MaterializedFeature]:
El método devuelve una lista de características materializadas, que contienen metadatos sobre cuándo se actualizan los valores de características y las tablas del catálogo de Unity donde se materializan las características.
Si se proporcionan tanto un OnlineStoreConfig como un OfflineStoreConfig, se devuelven dos características materializadas por cada característica proporcionada, una para cada tipo de almacén.
El trigger parámetro controla cuándo se ejecuta la pipeline de materialización:
-
CronSchedule: Se ejecuta según una programación derivada de la temporización de la característica o según una programación cron de Quartz proporcionada por el llamante. Compatible con funciones de agregación por lotes (AggregationFunctiondeDeltaTableSource). -
TableTrigger: se ejecuta cuando la tabla Delta ascendente recibe una confirmación. Compatible con funcionesColumnSelectiony funciones de agregación (AggregationFunction) respaldadas por unDeltaTableSource. En el caso de las características de agregación, la canalización se limita para que se ejecute como máximo una vez por cada mitad de la granularidad de la característica (la duración de la diapositiva para una ventana deslizante o la longitud de la ventana para una ventana rodante), con un límite máximo de 1 hora y nunca con una frecuencia superior a cada 5 minutos. Por ejemplo, como máximo una vez cada 30 minutos para una granularidad de 1 hora, o como mucho una vez por hora para una granularidad de 2 horas o más. El intervalo se mide a partir de la ejecución anterior, por lo que un commit que llega después de que haya transcurrido dicho intervalo sigue desencadenando una ejecución de inmediato. -
StreamingMode: se ejecuta como una pipeline de streaming continua. Necesario para las características respaldadas por unStreamSource.
No se pueden combinar características que requieran diferentes tipos de desencadenador en una sola materialize_features llamada. Emita llamadas independientes en su lugar.
Para atribuir el coste de una materialización, pase tags, budget_policy_id o ambos. Azure Databricks los aplica a la tarea o canalización que crea, por lo que su gasto incluye su atribución en la tabla del sistema de uso facturable. Ambos se aplican en la creación, por lo que atribuir una materialización existente de forma diferente significa crear una nueva.
budget_policy_id toma el ID de una política de uso sin servidor. Para crear uno y obtener su ID, consulta Crear una política de uso sin servidor. Para los límites de etiquetas, los recursos a los que llega cada valor y cómo consultar el gasto atribuido, véase Gestión de costes de la Feature Store.
Materializar en el almacén sin conexión
from databricks.feature_engineering import FeatureEngineeringClient
from databricks.feature_engineering.entities import (
CronSchedule, OfflineStoreConfig,
)
fe = FeatureEngineeringClient()
materialized = fe.materialize_features(
features=features,
offline_config=OfflineStoreConfig(
catalog_name="main",
schema_name="feature_store",
table_name_prefix="customer_features"
),
trigger=CronSchedule(
quartz_cron_expression="0 0 * * * ?", # Hourly
timezone_id="UTC",
),
)
Materializar en el almacén en línea
Note
Para materializar la mayoría de las funciones de agregación en una tienda online, también debes trasladarte a una tienda presencial. Ambos offline_config y online_config son necesarios.
online_store_name debe hacer referencia a una tienda de características en línea existente. Para obtener instrucciones sobre cómo crear una, consulte Databricks Online Feature Stores.
ColumnSelection Las características no requieren un OfflineStoreConfig. Consulte Materialización de ColumnSelection.
El lote Last con el caso especial RollingWindow también solo está disponible en línea. Consulta Materialize valores más recientes con límites de frescura.
from databricks.feature_engineering import FeatureEngineeringClient
from databricks.feature_engineering.entities import (
CronSchedule, OfflineStoreConfig, OnlineStoreConfig,
)
fe = FeatureEngineeringClient()
materialized = fe.materialize_features(
features=features,
offline_config=OfflineStoreConfig(
catalog_name="main",
schema_name="feature_store",
table_name_prefix="customer_features"
),
online_config=OnlineStoreConfig(
catalog_name="main",
schema_name="feature_store",
table_name_prefix="customer_features_serving",
online_store_name="customer_features_store"
),
trigger=CronSchedule(
quartz_cron_expression="0 0 * * * ?", # Hourly
timezone_id="UTC",
),
)
Materializar funciones de streaming
Las características de streaming solo se pueden materializar en tiendas en línea; no se admite el offline_config parámetro . No se admite la materialización en modo sin conexión, ya que las funciones de streaming requieren una pipeline en tiempo real para garantizar una actualización en menos de un segundo. Para el entrenamiento o la evaluación sin conexión, el cliente de ingeniería de características volverá a calcular los valores de características en función de cada punto de datos evaluado.
Las características de streaming no se pueden mezclar con características por lotes en la misma materialize_features llamada.
from databricks.feature_engineering import FeatureEngineeringClient
from databricks.feature_engineering.entities import (
OnlineStoreConfig, StreamingMode,
)
fe = FeatureEngineeringClient()
materialized = fe.materialize_features(
features=[streaming_feature],
online_config=OnlineStoreConfig(
catalog_name="my_catalog",
schema_name="my_schema",
table_name_prefix="streaming_features_serving",
online_store_name="feature_store_online"
),
trigger=StreamingMode(),
)
list_materialized_features()
Devuelve las materializaciones de una sola característica, identificadas por su nombre completo.
feature_name es obligatorio y solo palabra clave. Para revisar las materializaciones de varias características, primero enumere las características de un catálogo o de un esquema y, a continuación, llame a list_materialized_features para cada característica devuelta.
De forma predeterminada, se devuelve un máximo de 100 materializaciones. Puede cambiar este límite mediante el max_results parámetro .
FeatureEngineeringClient.list_materialized_features(
*, # Arguments are keyword-only
feature_name: str, # Required: full name of the feature whose materializations to list
max_results: int = 100, # Maximum number of materializations to return
) -> List[MaterializedFeature]:
delete_materialized_feature()
Antes de eliminar una característica materializada, quite o actualice los modelos o especificaciones de características que hacen referencia a la característica.
Elimina una característica materializada. La funcionalidad que se va a transferir depende del tipo de funcionalidad.
-
Características de agregación: pase la función materializada fuera de línea. Si hay una característica materializada en línea para la misma característica, se eliminan ambos. Para una función de lote
Lastsolo online con unRollingWindow, pasa la función materializada en línea. -
ColumnSelectioncaracterísticas: pase la característica materializada en línea.ColumnSelectionLas funciones solo se materializan en la tienda en línea (consulta Materialización de ColumnSelection), por lo que no existe una función equivalente para el modo sin conexión.
Como parte de la materialización, las características se agrupan mediante el origen de datos y la ventana de agregación para mejorar la eficacia.
ColumnSelection las características no tienen ninguna ventana de agregación, por lo que solo se agrupan por origen de datos. La pipeline de materialización, la tabla sin conexión y la tabla en línea no se eliminan hasta que se hayan eliminado todas las características agrupadas. Cuando se elimina la última característica materializada de un grupo, el almacén de características programa los recursos asociados para la limpieza automática por un proceso en segundo plano. Consulte Limpieza de recursos en segundo plano.
Para limpiar las características materializadas, examine la tabla asociada a una característica materializada. Cada característica de la tabla (una por columna) debe eliminarse antes del cálculo y de que se limpien los recursos de la tabla Delta.
Utilice list_materialized_features() para obtener el argumento materialized_feature.
FeatureEngineeringClient.delete_materialized_feature(
materialized_feature: MaterializedFeature, # Required: The materialized feature to delete
) -> None
from databricks.feature_engineering import FeatureEngineeringClient
fe = FeatureEngineeringClient()
feature_names = [
"main.feature_store.amount_sum_sliding_7d_1d",
"main.feature_store.amount_sum_sliding_30d_1d",
"main.feature_store.transaction_count_sliding_7d_1d",
"main.feature_store.latest_transaction_amount",
"main.feature_store.latest_user_tier",
]
for name in feature_names:
mfs = fe.list_materialized_features(feature_name=name) # required, keyword-only
offline = [mf for mf in mfs if not mf.is_online]
for mf in (offline or mfs):
fe.delete_materialized_feature(materialized_feature=mf)
fe.delete_feature(full_name=name)
Limpieza de recursos en segundo plano
Al eliminar una característica materializada, Databricks quita los metadatos de la característica inmediatamente. La infraestructura asociada (tablas, pipelines y trabajos) se limpia de forma asincrónica mediante un proceso en segundo plano.
Dado que varias características materializadas pueden compartir las mismas tablas y canalizaciones, estos recursos compartidos no se quitan hasta que se eliminen todas las características materializadas a las que se hace referencia. Cuando se elimina la última característica materializada que comparte un conjunto de tablas, el proceso en segundo plano elimina automáticamente los siguientes recursos:
- Las tablas Delta sin conexión que contienen los datos de características materializados
- Las tablas en línea, si las características se materializaron en una tienda en línea
- Canal de materialización
- El trabajo de orquestación
Este proceso en segundo plano utiliza una entidad de servicio del sistema administrada por Databricks para llevar a cabo estas acciones de limpieza en su nombre, incluida la eliminación de tablas, canalizaciones y trabajos en su espacio de trabajo. No se requiere ninguna acción de usted. La limpieza está gestionada por completo por el feature store.
Note
Puede haber un breve retraso entre eliminar la última característica materializada de un grupo y la eliminación de las tablas asociadas y otros recursos.
Visualización del estado de materialización
Para ver el estado de materialización de sus vistas de características en la interfaz de usuario de Databricks y depurar errores de materialización, consulte Explorar vistas de características en Unity Catalog.
Limitaciones
Características de Batch
- Las canalizaciones de materialización por lotes se ejecutan como canalizaciones de Lakeflow sin servidor.
- Las características de ventanas deslizantes por lotes no se pueden materializar, salvo en el caso especial exclusivo de online
Lastdescrito en Materializar los valores más recientes limitados por frescura. Para el entrenamiento sin conexión o la inferencia por lotes, las características de ventana móvil se calculan a partir de los datos de origen para cada consulta puntual en el tiempo. -
ColumnSelectionlas características solo pueden implementarse en tiendas en línea. - Las funciones
RequestSource,FeatureViewSourceyCustomUDFno se pueden materializar. Ver Características bajo demanda y materialización. - Las características materializadas solo se pueden eliminar en el área de trabajo en la que se crearon.
- Solo el usuario que creó una característica materializada puede eliminarla, independientemente de los privilegios del Catálogo de Unity sobre la característica o su esquema principal.
- Para las características de agregación materializadas, la característica materializada en línea no se puede eliminar directamente. Elimine la característica materializada sin conexión emparejada y el cambio se propaga a ambos.
- Para las características de agregación materializadas creadas antes del 20 de abril de 2026, la pipeline de materialización continúa produciendo nuevos valores de características hasta que se hayan eliminado todas las características materializadas de la pipeline, lo que desencadena la limpieza de recursos. Para crear una pipeline actualizada que admita la eliminación por característica, elimine y vuelva a materializar la característica.
- En el caso de las
ColumnSelectioncaracterísticas materializadas, el canal de materialización sigue generando nuevos valores de características hasta que se hayan eliminado todas las características materializadas del canal, lo que activa la limpieza de recursos.
Características de streaming
- Las características de streaming solo se pueden materializar en tiendas en línea. La materialización offline no es necesaria porque las features en streaming durante el entrenamiento están diseñadas para recalcularse a partir de eventos históricos para cada punto de datos y proporcionar una precisión del orden de milisegundos.
- Las características de streaming no se pueden mezclar con características por lotes en una sola
materialize_featuresllamada. -
compute_featuresno admite características de streaming. - El área de trabajo debe estar en una región que admita instancias de Lakebase.
- Solo se admiten los mensajes de Kafka serializados por JSON. Los esquemas de mensaje deben proporcionarse directamente en formato de esquema JSON. Los registros de esquemas (Confluent, Glue) no se admiten formalmente en la versión preliminar, pero, si se proporciona el esquema directamente, las canalizaciones pueden leer de temas administrados por un registro de esquemas.
- Solo
RollingWindowse admite para las características de agregación de streaming.TumblingWindowySlidingWindowdeben usarse con características por lotes. - Solo se admiten las funciones de agregación
Count,Avg,Sum,FirstDistinct,First,StddevPop,Min,LastDistinct,Max,Last,FirstNyLastNpara las características de streaming. - Las funciones de selección de columnas de los orígenes de datos de streaming no admiten mensajes fuera de orden. Se muestra el evento más reciente en la secuencia de Kafka, incluso si el valor de la columna timeseries es anterior a un evento recibido anteriormente.
- Las canalizaciones de streaming se reinician dos veces a la semana. Cada reinicio puede provocar retrasos de procesamiento y tiempos de inicio de hasta 1 minuto. Excluyendo los reinicios, la actualización de p99 es de 200 ms.
- No se admite la incorporación retroactiva de características para la materialización. Cuando se materializa una característica, se calcula a partir de ese punto hacia adelante. Las agregaciones recién creadas en la tienda en línea son inexactas hasta que haya transcurrido su período de tiempo.
- Solo se admite Databricks Online Feature Store.
- Los flujos de trabajo de materialización en streaming se ejecutan como flujos de trabajo de Lakeflow sin servidor.
- Solo áreas de trabajo de nivel Empresarial.